Académique Documents
Professionnel Documents
Culture Documents
Mao PDF
Mao PDF
MODELE SI
, ALGORITMI
DE OPTIMIZARE
Matematica
Editura AGIR
Seria Matematic
MODELE I ALGORITMI
DE OPTIMIZARE
Romic Trandafir
MODELE I ALGORITMI
DE OPTIMIZARE
Seria Matematic
Editura AGIR
Bucureti, 2004
Refereni tiinifici:
prof. univ. dr. Ion Vduva;
prof. univ. dr. tefan Mititelu
PREFA
CUPRINS
1. Introducere .....................................................................................................................11
1.1. Obiectul optimizrii ..................................................................................................11
1.1.1. Construcia modelului.....................................................................................11
1.1.2. Concepte de baz n modelare ........................................................................12
1.2. Tipuri de probleme ...................................................................................................14
1.2.1. Dimensiunea problemelor...............................................................................16
1.2.2. Algoritmi iterativi i convergen ...................................................................16
2. Grafuri n optimizare.....................................................................................................17
2.1. Definiii i algoritmi..................................................................................................17
2.1.1. Grafuri orientate..............................................................................................17
2.1.2. Grafuri neorientate..........................................................................................19
2.2. Cutarea unui arbore de acoperire de lungime minim ............................................20
2.2.1. Algoritmul lui Kruskal....................................................................................21
2.2.2. Algoritmul lui Prim.........................................................................................22
2.3. Algoritmul lui Dijkstra .............................................................................................25
2.4. Metoda PERT ...........................................................................................................29
2.5. Probleme propuse .....................................................................................................35
3. Programare convex ......................................................................................................43
3.1. Mulimi i funcii convexe........................................................................................43
3.2. Extreme condiionate ................................................................................................45
3.2.1. Cazul restriciilor egaliti...............................................................................48
3.2.2. Cazul restriciilor inegaliti ...........................................................................49
4. Programare liniar ........................................................................................................51
4.1. Exemple de probleme de programare liniar ............................................................51
4.1.1. Utilizarea optim a resurselor .........................................................................51
4.1.2. Problema de transport .....................................................................................52
4.1.3. Alocarea optim a fondurilor financiare .........................................................54
4.1.4. Gestionarea optim a unui depozit..................................................................54
4.1.5. Problema dietei ...............................................................................................55
4.2. Diferite forme ale problemelor de programare liniar ..............................................56
4.3. Algoritmul simplex ...................................................................................................57
4.4. Fundamentele algoritmului simplex .........................................................................59
4.5. Enunul algoritmului simplex ...................................................................................62
4.6. Tabelul simplex i transformarea sa .........................................................................63
4.7. Exemplu....................................................................................................................65
4.8. Convergena algoritmului simplex. Degenerare i ciclare ........................................72
4.9. Interpretarea geometric a algoritmului simplex ......................................................74
4.10. Interpretarea economic a algoritmului simplex.....................................................76
4.11. Metoda celor dou faze...........................................................................................77
4.12. Dualitatea n programarea liniar............................................................................82
4.13. Teorema fundamental a dualitii..........................................................................84
5. Problema de transport.................................................................................................102
5.1. Fundamentele algoritmului de transport .................................................................102
5.2. Enunul algoritmului de transport ...........................................................................107
5.3. Determinarea soluiei iniiale de baz.....................................................................108
5.4. Exemplu..................................................................................................................109
5.5. Problema atribuirii sarcinilor ..................................................................................119
5.6. Probleme propuse ...................................................................................................119
6. Programare ptratic ..................................................................................................122
6.1. Exemple de probleme care conduc la programare ptratic ......................................122
6.1.1. Utilizarea optim a resurselor .......................................................................122
6.1.2. Problema investiiei ......................................................................................123
6.1.3. Regresii liniare..............................................................................................123
6.2. Definiii. Proprieti................................................................................................124
6.3. Fundamentarea algoritmului lui Wolfe...................................................................127
6.4. Forma scurt a algoritmului lui Wolfe....................................................................132
6.5. Probleme propuse ...................................................................................................141
7. Programare dinamic ..................................................................................................143
7.1. Generaliti .............................................................................................................143
7.2. Analiza retrospectiv ..............................................................................................146
7.2.1. Rezolvarea n cazul aditiv.............................................................................147
7.2.2. Problema repartiiei investiiilor ...................................................................148
7.2.3. Problema gestiunii stocului...........................................................................152
7.2.4. Problema alocrii optime a resurselor...........................................................155
7.3. Probleme propuse ...................................................................................................157
8. Elemente de teoria ateptrii.......................................................................................161
8.1. Introducere n teoria ateptrii ................................................................................161
8.2. Caracterizarea procesului N(t) ca proces de natere i deces..................................162
8.3. Modelul Po()/Exp()/1:(,FIFO)........................................................................165
8.4. Modelul Po()/Exp()/1:(m, FIFO).......................................................................170
8.5. Modelul Po()/Exp()/c:(, FIFO) ........................................................................174
8.6. Modelul P0()/Exp()/c:(m,FIFO).........................................................................180
8.7. Simulare..................................................................................................................185
8.8. Probleme propuse ...................................................................................................188
9. Elemente de teoria stocurilor ......................................................................................194
9.1. Introducere n teoria stocurilor ...............................................................................194
9.1.1. Punerea problemei ........................................................................................194
9.1.2. Concepte utilizate n teoria stocurilor ...........................................................195
9.2. Modelul clasic al lotului economic .........................................................................199
9.3. Modelul clasic al lipsei de stoc ...............................................................................204
Cuprins
10
1. INTRODUCERE
12
1.Introducere
13
14
(1.1)
g i ( x) = 0 i E
g ( x) 0 i I
i
1.Introducere
15
max f ( x ) = min{ f ( x )} ,
problema de maximizare devine o problem de minimizare, aa c n continuare se
vor considera numai probleme de minimizare.
Dac toate funciile gi(x) care dau restriciile sunt liniare i funcia obiectiv
este liniar, problema (1.1) se numeste problem de programare liniar, iar dac
funcia obiectiv este ptratic atunci problema (1.1) se numete problem de
programare ptratic.
Programarea liniar permite rezolvarea unei game largi de probleme cu un efort
redus. Popularitatea programrii liniare se datoreaz n principal etapei de
formulare, i nu celei de rezolvare numeric, deoarece multe dintre restriciile i
obiectivele care apar n practic sunt liniare prin definiie.
Optimizarea sistemelor reale cu evoluie n etape constituie obiectul
programrii dinamice, care are la baz pricipiul de optimalitate al lui Bellman
(Kaufmann, II, 1967), care poate fi exprimat astfel: Orice politic optim nu poate
fi alctuit dect din subpolitici optime.
Fenomenele de ateptare se optimizeaz cu modele de ateptare care dau
informaii asupra organizrii sistemului n vederea reducerii timpilor de ateptare n
sistem, a reducerii cheltuielilor de funcionare a sistemului de ateptare etc.
Asigurarea unui regim optim de funcionare a unui proces de producie sau
aprovizionarea optim cu anume sortimente a cererilor pieei se realizeaz cu
ajutorul modelelor de stocare.
Ca o aplicaie practic a teoriei grafurilor este prezentat organizarea i
planificarea proiectelor complexe i stabilirea duratei minime de realizare a acestora.
Toate aceste modele fac obiectul acestei lucrri, fiind prezentate soluiile
modelelor, exemple practice rezolvate fie manual, fie cu ajutorul Solver-ului din
EXCEL, fie cu ajutorul pachetului de programe specializat n rezolvarea
problemelor de optimizare, Management Scientist (MS), fie cu ajutorul pachetului
de programe MathCAD.
16
2. GRAFURI N OPTIMIZARE
2.1. Definiii i algoritmi
18
2. Grafuri n optimizare
19
( x, y ) U
atrage
( y, x ) U ,
se
Definiia 2.12. Un graf neorientat, G=(X, U), se numete graf complet dac
pentru ( )x, y X avem ( x, y ) U .
Definiia 2.13. ntr-un graf neorientat, G=(X,U), se numete lan o mulime de
vrfuri
L = x1 ,..., xk xi X , i = 1, k
20
Definiia 2.14. Un graf G=(X,U) se numete simplu conex sau conex dac pentru
orice pereche de vrfuri x, y X exist un lan de extremiti x i y .
Definiia 2.15. Se numete ciclu ntr-un graf
L = x1 ,..., xk xi X , i = 1, k
1,
} cu proprietatea c x =x
1
G=(X,U),
un lan
Definiia 2.16. Se numete ponderea unui lan, drum, ciclu sau circuit valoarea
P=
l ( x, y ) .
( x , y )( x1 , x 2 ,..., x n )
De exemplu, n cadrul metodei PERT, ponderea unui drum este durata sa total.
Definiia 2.17. Un lan, drum, ciclu sau circuit se numete hamiltonian dac el
trece o dat i numai o dat prin toate vrfurile grafului. Un lan, drum, ciclu sau
circuit se numete eulerian dac el trece o dat i numai o dat prin toate arcele
grafului.
Definiia 2.18. Un arbore este un graf conex i fr cicluri.
Se disting la un arbore dou tipuri de vrfuri : vrfuri la care mai multe muchii
sunt incidente i alte vrfuri la care o singur muchie este incident. Acestea din
urm se numesc vrfuri pendante sau frunze.
Fie G=(X, U, l) un graf conex (ipotez necesar pentru a asigura existena cel
n = X (numrul
puin a unui arbore) ponderat neorientat. S notm cu
elementelor lui X). Se pune problema gsirii arborelui de acoperire de lungime
minim, adic, folosind arce ale grafului s se lege ntre ele toate nodurile astfel
nct lungimea total a arcelor folosite (suma ponderilor) s fie minim. O astfel de
problem apare n proiectarea reelelor de comunicaii, unde obiectivul este s se
minimizeze lungimea cablului necesar conectrii tuturor nodurilor care trebuie s
comunice ntre ele, n proiectarea reelelor de drumuri, benzi rulante, sisteme de
canalizare etc. n continuare sunt prezentai doi algoritmi care rezolv aceast
problem.
2. Grafuri n optimizare
21
Demonstrm prin absurd c Vn1 este arborele minim cutat (HenryLabordere, 1995). Fie VVn1 arborele minim i s presupunem c are cele n1
muchii ordonate astfel nct lungimile lor sunt n ordine cresctoare la fel ca i cele
ale lui Vn1 i c uk este prima muchie a lui V care nu este n Vn1 .
Vn1
v1
v2
vk1
vk
vk+1
vp
vn
Vn
v1
v2
vk1
uk
uk+1
up
un
l(v1)<l(v2)<< l(vk1)
V vk conine un singur ciclu (graful este conex i dac se adaug o muchie el
va conine un singur ciclu i numai unul). Acest ciclu conine cel puin o muchie
up Vk1 . Din construcia lui Vk , vk nu creeaz un ciclu cu Vk1. Deoarece lista
muchiilor lui V este ordonat cresctor dup lungimile muchiilor l(uk)l(up),
avem de asemenea l(vk)<l(uk) deoarece vkuk, i atunci l(vk)<l(up). Graful Vvk
up are n1 muchii i este fr cicluri deoarece suprimarea lui up nltur singurul
ciclu al lui Vvk . Acesta este, aadar, un arbore i lungimea sa este inferioar
aceleia a lui V , ceea ce contrazice faptul c VVn1 este arborele de lungime
minim. Rezult astfel c Vn1 este arborele minim.
Exemplu. Fie G=(X, U, l) un graf conex ponderat neorientat, ca n Figura 2.2,
X = 5 i U = 7 . Pe arce sunt trecute ponderile. S se construiasc un arbore de
acoperire de lungime (pondere) minim, folosind algoritmul lui Kruskal.
22
16
16
15
14
19
17
3
10
18
4
15
14
10
5
Figura 2.2
Figura 2.3
Pas 2. k=2. Se alege din U-V1, v2=[2,5], muchia cu cea mai mic pondere
( l[2,5] = min {l (v)} ) i care adugat la V1 s nu formeze cicluri. Se obine
vU V1
V2={[3,4]; [2,5]}.
k=3. Se alege din U-V2, v3=[1,3], muchia cu cea mai mic pondere
( l[1,3] = min { l (v)} ) i care adugat la V2 s nu formeze cicluri. Se obine
vU V2
2. Grafuri n optimizare
23
i =
pentru i = 1, n .
Algoritmul Prim
Pas 1. Se iniializeaz cu 0 cei trei vectori. Se d nodul de start s ( 1 s n ) i
s = 1 ; A={ s } arborele parial.
Pas 2. Repet
Determin muchia [i,j], cu ponderea minim, care are o extremitate n
arborele parial, i A i cealalt j X A . Atunci j = 1 , pj=i i
cj=l([i,j]) .
pn cnd i = 1 () i = 1, n .
Pas 3. Arborele de acoperire de lungime minim este dat de muchiile [pi,i] , iar
n
1
1
2
0
3
0
4
0
5
0
p
c
0
0
0
0
0
0
0
0
0
0
Pas 2.
Iteraia I: min{l([1,2]), l([1,3]), l([1,4])}= l([1,3])=15
nodul
1
1
2
0
3
1
4
0
5
0
p
c
0
0
0
0
1
15
0
0
0
0
24
1
1
0
0
p
c
2
0
0
0
3
1
1
15
4
1
3
10
5
0
0
0
1
1
0
0
p
c
2
1
1
16
3
1
1
15
4
1
3
10
5
0
0
0
p
c
1
1
0
0
2
1
1
16
3
1
1
15
4
1
3
10
5
1
2
14
Figura 2.4
2. Grafuri n optimizare
25
Figura 2.5
Figura 2.6
26
vrfurilor pentru care se calculeaz . Atunci, (x) = {lungimea celui mai scurt
drum de la s la x , care are toate vrfurile n S cu excepia lui x }. Se noteaz cu
+ (x) = {mulimea arcelor care pornesc din nodul x}, iar cu (x) = { mulimea
arcelor care intr n nodul x}. Dac graful este neorientat + (x) = ( x) = ( x) =
mulimea arcelor incidente n nodul x.
Algoritmul Dijkstra
Pas 1. {Iniializri}
S :={s} ; s nodul de start, (s) :=0 ;
Pentru orice x X S dac x (s ) atunci (x) :=l(s,x) altfel
(x) :=+ ;
Pas 2. {Iteraia curent}
Repet
Determin y X S astfel nct (y) = min (z) ;
zS
4
1
4
2
Figura
7
1
2. Grafuri n optimizare
27
1
0
2
1
4
4
Pas 2.
Iteraia I . { ( y )} = min { ( z )} = min{(2), (3), (4), (5), (6), (7)} = (2) ,
z X S
1
0
2
1
3
5
4
3
Iteraia a II-a
( y ) = min { ( z )} = min{(3), (4), (5), (6), (7)} = (4) , y=4,
zX S
S={1,2,4},
(4) = {1,2,3,5,6} .
(3)=min{(3), (4)+l([3,4])}=min{5,3+5}=5
(5)=min{(5), (4)+l([4,5])}=min{,3+2}=5
(6)=min{(6), (4)+l([4,6])}=min{,3+9}=12
y
(y)
1
0
2
1
3
5
4
3
5
5
6
12
Iteraia a III-a
{( y )} = min {( z )} = min{(3), (5), (6), (7)} = (3) , y=3, S={1,2,3,4},
zX S
(3) = {2,4,5,6} .
(5)=min{(5), (3)+l([3,5])}=min{5,5+2}=5
(6)=min{(6), (3)+l([3,6])}=min{12,5+3}=8
y
(y)
1
0
2
1
3
5
4
3
5
5
6
8
Iteraia a IV-a
{( y)} = min {( z )} = min{(5), (6), (7)} = (5) , y=5, S={1,2,3,4,5},
z X S
(5) = {3,4,6,7} .
(6)=min{(6), (5)+l([5,6])}=min{8,5+6}=8
(7)=min{(7), (5)+l([5,7])}=min{,5+7}=12
y
(y)
1
0
2
1
3
5
4
3
5
5
6
8
7
12
28
Iteraia a V-a
{( y)} = zmin
{( z )} = min{(6), (7)} = (6) , y=6,
X S
S={1,2,3,4,5,6},
(6) = {3,4,5,7} .
(7)=min{(7), (6)+l([6,7])}=min{12,8+1}=9
y
(y)
Iteraia a VI-a
{( y)} = zmin
{( z )} = min{(7)} = (7) , y=7,
X S
S={1,2,3,4,5,6,7},
Figura 2.8
2. Grafuri n optimizare
29
Figura 2.9
Rezultatele sunt afiate dup selectarea din meniul Solution a opiunii Solve
(Figura 2.10).
Figura 2.10
30
Sunt necesare dou tipuri de informaii pentru fiecare activitate din proiect:
a) succesiunea activitilor care preced o activitate,
b) timpul necesar realizrii activitii, care poate fi determinist sau aleatoriu.
Diagrama activitilor este reprezentarea grafic a ntregului proiect (graf
orientat valuat). Activitile sunt arcele, iar nodurile, momentele de nceput i
sfrit ale activitilor.
Drumul critic este o mulime de activiti din proiect care are cea mai mare
durat de timp asociat.
Pentru prezentarea metodei se va considera un exemplu simplu n care duratele
activitilor sunt presupuse deterministe i cunoscute.
Exemplu. n Tabelul 2.1 sunt trecute activitile unui proiect i duratele lor. Graful
corespunztor este dat n Figura 2.11. n acest exemplu, pentru o nelegere mai
uoar, se vor nota activitile i duratele lor n noduri, sgeile indicnd
succesiunea activitilor.
Activitate
A
B
C
D
E
F
Talelul 2.1
Activitate
Timpul necesar
precedent
realizrii (n zile), ti
Nici una
2
A
3
A
4
B, C
6
Nici una
2
E
8
B3
A
2
D
6
C
4
STO
P
START
E
2
F
8
Figura 2.11
2. Grafuri n optimizare
31
Sunt posibile doar trei drumuri: l (ABD)=11 zile , l (ACD)=12 zile, l (EF)=10
zile. Drumul critic este cel care are cea mai mare durat, i anume ACD.
Lungimea drumului critic determin timpul minim n care proiectul poate fi
terminat.
Drumul critic este important pentru c arat c:
timpul necesar pentru realizarea complet a proiectului nu poate fi redus sub
valoarea dat de drumul critic,
orice ntrziere n realizarea activitilor de pe drumul critic va produce ntrziere
n realizarea proiectului.
Pentru reducerea duratei totale a proiectului trebuie reduse duratele activitilor
incluse n drumul critic.
Aflarea drumului critic
O cale de aflare a drumului critic este descris n continuare. Se noteaz cu:
DSi momentul cel mai devreme de ncepere a activitii i,
DFi momentul cel mai devreme de terminare a activitii i,
TSi momentul cel mai trziu de ncepere a activitii i,
TFi momentul cel mai trziu de terminare a activitii i.
Momentul cel mai devreme de ncepere a unei activiti este cel mai devreme
moment posibil la care acea activitate poate s nceap, presupunnd c toate
activitile care o preced au nceput la cel mai devreme moment posibil.
Momentul cel mai devreme de terminare a unei activiti este suma
momentului de nceput cel mai devreme posibil cu timpul necesar realizrii
activitii respective.
Momentul cel mai trziu de terminare a unei activiti reprezint cel mai trziu
moment posibil de terminare a activitii respective fr ntrzierea proiectului,
presupunnd c toate activitile sunt desfurate conform planului iniial.
Momentul cel mai trziu de ncepere a unei activiti este diferena dintre cel
mai trziu moment posibil de terminare a activitii respective i timpul necesar
realizrii acestei activiti.
Procedeu pentru determinarea momentelor DS , DF , TS i TF
1. Pentru prima activitate se ia DS egal cu zero. Dac se adaug la DS timpul t
necesar realizrii primei activiti se obine DF pentru prima activitate.
2. Pentru o activitate oarecare i, care pentru toate activitile care o preced imediat
are determinate DS i DF , se ia
DSi=max{DFk | activitatea k precede imediat activitatea i} i DFi=DSi+ti,
deoarece activitatea i nu poate ncepe pn cnd toate activitile care o preced
nu sau terminat.
3. Pentru ultima activitate se ia TF=DF al acestei activiti. Atunci TS=TFtn , tn
fiind timpul necesar realizrii ultimei activiti.
4. Pentru o activitate oarecare i, avnd pentru activitile care o succed imediat
determinate TS i TF , se ia
TFi=min{TSk | activitatea k succede imediat activitatea i} i TSi=TFiti,.
32
Activitate
A
B
C
D
E
F
Tabelul 2.2
Durata D DF
S
2
0
2
3
2
5
4
2
6
6
6
12
2
0
2
8
2
10
TS
TF
0
3
2
6
2
4
2
6
6
12
4
12
0
1
0
0
2
2
Figura 2.12
2. Grafuri n optimizare
33
Figura 2.13
Figura 2.14
Sau obinut aceleai rezultate ca i prin aplicarea procedeului descris mai sus.
Analiza numai sub aspectul duratei poate fi completat cu costuri asociate
activitilor. De exemplu, durata unei activiti poate fi redus dac se aloc resurse
suplimentare. Aceasta implic i costuri suplimentare. Se introduce astfel i o
funcie de cost n luarea deciziei.
34
Activitate
ai
A
B
C
D
E
F
1
1
2
4
1
1
Tabelul 2.3
bi
mi ti
3
5
6
8
3
15
2
3
4
6
2
8
2
3
4
6
2
8
i2
0.33
0.67
0.67
0.67
0.33
2.33
0.11
0.45
0.45
0.45
0.11
5.43
2. Grafuri n optimizare
35
15
7
6
5
4
4
10
4
Figura 2.15
5
4
2
5
4
3
Serverul
central (1)
1
4
4
2
6
Figura 2.16
R. Arborele
de acoperire
36
de lungime minim este dat de muchiile {[1,2], [1,4], [4,6], [4,3], [4,5]} (Figura
2.17), iar lungimea minim a cablurilor este de Lmin=11.
3
3
2
6
2
2
Figura 2.17
11
2
5
8
2
8
11
3
12
2
1
3
3
10
6
4
7
8
14
13
4
11
Figura 2.18
2. Grafuri n optimizare
37
Activitate
A
B
C
D
E
F
Activitate
precedent
Nici una
A
Nici una
B, C
B
D, E
Timpul necesar
realizrii (n zile), ti
5
4
7
3
4
2
B4
E4
F2
Figura 2.19
Activitate
A
B
C
D
E
F
Tabelul 2.5
DS
DF
0
5
5
9
0
7
9
12
9
13
13
15
TS
0
5
3
10
9
13
TF
5
9
10
13
13
15
38
Activitate
A
B
C
D
E
F
G
H
I
Tabelul 2.6
Activitate
Descriere activitate
precedent
Proiectul de arhitectur
Nici una
Identificarea chiriailor poteniali
Nici una
Dezvoltarea prospectului
A
Selectarea antreprenorului
A
Pregtirea autorizaiei de
A
construcie
Obinerea autorizaiei de
E
construcie
Construcia
D,F
Finalizarea contractelor cu
B,C
chiriaii
Instalarea chiriailor
G,H
Timpul necesar
Realizrii (n sptmni), ti
5
6
4
3
1
4
14
12
2
Activitate
A
B
C
D
E
Tabelul 2.7
Activiti
precedent ai
e
6
A
1
C
1
B
6
bi
mi
6
10
15
9
10
4
8
5
5
8
unde:
ai cea mai optimist durat pentru activitatea i,
bi cea mai pesimist durat pentru activitatea i,
2. Grafuri n optimizare
39
4
8
6
5
8
0.44
0.44
5.44
1.78
0.44
A4
C6
D5
STO
STAR
B8
E
Figura 2.20
40
16 15
P (TBE < 16) = F
= 0.50.
0,94
2. Grafuri n optimizare
41
Activitate
precedent
Timpul necesar
realizrii (n luni), ti
A
B
C
D
E
Nici una
Nici una
Nici una
A, B, C
C
10
4
8
5
6
B4
STAR
D5
STO
A1
C8
E6
Figura 2.21
42
Activitate
A
B
C
D
E
Tabelul 2.10.
DS
DF
0
10
0
4
0
8
10
15
8
8
TS
0
6
2
10
15
TF
10
10
10
15
15
M
0
6
2
0
7
A
B
C
D
E
F
G
H
I
J
Descriere activitate
Proiectarea
produsului
Cercetarea pieei de
defacere
Stabilirea procesului
tehnologic
Construirea
prototipului
Pregtirea brourii cu
instruciuni de
folosire
Estimarea costurilor
Testarea prototipului
Inspectarea pieei
Stabilirea preului i
estimarea vnzrilor
Raportul final
Activitate
precedent
Durata
realizrii (n sptmni)
cea mai
cea mai
cea mai
pesimist
probabil
optimist
Nici una
12
Nici una
1.5
11
C
D
B, E
1.5
1.5
2.5
2
3
3.5
2.5
4.5
7.5
1.5
2.5
F, G, I
S se precizeze activitile critice, duratele: cea mai optimist, cea mai probabil i
cea mai pesimist de realizare a acestui proiect.
R. Activitile critice sunt A, E, H, I, J i duratele cea mai optimist 14.28 , cea
mai probabil 17 i cea mai pesimist 19.72 .
3. PROGRAMARE CONVEX
x = i x i K ,
i =0
() i [0,1]
i =0
( )x 0 , x1 K
(3.1)
=1
(3.2)
Definiia 3.2. x din Definiia 3.1 se numete combinaia liniar a punctelor x0,
x1 etc.
Definiia 3.3. Fie x 0 , x1 , ..., x n K . Mulimea punctelor x date de (3.2) se
numete nfurtoarea convex a mulimii {x 0 , x1 ,..., x n } .
Exemple de mulimi convexe: mulimea format dintr-un singur punct, o dreapt,
n
2
Br (a) = x R n x a 2 r = x R n (xi ai ) r ,
i =1
mulime convex.
44
Demonstraie. Fie
() i = 1, m .
( )x 0 , x1 K ,
Atunci x
intersecia lor.
atunci rezult c x 0 , x1 K i
pentru
( x1 x 0 ) f ( x1 )
f ( x1 ) f ( x 0 ) ( x1 x 0 ) f ( x 0 )
(3.5)
Cu alte cuvinte, panta unei funcii convexe este nedescresctoare de-a lungul
oricrei drepte.
Definiia 3. 5 . Fie
3. Programare convex
45
K Rn,
f i : K R , i = 1, m . Dac i 0 , i = 1, m , atunci
f = i f i
este o funcie
i =1
convex pe K.
R (a) = { x R n g ( x ) a }
este convex.
Demonstraie. Fie x1 , x 2 R (a ) i x = (1 ) x 0 + x1 , [0, 1] .
convexitatea lui g avem
g ( x ) (1 ) g ( x 0 ) + g ( x1 ) (1 ) a + a = a , adic g ( x ) R ( a ) .
Din
46
Punctul x K este un maxim (minim) local sau relativ pentru f dac ()r > 0
astfel nct pentru
*
()x Br ( x* ) = {x R n
avem
x - x* < r K
f ( x ) f( x * ) f ( x ) f ( x * ) .
Un minim global (local) pentru problema (3.6) se numete soluie global (local)
pentru problema (3.6) .
x = (1 ) x * + x1 R
(din convexitatea lui R ). Din convexitatea lui f rezult
f ( x ) (1 ) f ( x * ) + f ( x1 ) = f ( x * ) + f ( x1 ) f ( x * ) < f ( x * ) .
Pentru suficient de mic, x se afl n vecintatea lui x i inegalitatea de
mai sus contrazice proprietatea de optim local a lui x*. Astfel, soluia local este i
global.
*
3. Programare convex
47
este mulimea
f ( x ) f ( x ) + *i g i ( x ) f ( x * ) + ( x x * )f ( x * ) +
i =1
+ *i g i ( x * ) + x x * g i ( x * ) =
i =1
m
= f ( x * ) + ( x x * ) f ( x * ) + *i g i ( x * ) = f ( x * ) .
i =1
*
*
Aadar, f ( x ) f ( x ) i astfel x este soluie global.
m
*
gi ( x) 0 , i E ,
unde E * = i E I g i ( x * ) = 0 .
Demonstraie. Presupunem c x* nu este soluie a problemei (3.6), adic
()x R n , soluie a problemei (3.6), astfel nct
()
g i ( x ) 0 , i E * i f x < f ( x ) , ()x R .
(3.8)
este o soluie pentru problema (3.6) mai bun dect x*, adic
f ( x ) < f ( x * ) .
48
()
( )
g ( x ) g (x ) + (1 )g (x ) < 0 , () j E
g i ( x ) g i x + (1 )g i x * 0 , ()i E * i
()
( )
()
( ) ( )
(3.9)
f ( x ) f x + (1 ) f x * < f x *
*
Inegalitatea (3.9) este n contradicie cu proprietatea punctului x de a fi
soluie optim pentru problema (3.6). Aadar, un astfel de punct x nu exist.
se
L
x n
x1
J =
O
g ( x * )
*
g m ( x )
m
L
x
x n
1
3. Programare convex
49
m R ,
asfel nct
f ( x * ) + *i g i ( x * ) = 0 .
i =1
( )
( )
s ( k ) = 1 , ( k ) > 0 . Vectorul
s = lim s ( k )
k
(realizabil) n x * .
Notm
conul tangent n x * la R.
Ipoteza de calificare a restriciilor ntr-un punct de extrem este dat de relaia
(3.10)
Ca = Ct .
Se poate demonstra urmtoarea propoziie (Fletcher, 1981).
Propoziia 3.1. Ipoteza de calificare a restriciilor (3.10) are loc dac :
i) restriciile cu indicele i E * sunt liniar independente, sau
ii) vectorii g i ( x * ) , i E * sunt liniar independeni.
50
Considerm c :
E , I i E+I=mn ,
x* punct admisibil d un minim local,
f, gi sunt difereniabile i
vectorii g i ( x * ) , i E g j ( x * ) g j ( x * ) = b j , j I
} {
} sunt independeni.
f ( x* ) = E gE ( x* ) , unde
4. PROGRAMARE LINIAR
a
j =1
ij
(4.1)
52
c
j =1
cheltuielile de producie
d
j =1
c
j =1
x j , iar
j =1
j =1
j x j d j x j = (c j d j )x j
(4.3)
Problema care se pune acum este de a determina acea variant de plan, adic
acea soluie a sistemului de inegaliti (4.1), (4.2) care d pentru profitul (4.3)
valoarea maxim. n acest moment, din acea problem economic s-a obinut
urmtoarea problem matematic:
n
max
(c j d j ) x j
n j =1
(4.4)
a ij x j bi
j =1
x j 0
4. Programare liniar
53
c
i =1 j =1
ij
xij .
a = b
i
i =1
j =1
min c ij x ij
(4.8)
i =1 j =1
x
j =1
ij
= ai , 1 i m
(4.9)
ij
= bj , 1 j n
(4.10)
x
i =1
xij 0,
1 i m, 1 j n,
care se numete program de transport.
(4.11)
min c ij x ij ,
(4.12)
i =1 j =1
n condiiile
n
x
j =1
ij
x
i =1
xij 0,
ij
ai , 1 i m
(4.13)
bj , 1 j n
(4.14)
1im,
1 j n,
(4.15)
54
a b
i =1
j =1
max a j x j
(4.16)
j =1
n condiiile:
n
x
j =1
xj 0,
=S
1jn.
(4.17)
(4.18)
4. Programare liniar
xi
di
bi
pi
55
max ( pi bi hxi )
i =1
xi +1 = xi + d i bi , i = 1, n 1
xn + d n bn = 0
xi + d i S
x = 0 , x , d , b 0
i
i
i
1
(4.19)
M
M
a x + a x + ... + a x b
m2 2
mn n
m
m1 1
x i 0 , i = 1, n
Problema care a rezultat este tot o problem de programare liniar. Acelai tip
de problem poate aprea n realizarea amestecurilor de tip mortar, beton etc.
56
1
2
3
(4.20)
A21 x + A22 x + A23 x = b2
1
2
3
A x + A x + A x b
32
33
3
31
1
2
3
x 0, x oarecare, x 0
unde x1 este vectorul variabilelor asupra crora se impun condiii de
nenegativitate, x2 vectorul variabilelor asupra crora nu se impun condiii de
semn, x3 vectorul variabilelor asupra crora se impun condiii de nepozitivitate,
Aij submatrice a matricei A , ale crei elemente sunt coeficienii componentelor
vectorului xj , iar bi sunt subvectori ai vectorului b (1 i, j 3) . Prin x 0 se
va nelege c fiecare component a vectorului x este nenegativ.
Se spune c o problem are forma standard dac toate restriciile sunt ecuaii
i tuturor variabilelor li se impun condiii de nenegativitate
min(max)c x
Ax = b
x 0
(4.21)
cx = ci xi
i =1
Se spune c o problem are forma canonic dac toate restriciile sunt inegaliti
de acelai sens i tuturor variabilelor li se impun condiii de nenegativitate
min c x
(4.22)
Ax b
x 0
max c x
Ax b
x 0
(4.22)
Observaia 4.1. Orice problem de forma (4.20) poate fi adus la forma standard
(4.21) sau forma canonic (4.22) folosind urmtoarele transformri:
i) transformarea maximului n minim i invers se bazeaz pe urmtoarea
egalitate:
max f ( x ) = min{ f ( x )}
xX
xX
4. Programare liniar
57
58
= min i y i > 0 .
yi
Pentru orice valoare soluia dat de (4.29) este admisibil i are cel mult
p1 componente pozitive. Repetnd acest proces dac este necesar, putem elimina
4. Programare liniar
59
este ca la (i).
60
x B = x y Bj x j
(4.31)
(4.31)
x B = B 1 b
(4.32)
y Bj = B 1 a j
(4.33)
jS
sau pe componente
jS
unde
iB
sau
z = z B z Bj c j x j ,
(4.34)
z B = ci xiB = c B x B ,
(4.35)
z Bj = ci y ij = c B y Bj ,
(4.36)
jS
unde
iB
iB
j = ( z j c j )
relativ.
Pentru simplificarea scrierii renunm la indicele superior B, nelegndu-se c
este vorba de elementele corespunztoare bazei.
La baza algoritmului simplex stau urmtoarele observaii ce rezult din
teoremele prezentate n continuare (Zidroiu, 1983).
Teorema 4.2. Dac zjcj 0, () j S, atunci programul de baz corespunztor
bazei B, (xB=B1b, xS =0) este optim.
4. Programare liniar
61
jS
i atunci z > z B .
Teorema 4.3. Dac ()k S cu zkck > 0, atunci programul asociat bazei B nu
este optim (cu excepia cazului n care programul este degenerat) i poate fi
mbuntit dac xk ia valori pozitive.
Demonstraie. Dac exist k S cu proprietatea c zkck>0, atunci programul
asociat bazei B nu este optim
z Bj ci x j > 0 , iar z < z B
jS
(cu excepia cazului n care programul este degenerat) i poate fi mbuntit dac
xk>0.
Teorema 4.4. Dac ()k S , cu zkck > 0, i dac yik 0, pentru () iB,
atunci problema are optim infinit.
Demonstraie. Dac yik 0 () iB atunci xiB = xiB y ik x k , ( xj=0 pentru
jS {k}), iar creterea lui xk nu face negativ nici o component de baz.
Atunci
z = z B ( z k c k ) x k
xk
Teorema 4.5. Dac zkck > 0, dar () yik > 0, atunci xk poate crete pn la
valoarea:
x
x
min i = l ,
(4.37)
i yik > 0 y
y lk
ik
~
pentru care se obine un nou program de baz, asociat bazei B , dedus din B
prin nlocuirea coloanei al cu coloana ak.
Demonstraie. Dac yik > 0 ()iB, atunci pentru a pstra xi 0 , tiind c
x i = x i y ik x k 0 ,
x
atunci x k i , ()i B cu proprietatea c yik > 0 . Atunci creterea maxim a
y ik
lui xk este dat de (4.37).
Observaia 4.3. Dac exist mai muli indici k pentru care zkck > 0, ar fi
preferabil s se aleag acela pentru care
xl
(z k c k )
y lk
62
are cea mai mare valoare, ceea ce asigur, n general, o scdere mai rapid a
funciei obiectiv i d un numr mai mic de iteraii (o iteraie reprezint o trecere
de la un program de baz la altul).
Practic, se ia drept criteriu de alegere a lui k , acel k pentru care
zkck=maxim.
Acest criteriu se mai numete i criteriu de intrare n baz.
Criteriul dat de (4.37) reprezint criteriul de ieire din baz.
Ax = b
x 0
4. Programare liniar
63
z Bj cj i
zB
(4.38)
(4.40)
64
Tabelul 4.1
CVB
VB VVB
c1
cl
cm
cm+1
ck
cn
alegem min
x1
xl
xm
xm+1
xk
xn
xi
y ik
y1,m+1
y1,n
yl,m+1
yl,n
ym,m+1
ym,n
c1
x1
x1
cl
xl
xl
cm
xm
xm
valoarea
funciei
obiectiv
...
...
M
...
...
M
...
...
alegem max
0
0 zm+1cm+1
zjcj>0
4. Programare liniar
65
0 L 0
1 0 L 0 v1
0 L 0
0 1 L 0 v2
L L L L L L L L
0 0 L 1 v l 1 0 L L
E =
.
0 L 0
0 0 L 0 vl
0 0 L 0 v l +1 1 L 0
L L L L L 0 L 0
0 0 L L v
0 L 1
m
~
Astfel, yk coloana a k-a din noua baz B va fi calculat direct cu formula
yk=(Ep.Ep-1E1ak) .
4.7. Exemplu
P2
1
2
3
1
1
2
4 = 24
2
x + 3 x + x = 18
x , x 0
2
5
1
1 2
2 x1 + x2 8
xi 0, i 1,5
dup adugarea variabilele de compensare
66
Tabelul 4.3
3
0
alegem min
xi
y ik
CVB
VB
VVB
x1
x2
x3
x4
x5
x3
x4
24
x5
18
valoarea
funciei
obiectiv z
1
2
1
2
24
28
5
8
=4
2
24
3
18
1
=8
= 18
alegem min
x1
x4
12
x5
14
5
2
valoarea
funciei
obiectiv z
16
1
2
zjcj<0
alegem min
2
zjcj<0
La prima iteraie a ieit din baz x3 i a intrat x1 , iar la iteraia a doua a ieit
din baz x5 i a intrat x2 . Iteraia a doua este prezentat n Tabelul 4.4.
c) Culegerea rezultatelor din tabelul simplex final
Maximul funciei de optimizat este 21.6 i se obine pentru
x1=1.2 ; x2=5.6 ; x3=0 .
Soluia de baz este nedegenerat. Valorile variabilelor auxiliare
x3=0 ; x4=9.2 ; x5=0 ,
arat c soluia optim face egaliti doar restriciile 1 i 3 , adic se folosete
integral timpul la aceste maini, iar cea de-a doua inegalitate arat c prin aceast
soluie nu se utilizeaz integral timpul celei de-a doua maini.
67
4. Programare liniar
Tabelul 4.4
3
alegem min
x1
x2
x3
x4
x5
xi
yik
3
5
1
5
1
5
24
CVB
VB
x1
x4
46
5
2
5
x2
28
5
1
5
2
5
21.6
2
5
valoarea
funciei
obiectiv z
VVB
6
5
9
5
28
5
alegem min
zjcj < 0
Figura 4.1
68
Figura 4.2
Dup ce sau introdus datele, pentru rezolvare se apas butonul Solve i apare
fereastra cu rezultate ca n Tabelul 4.5.
Tabelul 4.5
Objective Function Value =
21.600
Variable
-------------X1
X2
Value
--------------1.200
5.600
Reduced Costs
-----------------0.000
0.000
Constraint
-------------1
2
3
Slack/Surplus
--------------0.000
9.200
0.000
Dual Prices
-----------------1.800
0.000
0.400
Lower Limit
--------------No Lower Limit
No Lower Limit
Current Value
--------------4.000
3.000
Upper Limit
--------------No Upper Limit
No Upper Limit
Current Value
--------------8.000
24.000
18.000
Upper Limit
--------------No Upper Limit
No Upper Limit
No Upper Limit
Lower Limit
--------------No Lower Limit
No Lower Limit
No Lower Limit
69
4. Programare liniar
Figura 4.3
70
Figura 4.4
5.
Figura 4.5
71
4. Programare liniar
Cell
$D$3
Name
Functia de
optimizat
21.6
AdjusTable Cells
Original
Value
Final Value
Cell
Name
$B$13
x1 Produsul P1
1.2
$B$14
x2 Produsul P1
5.6
Constraints
Cell
Name
Cell Value
Formula
Status
Slack
$G$13
2x1+x2<=8
$G$13<=$D$7
$G$14
3x1+2x2<=24
14.8
$G$14<=$D$8
Binding
Not
Binding
$G$15
x1+3x2<=18
18
$G$15<=$D$9
$B$13
x1 Produsul P1
1.2
$B$13>=$E$13
$B$14
x2 Produsul P1
5.6
$B$14>=$E$14
Binding
Not
Binding
Not
Binding
9.2
0
1.2
5.6
Tabelul 4.7
Microsoft Excel 10.0 Sensitivity Report
Worksheet: [Programare liniara.xls]Sheet1
Report Created: 7/23/2002 7:38:02 AM
AdjusTable Cells
Cell
$B$13
$B$14
Name
x1 Produsul
P1
x2 Produsul
P1
Final
Reduced
Objective
Allowable
Allowable
Value
Cost
Coefficient
Increase
Decrease
1.2
5.6
72
Constraints
Final
Shadow
Constraint
Allowable
Allowable
Cell
Name
Value
Price
R.H. Side
Increase
Decrease
$G$13
2x1+x2<=8
1.8
6.57142857
$G$14
3x1+2x2<=24
14.8
24
1E+30
9.2
$G$15
x1+3x2<=18
18
0.4
18
14
Tabeleul 4.8
Microsoft Excel 10.0 Limits Report
Worksheet: [Programare liniara.xls]Limits Report 1
Report Created: 7/23/2002 7:38:02 AM
Target
Cell
Name
Value
$D$3
Functia de optimizat
21.6
AdjusTable
Lower
Target
Upper
Target
Cell
Name
Value
Limit
Result
Limit
Result
$B$13
x1 Produsul P1
1.2
16.8
1.2
21.6
$B$14
x2 Produsul P1
5.6
4.8
5.6
21.6
73
4. Programare liniar
74
din baz i atunci b=0, deoarece toate coloanele sunt n ciclu, iar aip0 , ( )i n .
S considerm cazul cnd an este n situaia de a intra n baz. Partea a) a regulii
lui Bland ne asigur c rn = z n c n > 0 i ri = z i c i 0 pentru ( )i n .
Aplicm formula
ri = c B B 1 S c i
( )
Contradicie cu faptul c r p 0 .
ndeprtarea situaiei de ciclare se poate face i cu metoda perturbrii a lui A.
Charnes, sau cu cea lexicografic a lui Dantzig i Wolfe .
Observaia 4.8. O regul practic de evitare a ciclrii este urmtoarea: se divid
liniile corespunztoare variabilelor nule din Tabelul simplex prin pivoii posibili,
mergnd de la stnga spre dreapta; n momentul cnd unul dintre rapoarte este
mai mic dect celelalte, precizm variabila care iese din baz ca fiind cea care
corespunde raportului minim (Zidroiu, 1983).
Consum specific
P1
P2
2
1
4
0
2
2
2
0
4
3
Disponibil
12
8
16
12
4. Programare liniar
75
Rezolvare
Funcia de optimizat (obiectiv) este f(x,y) = 2x + 3y . Restriciile problemei,
aa cum rezult din Tabelul 4.8, sunt:
2x + 2 y 12
x + 2y 8
4 x + 0 y 16
0 x + 4 y 12
x 0 , y 0
Se cere s se determine necunoscutele x0 , y0 , astfel nct s se verifice
restriciile, iar f(x0 , y0) s ia valoarea maxim. Considerm restriciile cu egaliti
i reprezentm grafic dreptele ale cror ecuaii rezult (Figura 4.6).
x
(d2) , 4x=16 x=4 (d3) , 4y=12
x+y=6 y=6x (d1) , x+2y=8 y=4
2
y=3 (d4) , x0 , y0 .
Reprezentarea grafic a
restriciilor
conduce
la
poligonul OABCD, ale crui
puncte constituie soluii ale
fmax
problemei de programare
4
R
a
liniar (mulimea
punctelor
admmisibil
e).
Din
d4
acest motiv se numete
D
C
poligonul soluiilor. Rezult
g
c realizarea practic a
B
2
produciei celor dou produse
din cele patru materii prime
se poate face ntr-o infinitate
d3
de moduri. S alegem dintre
A
aceste soluii pe cele care dau
O
0
2
4
6
valoarea
maxim
pentru
funcia obiectiv. Punem funcia
Figura 4.6
obiectiv sub forma
f 2
(d) y = x ,
3 3
care reprezint un fascicul de drepte, considernd f ca parametru ( (g) o dreapt
din fascicul). Funcia f va avea maximul o dat cu ordonata la origine a dreptei (d).
Astfel, trebuie gsit acea dreapt din fasciculul (d) care are ordonata la origine
cea mai mare i care trece printr-un punct din poligonul soluiilor. Se observ c
acea dreapt trebuie s treac prin punctul B, un vrf al poligonului soluiilor.
d1
76
{B} = y = 4 x I {y = 6 x}
x
=6x x=4 , y=2
2
2
Valoarea funciei obiectiv este f(4, 2)=14 . n Tabelul 4.10 se prezint starea
sistemului de restricii i gradul de utilizare a resurselor pentru soluia optim.
Materia
prim
M1
M2
M3
M4
Tabelul 4.10
Cantitatea folosit pentru
Cantitatea
programul optim
disponibil
12
24+22=12
8
14+22=8
16
44+02=16
12
04+42=8
Gradul de
folosin
100%
100%
100%
66.67%
Problema are soluie unic, deoarece dreapta (d) nu este paralel cu nici o latur a
poligonului soluiilor. Dac, de exemplu, se modific profitul unitar pentru
produsul P2 , devenind 4, atunci dreapta (d) devine
f x
(d) y = ,
4 2
fiind paralel cu dreapta corespunztoare celei de-a doua restricii (latura BC a
poligonului soluiilor). n acest caz, toate punctele segmentului BC sunt soluii
optime ale problemei date. Avem de-a face cu o problem cu o infinitate de soluii
optime. Se pot introduce alte criterii suplimentare pentru a putea selecta o soluie.
Metoda geometric s-ar mai putea aplica i n cazul a trei necunoscute, n locul
poligonului soluiilor obinndu-se poliedrul soluiilor. Pentru n > 3 nu mai pot fi
reprezentate grafic hiperpoliedrele soluiilor i deci metoda devine impracticabil.
77
4. Programare liniar
z = c k + ci ( y ik ) = c k z k ,
iB
Metoda celor dou faze permite obinerea unui program de baz de plecare n
rezolvarea problemei de programare iniial sub forma standard, adic (Zidroiu,
1983) :
min c x
(4.41)
Ax = b
x 0
(4.42)
x 0
x a 0
Problema (4.41) are programe dac (4.42) are programe (x, xa), cu xa = 0.
Dac se obine un astfel de program de baz cu xa = 0, atunci x corespunztor
este un program de baz pentru (4.41).
78
a
Ax + Ix = b
x i 0, 1 i n
x aj 0, 1 j m
(4.43)
Faza a IIa
Ax = b .
x 0
Observaia 4.9. Faza I const din eliminarea din baz a variabilelor artificiale x ia
i nlocuirea lor cu variabilele xj. Cnd toate variabilele au fost eliminate din
baz, adic la sfritul fazei I, coloanele acestora sunt terse din tabelul simplex
i se ncepe faza a II-a, pornind de la acest tabel simplex, n care calculm doar
elementele liniei zjcj corespunztoare funciei obiectiv din faza a IIa.
n cele prezentate pn acum am presupus c rang A = m. Introducerea
variabilelor artificiale face ca rangul matricei [A, I] s fie sigur m.
Dac rang A < m sau dac problema este degenerat, atunci cnd se ajunge la
min x ia = 0, este posibil s mai rmn n baz cteva variabile artificiale,
desigur cu valoarea 0. Faza I se consider ncheiat atunci cnd toate variabilele
x ia au fost eliminate, i anume:
(i) dac rang A = m (dar problema este degenerat), variabilele x ia = 0 pot fi
ntotdeauna nlocuite cu variabilele xj care intr n baz tot cu valoarea 0, fr
s produc vreo modificare n funcia obiectiv.
(ii) dac rangA < m, nu este posibil eliminarea tuturor variabilelor x ia (cteva
rmn n baz cu valoarea 0). n acest caz, liniile corespunztoare ale matricei
4. Programare liniar
79
A1
A2
Profit
S2
S3
5 u.
m.
4 u.
m.
6 u.
m.
Cantitatea ce
trebuie sortat
300
tone
372
tone
80
x1 + 2 x 2 + 2 x3 = 372 .
x , x , x 0
1 2 3
2 3 1
a restriciilor nu are o baz evideniat, se
Deoarece matricea A =
1 2 2
aplic metoda celor dou faze.
2 x1 + 3 x 2 + x3 + x = 300
x1 + 2 x 2 + 2 x3 + x = 372
x , x , x , xa , xa 0
2
1 2 3 1
a
1
a
2
-1
4 .
al fazei I sub variabilele artificiale, B = 2
3
1
2 4
ii) Faza a II-a
Se aplic algoritmul simplex problemei
max {5x1+4x2+6x3 }
3
4 x1 + x 2 = 57
1
x1 + x3 = 129
4
x1 , x 2 , x3 0
4. Programare liniar
81
Tabelul 4.12
CVB
VB
VVB
x1
x2
x3
x1a
x 2a
alegem min
xi
y
300
ik
= 100
x1a
300
x 2a
372
672
2
3
1
3
1
3
100
= 300
1
3
172
= 129
4
3
valoarea
funciei
obiectiv z
x2
100
x 2a
172
172
x2
57
x3
129
valoarea
funciei
obiectiv z
372
= 186
2
alegem max
valoarea
funciei
obiectiv z
1
3
1
2
3
4
3
4
4
3
1
3
1
4
5
3
1
2
zjcj>0
alegem max
0
1
4
zjcj>0
8
24
alegem max
0
zjcj>0
82
CVB
VB
VVB
x2
57
x3
129
valoarea
funciei
obiectiv z
1002
Tabelul 4.13
5
4
x1
x3
3
4
1
4
7
2
x1
76
x3
148
1268
Valoarea
funciei
obiectiv z
x2
alegem min
xi
y
ik
228
= 76
3
alegem min
zjcj<0
4
3
1
3
14
3
alegem min
0
zjcj<0
4. Programare liniar
83
max b1 u1 + b2 u 2 + b3 u 3
t 1
2
3
t
t
A11 u + A21 u + A31 u c1
t 1
2
3
t
t
A12 u + A22 u + A32 u = c 2
A t u1 + A t u 2 + A t u 3 c
23
33
3
13
u1 0, u 2 arbitrar, u 3 0
(4.44)
Duala dualei este chiar problema iniial. De aceea, (4.20) i (4.44) formeaz
un cuplu de probleme duale.
Din examinarea cuplului de probleme duale rezult c una dintre probleme se
obine n urmtorul mod:
a) termenii liberi din problema primal devin coeficieni ai funciei obiectiv n
problema dual,
b) coeficienii funciei obiectiv din problema primal devin termeni liberi n
problema dual,
c) o problem de maximizare (minimizare) se transform ntr-o problem de
minimizare (maximizare),
d) matricea coeficienilor sistemului de restricii pentru problema dual este
transpusa matricei coeficienilor sistemului de restricii ale problemei primale,
e) variabilele duale (primale) asociate unor restricii primale (duale) concordante
sunt supuse condiiei de nenegativitate,
f) variabilele duale (primale) asociate unor restricii primale (duale), care sunt
ecuaii, nu sunt supuse nici unei condiii privind semnul.
Din definiia dat rezult c:
duala unei probleme de programare sub forma standard
min c x
Ax = b
x 0
Ax b
x 0
(4.45)
(4.46)
(4.47)
84
este urmtoarea problem de programare liniar, care are tot forma canonic:
max b u
t
(4.48)
A u c .
u 0
A2 x = b2
x 0
este problema
max(b1u1 + b2 u 2 )
t 1
t 2
(4.50)
A1 u + A2 u c
u1 0 , u 2 arbitrar
max a i u i + b j v j ,
j =1
i =1
1 i m ; 1 j n ,
u i + v j c ij ,
u , v
oarecare .
j
i
(4.51)
4. Programare liniar
85
Aceast lem arat c o soluie admisibil a oricreia dintre cele dou probleme
este o limit pentru valoarea funciei obiectiv a celeilalte probleme.
Corolarul 4.1. Dac x0 i u0 sunt soluii admisibile pentru problemele (4.45) i
respectiv (4.46) i dac cx0 = u0 b , atunci x0 i u0 sunt soluii optime pentru
problemele respective.
Corolarul 4.1 arat c dac poate fi gsit o pereche de soluii admisibile care
s produc aceeai valoare pentru funciile obiectiv ale problemelor (4.45) i
(4.46), atunci acestea sunt amndou optime.
Vom enuna i demonstra Teorema fundamental a dualitii, care afirm c i
reciproca Corolarului 4.1 este adevrat (Luenberger, 1989). Pentru aceasta avem
nevoie de urmtorul rezultat (demonstrat n Fletcher, II, 1981).
Lema de separare. Exist un hiperplan care separ un con convex nchis C de un
vector nenul v C .
Teorema fundamental a dualitii. Dac una dintre problemele (4.45) sau (4.46)
are o soluie optim finit, atunci i cealalt are soluie optim finit i valorile
corespunztoare ale funciilor obiectiv sunt egale. Dac una dintre cele dou
probleme are optim infinit, atunci cealalt problem nu are nici o soluie admisibil.
Demonstraie. A doua afirmaie este o consecin a lemei slabe a dualitii. Dac
problema primal are optim infinit i u este o soluie admisibil a problemei
duale, atunci n mod necesar u b M pentru un M suficient de mare, ceea ce
este imposibil.
Observm c, dei cele dou probleme nu formeaz un cuplu de probleme
duale simetrice, pentru a demonstra prima afirmaie este suficient s presupunem c
problema primal are o soluie optim finit i apoi s artm c problema dual
are o soluie cu aceeai valoare pentru funcia obiectiv. Acest lucru este posibil
deoarece ambele probleme pot fi rescrise n form standard i rolurile celor dou
probleme se pot inversa.
S presupunem c problema (4.46) are o soluie optim z* finit. Considerm
urmtoarea mulime convex n spaiul Rm+1 :
C = (r , w ) r = tz * c' x , w = tb Ax , x 0, t 0 .
86
Se poate arta c C este un con convex nchis. Vom arta c vectorul (1, 0,
, 0) nu este n C.
x
Dac w= t0bAx0 = 0 , unde t0>0 i x0 0 , atunci x = 0 este o soluie
t0
admisibil pentru problema (4.46) i deci
r
= z * c' x 0 ,
t0
ceea ce implic r0 (nu poate astfel s ia valoarea 1).
Dac w= Ax0 = 0 (t=0), unde x0 0 i cx0 = 1 i dac x este o soluie
admisibil oarecare a problemei (4.46), atunci x+ x0 este o soluie admisibil
pentru problema (4.45) pentru orice 0 i d valori din ce n ce mai mici pentru
funcia obiectiv, pe msur ce crete. Aceasta contrazice ipoteza existenei unui
optim finit i rezult c un astfel de x0 nu exist. Deci (1, 0,, 0) nu aparine lui
C.
Cum C este o mulime convex nchis, exist un hiperplan care separ
vectorul (1,0,,0) de C. Aadar, exist un vector nenul (s, u)Rm+1 i o
constant c astfel nct :
s < c = inf {sr + u' w (r , w ) C }.
C fiind con, rezult c c0. Altfel, dac ar exista (r,w)C astfel nct sr+uw<0,
atunci (r,w) nu ar verifica inegalitatea hiperplanului pentru valori mari ale lui
. Pe de alt parte, deoarece (0,0)C, trebuie ca s avem c0. Aadar, c=0. Prin
urmare s<0 i putem presupune, fr a restrnge generalitatea, c s = 1. Astfel
am demonstrat c exist uRm cu proprietatea
r+uw 0
pentru orice (r,w)C. Din definiia lui C avem c
(cuA)xtz*+tub 0
oricare ar fi x0 i t0.
Alegnd t=0 rezult uAc, ceea ce nseamn c u este o soluie admisibil
pentru problema dual.
Punnd x=(0,0,,0) i t=1, obinem c ub z*. Din lema slab a dualitii
i din corolarul su rezult c u este o soluie optim a problemei duale.
Corolarul 4.2. Dac ntr-un cuplu de probleme duale, una dintre probleme are un
program optim, atunci i cealalt problem are un program optim i valorile
optime ale funciilor obiectiv sunt egale.
Fie problema de programare liniar sub forma standard (4.45) i duala sa (4.46)
i x=(xB,0) o soluie optim de baz corespunztoare bazei B , iar xB=B1b i
xS=0. Atunci vectorul costurilor relative
r = c B B 1 S c S 0 c B B 1 S c S .
Considerm u = c B B 1 i artm c acest u este soluie a problemei duale:
u A = [u B u S ] = c B c B B 1 S [c B c S ] = c u A c ,
adic uA este soluie admisibil pentru problema dual. Pe de alt parte
4. Programare liniar
87
u b = c B B 1 b = c B x
i astfel valoarea funciei obiectiv a problemei duale este pentru acest u egal cu
valoarea funciei obiectiv a problemei primale. Atunci, din Corolarul 4.1 rezult c
u este soluia optim a problemei duale. Am demonstrat urmtoarea teorem.
Teorema 4.6. Dac problema de programare standard are soluie de baz optim
corespunztoare bazei B, atunci u = c B B 1 este soluie optim a problemei
duale asociate. Valorile optime ale funciilor obiectiv corespunztoare celor dou
probleme asociate sunt egale.
Teorema ecarturilor complementare pentru cuplu de probleme duale asimetrice.
O condiie necesar i suficient ca programele x* i u* s fie optime pentru
problemele duale (4.45) i (4.46) este ca pentru orice i s avem:
a) xi > 0 u a i = ci
b) u a i < ci xi = 0 .
Demonstraie. Dac au loc relaiile a) i b) atunci (uAc)x=0, adic ub=cx ,
i, din Corolarul 4.1, rezult c x i u sunt soluii optime pentru perechea de
probleme (4.45) i (4.46). Invers, dac x i u sunt soluii optime pentru perechea
de probleme (4.45) i (4.46), atunci din Teorema fundamental a dualitii rezult
c ub= cx i astfel (uAc)x=0. Deoarece fiecare component a lui x este
nenegativ i fiecare component a lui uAc este nepozitiv, rezult condiiile
a) i b) din teorem.
88
pentru
u( ) b = u B b ib = z B x iB i atunci
1 j n .
Aadar,
lim u( ) b = + ,
adic problema dual are optim infinit i din Teorema fundamental a dualitii,
rezult c i problema primal are optim infinit.
i =1
2
i
0 i
a
i =1
ir
+ r b = 0 .
(
n
i =1
ir
+ ci r a i + r c r a r = 0 ,
a i = Be i , i = 1, n , i r , rezult c A = BE r ( ) , sau B 1 = E r ( ) E 1 .
4. Programare liniar
89
Teorema 4.8. Fie B o baz dual admisibil pentru problema primal (4.45) i
B. Dac pentru () i B , () j S astfel nct y ijB < 0 i alegem lB
B
j yljB <0
y lkB
y lj
~
atunci matricea B obinut din matricea B prin nlocuirea coloanei al cu
coloana ak este o baz dual admisibil, iar programul dual asociat u B~ este cel
) (
() j S
pentru
care y 0 .
B
lj
rezult c i z Bj c j 0 pentru
() j S
pentru care
z lB c l = z kB c k
Aadar,
z Bj c j 0
)1
<0.
y lkB
() j S~ , adic
~
B
admisibil.
Din relaiile (4.40) rezult c
~
B
z = z z ck
B
B
k
xr
. Dar
y lkB
z B = u B b i
90
Algoritmul simplex dual exploreaz bazele dual admisibile ale problemei (4.46)
pn la obinerea unei baze dual admisibile care s fie i primal admisibil ( B 1b 0 ),
sau pn la punerea n eviden a faptului c problema dual nu are programe.
n algoritmul simplex primal se obine o succesiune de programe de baz
1
( B b 0 ), iar n algoritmul simplex dual se obine o succesiune de soluii de baz
care nu sunt programe (B1b nu are toate componentele nenegative).
Pentru o problem de minimizare n algoritmul simplex funcia obiectiv descrete
spre minim, n timp ce n algoritmul simplex dual funcia obiectiv crete spre maxim.
Adesea, pentru problema de programare liniar se cunoate o soluie de baz,
dar care nu este i admisibil i pentru care multiplicatorii simplex sunt admisibili
pentru problema dual asociat. n tabelul simplex aceast situaie corespunde strii
n care ultima linie (zjcj) nu are elemente pozitive, dar soluia nu este admisibil.
O astfel de situaie apare, de exemplu, atunci cnd o problem de programare
liniar este rezolvat i din aceasta se construiete o problem nou prin
schimbarea vectorului termenilor liberi b (postoptimizare sau reoptimizare). n
aceast situaie, dispunnd de o soluie admisibil de baz pentru problema dual
este de preferat s continum s rezolvm problema dual.
Considerm problema de programare liniar sub forma standard i fie B o
baz cunoscut a acestei probleme, iar u = c B B 1 este admisibil pentru
problema dual. Dac xB=B1b0, aceast soluie este primal admisibil i atunci
ea este optim. Vectorul u este admisibil pentru problema dual i atunci are loc
inegalitatea uajcj pentru j = 1, n . Presupunnd c baza este format cu primele
m coloane ale lui A, atunci au loc egalitile uaj=cj , j = 1, m i, cu excepia
ji
u a i = c i
u a j = z j y ij
j = m + 1, n ,
(4.55)
ji
De asemenea,
u b = ub xiB
Pentru cuplul de probleme duale
(4.56)
4. Programare liniar
91
min c x
Ax = b
x0
max bu
t
A uc
u arbitrar
x = B -1b , z = c B x
, y Bj = B -1a j , z j c j , 1 j n
x l = min x i x i < 0
}.
0 =
zj cj
z k ck
= min
j ylj <0
y lk
y lj
(4.57)
z = z B -( z k c k )
xl
,
y lk
~
B
1 i n , z j c j = z j c j (z k c k )
y lj
y lk
1 j n
~
i se trece la pasul 1, nlocuind B cu B .
n continuare sunt prezentate cteva observaii privind algoritmului de mai sus.
a) alegerea lui k n relaia (4.57) ne permite s afirmm c noua soluie va fi
din nou dual admisibil;
b) din relaia (4.56) i din alegerea lui x l < 0 (conform cu a2 din algoritmul
simplex dual) valoarea funciei obiectiv pentru problema dual va crete;
c) algoritmul nu se termin dect cu soluia optim i valoarea corespunztoare
pentru funcia obiectiv sau dac problema dual are valoarea nemrginit pentru
funcia obiectiv;
d) deoarece exist numai un numr finit de baze, optimul trebuie s fie obinut
ntr-un numr finit de iteraii.
Exemplu. S considerm problema dietei 4.1.5. particularizat astfel:
92
min {3x1+4x2+5x3}
x1 + 2 x 2 + 3x 3 5
2 x1 + 2 x 2 + x 3 6
x 0
i = 1,3
i
min {3x1+4x2+5x3}
x1 + 2 x 2 + 3 x 3 x 4 = 5
2 x1 + 2 x 2 + x 3 x 5 = 6
x 0
i = 1,5
i
forma standard
duala corespunztoare
2 x1 2 x 2 x 3 + x 5 = 6
x 0
i = 1,5
i
obinut din precedenta prin nmulirea primelor dou restricii cu 1.
Coloanele 4 i 5 din matricea coeficienilor restriciilor dau o baz dual
admisibil, deoarece valorile pentru x4 i x5 sunt negative, iar zjcj sunt
nepozitive. La prima iteraie iese din baz x5 i intr x1, iar la iteraia a doua iese
din baz x4 i intr x2. Rezultatele sunt trecute n Tabelul 4.14.
Valoarea funciei obiectiv este min f=10, obinut pentru x1=1 i x2=2 .
Ax b
x 0
a
j =1
ij
xj
a
i =1
ij
u i reprezint
valoarea total a resurselor consumate pentru realizarea unei uniti din sortimentul j.
Tabelul 4.14
4. Programare liniar
93
3
alegem min
min
CVB
VB
VVB
x1
x2
x3
x4
x5
x4
x5
5
2
1
2
1
2
valoarea
funciei
obiectiv z
x4
x1
1
2
valoarea
funciei
obiectiv z
x2
5
2
1
2
x1
11
Valoarea
funciei
obiectiv z
zj cj
yij <0
y ij
3 4 5
,
,
2 2 1
1
,
1
7
1
2, 2
5
1
2
2
94
u i bi a ij x j = 0 , 1 i m i x j a ij u i c j = 0 , 1 j n
j =1
i =1
Dac toi coeficienii funciei obiectiv sunt nenegativi, atunci variabilele ecart
formeaz o soluie de baz dual admisibil, deoarece n acest caz
zici= ci 0.
Dac nu toi coeficienii funciei obiectiv sunt nenegativi, se introduce o
restricie nou (Malia i Zidroiu, 1971)
x n +1 + x 1 + x 2 + ... + x k = M ,
cu M suficient de mare, xn+1 o nou variabil, iar
x r , 1 r k , fiind
min( x 3 2 x 4 + x5 )
x + 3x + x x = 4
1
3
4
5
x 2 x3 4 x 4 + x5 = 1
x i 0 , 1 i 5
x1, x2 formeaz o baz care nu este primal admisibil pentru c x1= 4 . Pentru a
face pozitivi toi coeficienii funciei obiectiv, introducem relaia suplimentar
x 6 + x 3 + x 4 = M . Atunci c f = max c j = c 4 = 2 i x4=Mx3x6. Se obine o
j c j <0
4. Programare liniar
95
min(2 M + x 3 + x 5 + 2 x 6 )
x1 + 2 x 3 x 5 x 6 = 4 M
x 2 + 3x3 + x5 + 4 x 6 = 1 + 4M
x3 + x 4 + x 6 = M
x i 0 , 1 i 6
unde M este suficient de mare astfel nct 4M < 0 . Se obine o soluie dual
admisibi x1= 4M , x2 = 1+4M , x4 = M .
1. ntr-o staie de betoane se pot produce 3 tipuri de betoane (B150, B200, B300).
Staia este organizat astfel nct fiecare betonier poate produce orice marc de
betoane, capacitatea zilnic maxim a staiei este de 600 m3 . Betonul se transport
cu ajutorul a 20 de autobetoniere de 5 m3 capacitate fiecare, duratele ciclurilor de
transport pentru cele 3 mrci de betoane fiind de 0.1 ; 0.2 i 0.1 zile respectiv.
Consumurile normate de ciment pe cele trei mrci de beton sunt respectiv 200, 300
i 400 kg/m3 . Staia este aprovizionat zilnic cu o cantitate de 180 tone de ciment .
Ca urmare a organizrii staiei se obin urmtoarele economii pe mrci de beton: 1;
1.2 i 0.8 u.m. / m3 .
Se cere gsirea soluiei care aduce maximum de profit staiei, tiind c se cere
beton n cantiti mai mari dect posibilitile de preparare.
Rezolvare
a) Modelarea problemei
Notm cu x1 , x2 , x3 , cantitile de beton din fiecare marc ce se cer a fi
determinate astfel nct funcia obiectiv
z = f(x1 , x2 , x3 ) = 1x1 + 1.2x2 + 0.8x3 ,
s fie maxim sub restriciile
x1 + x2 + x3 600 (nu se poate depi capacitatea de producie a staiei)
0.1x1 +0.2x2 +0.1x3 205 (nu se poate depi capacitatea zilnic de
transport)
200x1 +300x2 + 400x3 600 (nu se poate depi cantitatea de ciment cu
care este aprovizionat zilnic staia)
S-a obinut urmtoarea problem de programare liniar:
Forma canonic
Forma standard
96
P3
Disponibil
2
3
3
15
12
Rezerve
F
B
Profit
2
1
1.5
3
2
4
care conine i consumurile din aceste rezerve la unitatea de produs pentru fiecare
tip, precum i beneficiile aduse de o unitate de fiecare tip de produs. Datorit
condiiilor impuse de stocare ntreaga producie nu trebuie s depeasc 8 uniti.
S se determine planul optim de producie care n condiiile date s dea un
profit total maxim pe secie.
R. n urma modelrii acestei probleme se obine urmtorul program liniar:
max f = max{1.5x1+4x2+3x3}
2 x1 + 3x 2 + 2 x 3 15
x + 2 x + 3 x 12
1
2
3
.
8
+
+
x
x
x
2
3
1
x i 0 , i = 1,3
Se obine soluia max f=20.4 pentru x1 = 0 , x2 = 4.2 , x3 = 1.2 .
3. La o secie de producie a unei ntreprinderi de construcii, unde se lucreaz n
flux continuu de band, sunt necesare pentru fabricarea de panouri pentru cofraje 4
tipuri de materii prime (panel (P), scndur de brad (SB), dulapi (D), cuie (C)) care
4. Programare liniar
97
S1
S2
S3
Cheltuieli de munc
SB
1
1
0
6
1
2
1
8
0
1
1
12
1
0
1
10
Nr. necesar de
panouri
2
4
3
x 2 + x3 + x 4 = 3
x i 0 , i = 1,4
Se obine soluia min f = 29 , pentru nivelurile de consum de materiale
x1=0 , x2=1.5 , x3=1 , x4=0.5 .
M1
M2
Profit
P1
P2
P3
P4
P5
P6
P7
3
5
6
4
3
5
2
1
2
3
4
6
5
2
6
2
4
5
3
3
6
Datorit unei cereri mari de produse P1 , P2 s-a propus ca mcar 25% din
ntreaga producie a seciei s fie reprezentat de aceste produse. S se determine
un plan de producie care s respecte condiiile impuse i care s aduc un profit
total maxim n secia respectiv.
R. Trebuie rezolvat urmtoarea problem de programare liniar:
max f = max{6x1+5x2+2x3+6x4+6x5+5x6+6x7}
98
3 x1 + 4 x 2 + 2 x 3 + 3x 4 + 5 x 5 + 2 x 6 + 3x 7 200
5 x + 3 x + x + 4 x + 2 x + 4 x + 3 x 300
1
2
3
4
5
6
7
3
3
0
+
+
+
+
+
x
x
x
x
x
x
x
1
2
3
4
5
6
7
x i 0 , i = 1,7
Se obine max f =430.77 pentru
x1=19.23 ; x2= x3= x4= x5=0 ; x2=30.77 ; x2=26.92 .
Aliment
Substan
S1
S1
S1
Pre
Tabelul 4.18
A1
A2
A3
4
5
1
8
3
7
5
7
2
2
4
5
Necesar
24
35
40
x1 + 5 x 2 + 4 x 3 40
x i 0 , i = 1,3
Dup introducerea variabilelor de compensare se obine problema sub forma
standard, dar nu are o baz canonic evideniat. De aceea se aplic metoda n dou
faze.
min f = min{8x1+7x2+5x3}
4 x1 + 3x 2 + 2 x 3 x 4 = 24
5 x + 7 x + 2 x x = 35
1
2
3
5
.
x1 + 5 x 2 + 4 x 3 x 6 = 40
x i 0 , i = 1,6
Se obine min f = 56 , meniul const din 8 uniti din alimentul al doilea i
coninutul n substana S2 depete minimul necesar cu 21 uniti, adic
x1=0 , x2=8 , x3=0 , x4=0 , x5=21 , x6=0 .
4. Programare liniar
99
3
4
0
5
2
0
3
0
S3
S4
1
3
0
3
3
1
4
1
5 x1 + 3x 3 + x 4 25
x 3
1
x2 2
x i 0 , i = 1,4 .
Pentru a reduce numrul restriciilor problemei liniare obinute se poate face
schimbarea de variabile y1 = x13 , y2 = x22 , y3 = x3 , y4 = x4 .
Se obine problema
min g =min {6y1+3y2+4y3+5y4+24}
3 y1 + 2 y 2 + y 3 + 3 y 4 15
4 y + 3 y + y 18
3
4
1
.
3 y 2 + 4 y 4 19
5 y + 3 y + y 10
3
4
1
y i 0 , i = 1,4
Dup aducerea la forma standard, se aplic metoda n dou faze i, dup
revenirea la variabilele xi , se obine soluia:
min f =65.416 , pentru x1=3 , x2=2 , x3=4.416 , x4=4.75 .
100
7. O ntreprindere dorete s produc un nou aliaj format din 30% metal A i 70%
metal B. Pentru aceasta are la dispoziie alte 5 aliaje ale cror preuri i compoziii
sunt date n Tabelul 4.20.
Aliaj
%A
%B
Pre/kg
Tabelul 4.20
1
2
3
1
2
5
0
5
0
9
7
5
0
5
0
5
4
3
4
7
5
2
5
2
5
95
5
1.5
Aliajul dorit va fi produs prin combinarea unor cantiti din celelalte 5 aliaje. S se
determine cantitile necesare realizrii noului aliaj cu cost minim.
R. Notm cu xi cantitatea din aliajul i (i=1,2,...,5) care intr n alctuirea noului
aliaj. Trebuie rezolvat urmtoarea problem de programare liniar:
min {5x1+4x2+3x3+2x4+1.5x5 }
10 x1 + 25 x 2 + 50 x 3 + 75 x 4 + 95 x 5 = 30
90 x1 + 75 x 2 + 50 x 3 + 25 x 4 + 5 x 5 = 70
x ,..., x 0
5
1
care are soluia: x1=0 , x2=0.9 , x3=0 , x4=1 , x5=0 , iar valoarea funciei obiectiv
este min f = 3.8 .
8. O rafinrie de petrol are dou surse de aprovizionare cu petrol brut: petrol brut
uor la 35$/baril i petrol brut greu la 30 $/baril. Rafinria produce benzin, petrol
lampant i benzin superioar, obinnd dintr-un baril de petrol brut cantitile din
Tabelul 4.21.
Tabelul 4.21
Produs finit
Benzin
Petrol
lampant
Benzin
superioar
0.3
0.3
0.2
0.4
0.3
0.2
Materie prim
Petrol brut uor
Petrol brut greu
Rafinria s-a angajat s produc 900 000 barili de benzin, 800 000 barili de petrol
lampant i 500 000 barili de benzin superioar. Ce cantiti de petrol brut uor i
greu trebuie achiziionate pentru a se realiza angajamentul cu un cost minim?
R. Notm cu x1 , x2 , x3 cantitile de petrol brut uor folosite pentru obinerea de
benzin, petrol lampant i respectiv benzin superioar, i analog x4 , x5 , x6 ,
cantitile de petrol brut greu. Se ajunge la urmtoarea problem de programare
liniar:
min {35(x1 + x2 + x3 ) + 30(x4 + x5 + x6 )}
4. Programare liniar
101
2
5
9. O firm produce cinci tipuri de piese de schimb pentru automobile. Fiecare pies
este turnat n oel la turntorie i apoi este trimis la secia de finisaj. Numrul de
ore munc necesare pentru 100 de uniti din fiecare tip de pies n cele dou secii
sunt date n Tabelul 4.22.
Tabelul 4.22
Tip pies 1
2
Secie
Turntorie
Finisaj
Profit / 100 uniti
2
3
3
0
1
2
2
0
3
2
4
0
3
1
2
5
1
1
1
0
3 x1 + 2 x 2 + 2 x 3 + x 4 + x 5 10
x 0 , i = 1,5
i
care are maximul egal cu 120, obinut pentru x1=0 , x2=4 , x3=1 , x4=0 , x5=0 .
5. PROBLEMA DE TRANSPORT
a = b
i =1
j =1
. De aici
rezult c una dintre restricii este redundant. Orice restricie se poate exprima n
funcie de celelalte m+n1 rmase.
Teorema 5.1. Problema de transport are totdeauna soluie i o restricie este
redundant. nlturnd oricare dintre restricii, cele n+m1 rmase formeaz un
sistem liniar independent (Luenberger, 1989).
Demonstraie. Existena soluiei i redundana rezult din observaia de mai sus.
Deoarece suma restriciilor date de centrele de aprovizionare este egal cu suma
restriciilor date de centrele de consum, rezult c orice restricie poate fi exprimat
ca o combinaie liniar de celelalte m+n1 . Astfel, orice restricie poate fi
eliminat. S presupunem c am eliminat o restricie, fie ea ultima. Presupunem c
exist o combinaie liniar a ecuaiilor rmase egal cu zero. S notm cu
i , i = 1, m , coeficienii acestei combinaii liniare corespunztori primelor ecuaii
j , j = 1, n 1
coeficienii corespunztori
x ij
5. Problema de transport
103
(x )
ij
(u , v )
i
xij = ai ;
j =1
x
i =1
ij
= b j ; x ij 0
c ij u i v j 0 ; x ij c ij u i v j = 0.
(rezult din Teorema ecarturilor complementare).
Din ultima condiie rezult c pentru x ij > 0 se obine c ij = u i + v j .
n cele ce urmeaz prin celul se nelege o pereche de indici (i,j), iar prin
ciclu se nelege un ir de celule notate
(i1 , j1 ) , (i1 , j 2 ) , (i2 , j1 ) , L , (it , jt ) , (it , j1 ) .
n continuare vom evidenia cea mai important proprietate structural a
problemei de transport: toate bazele sunt triunghiulare. Aceast proprietate
simplific rezolvarea unui sistem de ecuaii liniare a crui matrice a coeficienilor
are o astfel de baz i aceasta conduce la implementarea eficient a metodei
simplex pentru problema de transport.
Definiia 5.1. O matrice ptratic se numete triunghiular dac prin permutri ale
liniilor i coloanelor sale poate fi pus sub forma unei matrice inferior triunghiular.
O matrice inferior triunghiular este triunghiular n sensul definiiei de mai
sus. O matrice nesingular superior triunghiular este de asemenea triunghiular
deoarece prin schimbarea ordinii liniilor i coloanelor sale devine inferior
triunghiular.
Algoritm pentru a determina dac o matrice este triunghiular.
Pas 1. Se gsete linia care are un singur element nenul.
Pas 2. Se formeaz o submatrice din matricea dat prin tierea liniei i coloanei
elementului nenul din pasul 1. Se reia pasul 1 cu submatricea obinut.
Dac aceast procedur poate fi continuat pn cnd toate liniile au fost
eliminate, atunci matricea este triunghiular. Ea poate fi pus sub forma inferior
triunghiular prin aranjarea liniilor i coloanelor n ordinea n care au fost
determinate prin procedura de mai sus.
0 0 1 0 0
B = 0 0 0 1 1
1 0 0 1 0
0 0 1 0 1
este triunghiular.
104
0 0 1 0 0 1
B = 0 0 0 1 1 3
1 0 0 1 0 4
0 0 1 0 1 2
4 5 1 3 2
Permutm liniile n ordinea dat de coloana din dreapta matricei B i obinem
matricea
0 0 1 0 0
0 0 1 0 1
B1 = 0 0 0 1 1 .
1 0 0 1 0
1 1 0 0 0
Permutm coloanele n matricea B1 n ordinea dat de linia de sub matricea B
i obinem matricea
1 0 0 0 0
1 1 0 0 0
B2 = 0 1 1 0 0
0 0 1 1 0
0 0 0 1 1
care este inferior triunghiular i astfel matricea iniial este triunghiular.
5. Problema de transport
105
106
Corolar 5.2. Dac toate costurile unitare din problema de transport sunt ntregi,
atunci, dnd o valoare ntreag la un multiplicator oarecare, multiplicatorii
simplex asociai cu orice baz sunt ntregi.
Dac multiplicatorii simplex sunt cunoscui, coeficienii costurilor relative
pentru variabilele nebazice pot fi calculai cu relaiile
S = S c S .
n acest caz coeficienii costurilor relative sunt
ij = u i + v j cij , () i = 1, m , () j = 1, n .
Pentru variabilele bazice
sau 1 .
Din Teorema 5.4 rezult c atunci cnd o nou variabil este adugat la
soluie la un nivel unitar, variabilele de baz curente se vor schimba cu +1, 1 sau
0. Dac noua variabil are valoarea , atunci, corespunztor, variabilele de baz
se vor schimba cu +, , sau 0. Este, aadar, necesar s determinm semnul
schimbrii fiecrei variabile de baz.
5. Problema de transport
107
sk = max{ ij ()(i, j ) S
108
{ },
~
xij = xij + xrt dac (i,j ) este de rang impar n ciclu
x
dac (i,j ) nu face parte din ciclu
ij
~
Se nlocuiete B cu B , x ij cu ~
x ij i se trece la Pas 1.
5. Problema de transport
109
costului minim a lui H. S. Houthakker (se selecteaz la fiecare pas celula (i,j)
corespunztoare costului minim cij ).
5.4. Exemplu
B1
B2
B3
B4
Disponibil ( ai )
8
4
1
5
3
1
9
10
5
6
4
20
2
7
3
15
10
15
25
v3
x13 + x23 + x33 = 20
x14 + x24 + x34 = 15
v4
xij 0 , 1 i 3 , 1 j 4
110
Matricea restriciilor
1
0
0
A = 1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
B1
B2
5
5
B3
B4
10
10
20 10
10 5
15
15
Disponibil( ai )
10 5
15 10
25 15
8
5
5
4
1
5
10
9
4
10
3
15
5. Problema de transport
111
0
0
B=
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
c) Algoritmul de transport
Iteraia I
Pas 1. ncepem algoritmul cu soluia de baz obinut n etapa precedent. Se
consider v4=0 i se rezolv sistemul
B = c B = ( B T ) 1 c B , unde c B =(8 3 1 6 4 3) ,
rezultnd = (u1 u 2 u 3 v1 v 2 v 3 ) = (7 5 3 1 4 1) .
Obinem pentru celulele nebazice coeficienii de cost redus, ij = u i + v j c ij ,
() (i, j ) S
valorile:
13=u1+v3c13=7+15=3; 14=u1+v4c14=0+72=5; 21=u2+v1c21=5+14=2;
24=u2+v4c24=57=2; 31=u3+v1c31=3+11=3; 32=u3+v2c32=349=10.
Cum nu toi ij 0 , () (i, j ) S , continum cu determinarea celulei care intr n
baz sk = max{ ij
ij 0
(i,j ) S } = 14 = 5
y = B 1 d = B 1 (1 0 0 0 0 0 ) = (0 1 1 1 1 1)
C1 = (1,4) , (1,2) , (2,2 ) , (2,3) , (3,3) , (3,4 ) , (1,4) .
(minimul s-a luat dup toate celulele de ordin par (poziiile cu semn minus) din
ciclul C1) .
~
Pas 3. Aadar, iese din baz celula (1,2) i se obine baza B1 cu celulele:
~
B1 = { (1,1) , (1,4 ) , (2 ,2) , (2,3) , (3,3) , (3,4 ) } .
Se calculeaz
xij xrt dac celula (i,j ) este de rang par n ciclul C1 , semnul
~
xij = xij + xrt dac celula (i,j ) este de rang impar n ciclul C1 , semnul +
x
dac celula (i,j ) C1
ij
112
Tabelul 5.4
3
8
5+0
55
4
1
5+5
105
4
10+5
3
155
= (u1 u 2 u 3 v1 v 2 v3 ) = (2 5 3 6 4 1) ,
i obinem pentru celulele nebazice coeficienii de cost redus,
12=u1+v2c12=243=5; 13=u1+v3c13=2+15=2; 21=u2+v1c21=5+64=7
24=u2+v4c24=57=2; 31=u3+v1c31=3+61=8; 32=u3+v2c32=349=10.
Deoarece nu toi ij 0 , ()(i, j ) S 1 , continum cu determinarea celulei care
y = B1 d 1 = B1
(0
0 1 1 0 0) = ( 1 1 0 0 0 1)
min
{x }= x
(i , j ){ (1,1) , (3, 4 ) }
ij
11
=5
(minimul s-a luat dup toate celulele de ordin par din ciclul C2) .
~
Pas 3. Acum iese din baz celula (1,1) i se obine baza B 2 cu celulele:
~
B 2 = { (3,1) , (1,4) , (2 ,2) , (2,3) , (3,3) , (3,4) } .
Se calculeaz
xij xrt dac celula (i,j ) este de rang par n ciclul C2
~
xij = xij + xrt dac celula (i,j ) este de rang impar n ciclul C2
x
dac celula (i,j ) C2
ij
i se trec n Tabelul 5.5.
8
Tabelul 5.5
3
2
5+5
55
4
5. Problema de transport
113
10
1
5
9
105
15
= (u1 u 2 u 3 v1 v 2 v3 ) = (2 5 3 2 4 1) ,
i obinem pentru celulele nebazice coeficienii de cost redus,
11=u1+v1c11=228=8; 12=u1+v2c12=243=5; 31=u3+v1c31=2+15=2;
21=u2+v1c21=524=1; 24=u2+v4c24=57=2; 32=u3+v2c32=349=10.
Deoarece ij 0 , () (i, j ) S 2 , soluia x14=10 , x22=10 , x23=5 , x31=5 ,
x33=15 , x34=5 este optim, d pentru funcia obiectiv valoarea f=140 i algoritmul
se oprete.
Rezolvm aceast problem i cu ajutorul pachetului de programe Management
Scientist. Dup lansarea pachetului de programe alegem modulul Transportation
din fereastra prezentat n Figura 2.4. Din fereastra care apare se selectez din
submeniul File, New pentru crearea unei noi probleme de transport, se introduc
numrul de depozite i numrul de centre de consum, apoi costurile unitare de
transport ca n Figura 5.1.
Figura 5.1
114
Figura 5.2
Figura 5.3
5. Problema de transport
115
C9*B15+D7*D13+D8*D14+D9*D15+E7*F13+E8*F14+E9*F15+F7*H13+F8
*H14+F9*H15. Celulele cu necunoscutele problemei sunt B13B15, D13D15,
F13F15 i H13H15. Celulele B18B24 conin restriciile problemei conform cu
comentariile din celulele A18A24, apoi se adaug condiiile de nenegativitate. De
exemplu, celula B18 conine =B13+D13+F13+H13, avnd n vedere cum sunt
introduse datele problemei. Analog celelalte celule (B19B24). Dup apsarea
butonului Solve se obin rezultatele problemei i rapoartele ca n Tabelele 5.65.8.
Remarcm c rezultatele sunt aceleai cu cele obinute cu Management Scientist. .........
Tabelul 5.6
Microsoft Excel 10.0 Answer Report
Worksheet: [Problema de transport.xls]Sheet1
Report Created: 6/24/2002 11:39:27 PM
Target Cell (Min)
Cell
Name
Original
Value
Final
Value
$C$3
Functia de optimizat
140
140
Cell
Name
Original
Value
Final
Value
$B$15
Solutia problemei
$C$15
B2
Adjustable Cells
$D$15
B3
$E$15
B4
10
10
$B$16
Solutia problemei
$C$16
B2
10
10
$D$16
B3
$E$16
B4
$B$17
Solutia problemei
$C$17
B2
$D$17
B3
15
15
$E$17
B4
Constraints
Cell
Name
Cell Value
Formula
Status
Slack
$B$23
Restrictiile problemei
10
$B$23=$F$7
Not Binding
$B$24
Restrictiile problemei
15
$B$24=$F$8
Not Binding
$B$25
Restrictiile problemei
25
$B$25=$F$9
Not Binding
$B$26
Restrictiile problemei
$B$26=$B$10
Not Binding
$B$27
Restrictiile problemei
10
$B$27=$C$10
Not Binding
$B$28
Restrictiile problemei
20
$B$28=$D$10
Not Binding
116
$B$29
Restrictiile problemei
15
$B$29=$E$10
Not Binding
$B$15
Solutia problemei
$B$15>=0
Binding
$C$15
B2
$C$15>=0
Binding
$D$15
B3
$D$15>=0
Binding
$E$15
B4
10
$E$15>=0
Not Binding
10
$B$16
Solutia problemei
$B$16>=0
Binding
$C$16
B2
10
$C$16>=0
Not Binding
10
$D$16
B3
$D$16>=0
Not Binding
$E$16
B4
$E$16>=0
Binding
$B$17
Solutia problemei
$B$17>=0
Not Binding
$C$17
B2
$C$17>=0
Binding
$D$17
B3
15
$D$17>=0
Not Binding
15
$E$17
B4
$E$17>=0
Not Binding
Tabelul 5.7
Microsoft Excel 10.0 Sensitivity Report
Worksheet: [Problema de transport.xls]Sheet1
Report Created: 7/10/2002 11:30:45 PM
Adjustable Cells
Cell
$B$13
$B$14
$B$15
$D$13
$D$14
$D$15
$F$13
$F$14
$F$15
$H$13
$H$14
$H$15
Name
x11= Solutia
problemei
x21= Solutia
problemei
x31= Solutia
problemei
x12= B2
x22= B2
x32= B2
x13= B4
x23= B4
x33= B4
X14=
X24=
X34=
Final
Value
Reduced
Cost
Objective
Coefficient
Allowable
Increase
Allowable
Decrease
1E+30
1.00
4.00
1E+30
1.00
5
0
10
0
0
5
15
10
0
5
0
5
0
10
2
0
0
0
2
0
1
3
1
9
5
6
4
2
7
3
1.00
1E+30
5
1E+30
1E+30
1.00
2
2
1E+30
2
1E+30
5
1E+30
10
2
5
1.00
1E+30
2
2
Constraints
Cell
Name
Final
Value
Shadow
Price
Constraint
R.H. Side
Allowable
Increase
Allowable
Decrease
$B$18
x11+x12+x13+x14=
Restrictiile
problemei
10
10
5. Problema de transport
$B$19
$B$20
$B$21
$B$22
$B$23
$B$24
x21+x22+x23+x24=
Restrictiile
problemei
x31+x32+x33+x34=
Restrictiile
problemei
x11+x21+x31=
Restrictiile
problemei
x12+x22+x32=
Restrictiile
problemei
x13+x23+x33=
Restrictiile
problemei
x14+x24+x34=
Restrictiile
problemei
117
15
15
1E+30
25
25
10
10
10
20
20
15
15
Tabelul 5.8
Microsoft Excel 10.0 Limits Report
Worksheet: [Problema de transport.xls]Limits Report 1
Report Created: 7/11/2002 8:23:41 AM
Target
Cell
Name
Value
$D$3
Functia de optimizat
140
Adjustable
Cell
Lower
Target
Upper
Target
Value
Limit
Result
Limit
Result
140
140
140
140
$B$15
Name
x11= Solutia
problemei
x21= Solutia
problemei
x31= Solutia
problemei
140
140
$D$13
x12= B2
140
140
$D$14
x22= B2
10
10
140
10
140
$D$15
x32= B2
140
140
$F$13
x13= B4
140
140
$F$14
x23= B4
140
140
$B$13
$B$14
118
$F$15
x33= B4
15
15
140
15
140
$H$13
x14=
10
10
140
10
140
$H$14
x24=
140
140
$H$15
x34=
140
140
5. Problema de transport
119
n
n
Teorema 5.5. Orice soluie de baz admisibil pentru problema de atribuire (5.1)
are toate componentele, xij , egale fie cu 0, fie cu 1.
Demonstraie. Din corolarul 5.1 toate variabilele de baz n orice soluie de baz
sunt ntregi. Variabilele xij nu pot fi mai mari dect 1 i cum sunt nenegative, nu
pot lua dect valorile 0 sau 1
.
Astfel, sunt cel mult n variabile de baz care au valoarea 1, deoarece exist
cel mult un singur 1 pe fiecare linie i fiecare coloan. ntr-o problem de transport
de aceast dimensiune o soluie de baz nedegenerat ar avea 2n1 componente
pozitive. Problema atribuirii sarcinilor are soluia admisibil de baz puternic
degenerat avnd n1 componente de baz nule.
Pentru rezolvarea problemei de atribuire se poate folosi algoritmul de transport
sau algoritmul primaldual pentru problema de programare liniar.
120
Staie
Ramp
R1
R2
R3
Necesar
(tone)
Costuri (u.m.)
Ofert
S1
S2
S3
(tone)
7
3
4
2
6
5
5
3
6
17
21
23
19
28
14
2. O firm textil are dou fabrici, doi furnizori de materii prime i trei centre de
desfacere. Costurile de transport pentru o ton de ncrctur ntre furnizor i
fabrici i ntre fabrici i centrele de desfacere sunt date n Tabelul 5.10 .
Tabelul 5.10
Centru de
desfacere
Fabric
A
Furnizor
1
2
4
3
2
4
1
2
Fabric
1
2
1.5
1.5
A
B
5. Problema de transport
121
Tabelul 5.11
Funcie
1
5
6
8
4
7
11
7
3
2
Candidat
1
2
3
4. Un centru de proiectare are de realizat trei contracte pentru trei beneficiari (cte
unul pentru fiecare beneficiar n parte) i timpii necesari realizrii acestor proiecte
(n sptmni) pentru cele trei echipe de proiectare sunt trecui n Tabelul 5.12.
Tabelul 5.12
Client
Echipa de proiectare
1
2
3
10
9
6
15
18
14
9
5
3
Dac fiecrei echipe i se atribuie un singur proiect, care va fi cea mai eficient
atribuire n sensul celui mai mic numr de sptmni necesare pentru realizarea
celor trei proiecte?
R. Echipei 1 i se va repartiza proiectul 2, echipei 2 i se va repartiza proiectul 3,
echipei 3 i se va repartiza proiectul 1, iar timpul minim necesar realizrii celor trei
proiecte este de 26 sptmni.
5. O firm care organizeaz mese festive trebuie s serveasc n fiecare sear cte
un banchet, timp de 4 zile. Pentru fiecare zi i sunt necesare ri fee de mese curate,
r1=100 , r2=130 , r3=150 , r4=140 . Feele de mese murdare se trimit la curtorie,
care le poate spla rapid (de pe o zi pe alta) cu un pre c1=6 u.m., sau normal (la
dou zile), cu un pre c2=4 u.m. Firma poate i s cumpere fee de mese la un pre
c0=12 . Stocul iniial de fee de mese este s=200. S se determine costul minim
pentru a asigura fee de mese curate n fiecare sear.
6. PROGRAMARE PTRATIC
n
2
max j x j + ( d j + j ) x j = f ( x)
j =1
j =1
m
1 i m
(6.2)
a ij x j bi
j =1
x j 0 j = 1,n
Funcia obiectiv a acestui model este o form ptratic. Modelul (6.2) poate fi
extins n sensul c i costul unitar de producie di poate depinde de nivelul de
y j = j jk x k .
k =1
6. Programare ptratic
123
j =1
n
max
( j + j x j ) x j = f ( x)
j =1
m
1 i m
(6.3)
a ij x j bi
j =1
x j 0 j = 1,n
y j a i xij eventual
min b j y j a i xij .
j =1
i =1
a i a i a i+ sau
i =1
ri
ai c r
1 r p .
124
min b j y j a i xij
i =1
.
n j =1
+
a c , 1 r p sau a a a
ri
i
r
i
i
i
i =1
Mai nainte de a trece la rezolvarea problemei de programare ptratic s
amintim cteva noiuni referitoare la formele ptratice.
f ( x ) = C ij xi x j + c j x j + c 0
i =1 j =1
j =1
unde: x=(x1, ..., xn) , C M n ,n (R ) i Cij=Cji (n caz contrar, adic dac CijCji,
1
(C ij + C ji )
2
dij=dji ) , iar c = (c1 ,..., cn ) .
definim
d ij =
i atunci
C
i =1 j =1
ij
xi x j = d ij xi x j
i =1 j =1
tie c funcia Q(x) se poate pune sub form de sum algebric de ptrate de
expresii liniare, omogene i independente (reducerea la forma canonic a formelor
ptratice cu metoda lui Gauss). Dac notm cu n+ i cu n numrul ptratelor care
au coeficienii pozitivi i respectiv negativi, atunci avem n+ + n n .
Definiia 6.1. Q(x) se numete form ptratic pozitiv definit dac n+ = n i
n = 0 .
Definiia 6.2. Q(x) se numete form ptratic pozitiv semidefinit dac n+<n i
n=0 .
Definiia 6.3. Q(x) se numete form ptratic negativ definit dac n = n i
n+= 0 .
Definiia 6.4. Q(x) se numete form ptratic negativ semidefinit dac n< n i
n+ = 0 .
6. Programare ptratic
125
Proprieti
1. Dac Q este pozitiv definit, atunci
det(C)>0 i Q(x)>0, ()x R n \ {0} , iar Q(0)=0 .
2. Dac Q este pozitiv semidefinit, atunci
det(C)=0 i Q(x)=0,
pentru o mulime de vectori x0 .
3. Dac Q este negativ definit, atunci
det(C)<0 i Q(x)<0, ()x R n \ {0} , iar Q(0)=0
4. Dac Q este negativ semidefinit, atunci
det(C)=0 i Q(x)=0,
pentru o mulime de vectori x0 .
Demonstraie
n
i > 0 , i = 1, n . Atunci
Q( ) = i i2
i > 0 , i = 1, n + ,
cu
i =1
i = 0 , i = n + + 1, n . Atunci
Q[ x + (1 ) y ] = Q( x ) + (1 ) Q( y ) + 2 Q( x y ) .
126
Q[ x + (1 ) y ] Q( x ) + (1 ) Q( y ) .
Prin urmare, orice form ptratic pozitiv definit este o funcie strict convex i
orice form ptratic pozitiv semidefinit este o funcie convex.
O problem de programare ptratic este acea problem n care trebuie
care minimizeaz o form ptratic convex sau
determinat un vector x*
maximizeaz o form ptratic concav i n care variabilele mai trebuie s
verifice un sistem de inegaliti liniare i eventual unele restricii de semn.
Forma general a problemei de programare ptratic este
n
1 n n
min f ( x ) = min 2 Cij xi x j + ci xi
i =1 j =1
i =1
n
aij x j bi 1 i m
j =1
x j 0 1 j n (restricii de semn)
sau matriceal
min f ( x) = min 2 x Cx + c x
Ax b
x 0
n
m
x R , b R , A M mn (R ) , C M n (R )
(6.4)
unde
1
x Cx + c x
2
este convex. Numim aceast form a problemei de programare ptratic forma
canonic. n inegalitile (6.4), valorile bi sunt strict pozitive (dac ar fi negative,
inegalitile respective se nmulesc cu 1).
f ( x) =
6. Programare ptratic
127
Figura 6.2
Figura 6.1
este soluia
n
*
*
1 i m
aij x j + yi = b
jn=1
m
C x * u * a v * = c
1 j n
jk k i ij
j
j
k =1
i =1
x * 0 , u* 0 , v * 0 , y * 0
n
n
x*j v*j = 0 , u*i y*i = 0
j =1
i =1
sau matriceal
(6.5)
128
Ax + y = b
Cx - A t u - v = -c
x v = 0, u y = 0
x * 0 , u * 0 , v * 0 , y * 0
Observaia 6.2. yi sunt variabilele ecart care apar n Ax+y=b, vi sunt variabilele
ecart n CxATuv=c .
Din condiiile de nenegativitate rezult c
xjvj=0
i
uiyi=0 ,
1 j n , 1 i m , adic din cele 2m+2n necunoscute care apar n sistemul
(6.5) de m+n ecuaii, intereseaz numai soluiile nenegative, care au cel mult
m+n componente nenule, adic soluiile admisibile de baz ale sistemului (6.5) .
Fie problema de programare ptratic
n
1 n n
min
(
)
min
f
C
x
x
ci xi
x
=
+
ij i i
2 i =1 j =1
i =1
n
aij x j = bi 1 i m
j =1
1 j n
x j 0
min f ( x ) = min 2 x Cx + c x
Ax = b
x 0
(6.4)
(matriceal)
( )(
Ax = b
t
Cx A u + v = -c
xv = 0 , x 0 , u 0 .
(6.6)
n
Propoziia 6.2. Dac R = { xR Ax=b ; x0 }, atunci (6.4) are optim
infinit dac i numai dac sistemul
6. Programare ptratic
129
Ax * = b
*
t *
*
Cx A u + v = -c
x * 0 , u* 0 ,
(6.7)
este incompatibil.
Demonstraie. Presupunem c min f ( x ) = i s artm c sistemul (6.7) este
incompatibil. Fie x R . Prin absurd, presupunem c sistemul (6.7) are soluia
(x*, u*, v*). Deoarece f este convex avem
f ( x ) f ( x* ) x f ( x* ) x x* = Cx* + c x x* = At u* v x x* =
= u* Ax - v* x - u* Ax + v* x*
Dar
Ax * = Ax = b i v * x * 0 ,
de unde rezult c
f ( x ) f ( x* ) - v * x ,
adic minf(x) nu poate fi - . Contradicie!
S artm c dac sistemul (6.7) este incompatibil atunci minf(x)= .
Sistemul fiind incompatibil, rezult c problema (6.4) nu are soluii. Da, cum
R, rezult c min f ( x ) = .
)( ) (
)( ) (
( ) ( ) ( ) ( )
)(
( )
( )
{ 1, 2,..., n}
astfel
x1
v 1
2
x = x , v = v 2 .
3
3
x
v
Lema 6.1. Dac urmtoarea problem de programare liniar
min g z
Ax = b
Cx A t u + v + Dz = -h
n
m
x, v, z, g R , u, h R
x, v, z 0 , x 3 = 0 , v 1 = 0
(6.8)
admite soluie optim (x*, v*, u*, z*) cu x*1>0 , v*3>0 , atunci exist R n
astfel nct
A * = 0 , C * = 0 , * 0 , g z * = h * .
2
130
min g z
x1
2
[A1 A2 A3 ] x = b
1
0
C11 C12 C13 x
2
t
C
C 22 C 23 x A u + v 2 + Dz = h
21
v 3
C 31 C 32 C 33 0
1 2 2 3
x , x , v , v , z 0
Duala problemei (6.9) este problema de programare liniar
max {b + h }
t
t
t
At + C11
1 + C 21
2 + C 31
3 0
1
t
t
t
t
1
2
3
A2 + C12 + C 22 + C 33 0
t
D g
A = 0 , 2 0 , 3 0 .
(6.9)
(6.10)
*1
*3
A t + C t 1 + C t 2 = 0
11
21
1
1
2
t
t
t
A2 + C12 + C 22 0
A = 0 , 2 0 , 3 = 0 ,
(6.11)
( )
( )
+ ( ) A + ( ) C
2
t
2
t
12
( )
+ ( ) C
2
t
22
0 .
2
inem seama c A = 0 i atunci putem scrie relaiile de mai sus sub forma
( ) ( ) CC
1
2
11
12
1
C12
2 0.
C 22
6. Programare ptratic
131
( )
( )
2
b = Ax * = A1 x * + A2 x * = A2 x * = 0 ,
( )
( )
( )
Propoziia 6.3. Dac R , atunci problema (6.4) are optim infinit dac i
A = 0
C 0
c < 0
0
(6.12)
t
(6.13)
Cx A u + v + Dz = -c
x0 , u0 ,
0 dac i j
unde D = (d ij )1
, d ij = 1
dac i = j , ci 0 , iar e = (1, ...,1) are optim
i, jn
1 dac i = j , c > 0
i
nenul. Fie (x*, v*, u *, z*) o soluie optim pentru (6.13). Sistemul (6.12) este
compatibil, aa cum rezult din Lema 6.1, n care lum
g = e = (1,1,...,1) , h = -c , I 1 = I 3 =
i innd seama c ez>0.
Dac
() R n
() 0 , astfel nct
x R ,
atunci pentru
x + * 0 avem A x + * = Ax + A * = b . De aici
f x + * = f ( x ) + 2x C * + 2 C * + c * = f ( x ) + c *
( )
f (x + ) .
*
132
Algoritmul lui Wolfe n forma scurt const din dou etape. n etapa nti se
rezolv urmtoarea problem de programare liniar (tefnescu, 1989):
min z 1 + z 2
Ax = b
(6.14)
*
1
2
t
Cx A u + v + z z = -c
x, v, z 1 , z 2 0
x, v, z1 , z 2 R n , iar
unde
u R m , mpreun cu urmtoarea regul
suplimentar:
(6.15)
Pentru ()i = 1, n , xi , vi nu pot fi simultan nenuli
Teorema 6.3. Prin aplicarea algoritmului simplex problemei (6.14) mpreun cu
regula suplimentar (6.15) se ajunge la una din situaiile:
a) problema (6.14) nu are soluii admisibile, R = ;
b) se obine soluia optim (x*, v*, u *, z*1, z*2) pentru problema (6.14);
c) se obine o soluie de baz a problemei (6.14) care nu mai poate fi
mbuntit fr nclcarea regulii (6.15).
Demonstraie. Se aplic algoritmul simplex, faza I, problemei (6.14), inndu-se
seama de regula (6.15) . ntruct nu s-au pus condiii de semn asupra vectorului u,
l vom descompune n u= u 1- u 2 , u1 0 , u 2 0 . Semnul pentru z i1 , z i2 se alege
astfel nct s fie acelai cu cel al termenului liber ci . De aceea aceste variabile
sunt iniial variabile de baz. Se completeaz baza cu variabilele artificiale xa,
adugate primelor m ecuaii. Fie r = rang ( A) < m i se consider c primele r
A
coloane ale matricei sunt primii r vectori unitari din Rm+n.
C
Faza I se aplic problemei
a
min xi
~ i
A~
x =b
*
t 1
t 2
1
2
Cx a A u 1 + A2 u 1 + v2+ z z = -c
x, x , v, u , u , z , z 0
1
2
r
a
mr
1
2
m
x, v, z , z R , x R , u , u R
unde
x
~
A = A, e r +1 ,...e m , ~
x = a ,
x
(6.16)
6. Programare ptratic
133
respectnd regula (6.15). Baza iniial este baza canonic din Rm+n , iar soluia de
baz iniial este
bi 1 i r
z 1j = -c j , z 2j = 0
dac c j 0 ,
xi =
,
+
i
m
0
r
1
(6.17)
1
2
cj 0 .
z j = 0 , z j = c j dac
x a = b r i m
i
i
Deoarece coeficienii variabilelor vi i z i1 coincid, dou astfel de variabile nu
pot fi simultan n baz i atunci regula (6.15) se poate aplica n aceast faz fr a
se altera rezultatul. De fiecare dat cnd o variabil z i1 are ansa s intre n baz o
Teorema 6.4
1. Dac se realizeaz a) din Teorema 6.3, atunci problemma (6.4) nu are
soluii admisibile.
1
2
2. Dac se realizeaz b) din Teorema 6.3, adic z * = z * = 0 , atunci x* este
soluie optim a problemei (6.4).
3. Dac se realizeaz b) din Teorema 6.3 i e z 1 + z 2 > 0 , problema (6.4)
are optim infinit.
1
2
4. Dac se realizeaz c) din Teorema 6.3 i dac z * = z * = 0 , atunci x* este
soluie optim pentru problema (6.4).
Demonstraie. Dac se realizeaz a) din Teorema 6.3, atunci sistemul
Ax = b , x 0 este incompatibil deoarece nu s-au eliminat n faza I toate
variabilele artificiale xa din baz. Dac se realizeaz b) i c) din Teorema 6.3,
rezult c sistemul Ax = b , x 0 este compatibil i astfel rezult concluziile 2, 3
i 4 i demonstraia se ncheie.
Comentarii
1. Variabilele z i2 se introduc doar dac ci>0.
2. La ncheierea fazei nti s-au eliminat toate variabilele artificiale xa . n
1
2
faza a doua nu se mai introduc variabilele z i* , z i* nebazice.
3. Nu se poate trage o concluzie n situaia c) din Teorema 6.3, deoarece
regula (6.15) nu face parte din algoritmul simplex.
4. Dac A are o baz unitar, faza I nu mai este necesar.
Urmtoarea teorem stabilete condiii suficiente pentru cazul n care se poate
aplica algoritmul simplex, completat cu regula suplimentar (6.15), pentru
rezolvarea problemei de programare ptratic (6.4).
134
i
Ax = b
(6.14)
t
Cx A u + v + Dz = -c
x, v, z 0
unde D = (d ii ` )1 i n este o matrice diagonal ale crei elemente sunt date de relaiile
1
dac zib1 este variabil bazic
z ib = z b 2
0
Fie I 1 = i x i* > 0 i I 3 = i v i* > 0 , unde (x*, v*, u*, z*) este soluia final a
problemei (6.14), obinut cu algoritmul simplex modificat cu regula suplimentar
(6.15). Atunci (x*, v*, u*, z*) este soluie optim i a problemei
min z i
i
Ax = b
(6.14)
Cx A t u + v + Dz = -c
3
1
x = 0 , v = 0
x, v, z 0
*
Presupunem c (x , v*, u*, z*) nu este soluie optim a problemei (6.14) i
atunci, la urmtorul pas, algoritmul simplex produce o nou soluie de baz
mbuntit pentru problema (6.14). Deoarece x *j = 0 , i I 2 I 3 , v *j = 0 ,
i I 1 I 2 i cum problema (6.14) impune condiiile
x 3 = 0 , v 1 = 0 , este
posibil ca n noua soluie de baz cu valori nenule, cel mult una din variabilele
x i , v i , i I 2 . n acest fel noua soluie satisface condiia (6.15) i este o soluie
mai bun dect (x*, v*, u*, z*). Contradicie !
6. Programare ptratic
135
R n cu proprietile A * = 0 , C * = 0 , g z * = c * .
Din i) rezult c gz= 0 i atunci z= 0 .
Din ii) i C*= 0 rezult c *= 0 i gz= 0 i atunci din nou z= 0 .
Problema (6.4) poate fi adus la forma (6.4), similar formei (6.4), prin
introducerea variabilelor ecart w, astfel
1 ~ ~~ ~ ~
min 2 x Cx + c x
~
=
A
x
b
(6.4)
~
x 0
x
c ~ C 0
.
x = R n+ m , c~ = , C =
unde: ~
w
0
0 0
Adugarea variabilelor ecart nu afecteaz faptul c matricea C din funcia
obiectiv este pozitiv definit.
~
~
~
Din iii) C este pozitiv semidefinit i aplicnd Lema 6.1 pentru A , C
rezult c exist ~ = w cu C~ * = 0 . De aici rezult c C*=0 i, ca mai
*
sus, =0 i gz=0 i atunci din nou z=0.
n toate cele trei situaii soluia (x*, v*, u*, z*) are z=0 i teorema este
demonstrat.
Observaia 6.3
a) Forma scurt a algoritmului lui Wolfe se aplic atunci cnd se verific
incluziunea
R n A = 0 , C = 0 R n c = 0
(6.18)
b) Incluziunea (6.18) are loc dac se verific unul din urmtoarele cazuri:
i) c=0 ,
ii) C este pozitiv definit,
iii) Matricea C, A t are rangul n ,
} {
1
*
*
min 2 x C x + (c ) x
* *
A x = b
x 0
*
cu C pozitiv definit.
136
Demostraie
i) Incluziunea (6.18) este evident deoarece membrul drept coincide cu R n .
ii) i iii) au membrul stng format numai din vectorul nul i atunci incluziunea
(6.18) este evident.
iv) c este o combinaie liniar a liniilor matricei C, A t i incluziunea (6.18)
este evident.
v) Demonstraia este dat n Teorema 6.5 .
z i1 sau z i2 .
Faza a II-a folosete programul obinut n faza I pentru rezolvarea problemei
(6.14), innd seama de regula (6.15) care poate fi formulat i astfel :
dac una din variabilele xi i vi este n baz, atunci cealalt nu poate fi
introdus n baz la iteraia respectiv.
Se asigur astfel respectarea condiiei xivi=0.
Exemplu. S se rezolve urmtoarea problem de programare ptratic :
1
1
1
x1 2 x 2 + x 3 = 4
.
x1 , x 2 , x 3 0
Rezolvare. Vom aplica algoritmul lui Wolfe n forma scurt.
2
1 0 0
1
f(x)= x' Cx + c' x ; C = 0 1 0 , c = 3 , A = (1 2 1) .
2
1
0 0 0
t
rang C A = rang 0 1 0 2 = 3 deoarece 0 1 2 = 1 .
0 0 0 1
0 0 1
[ ]
6. Programare ptratic
137
t
1
2
Cx v + A u + z z = c1
1
2
x 0, v 0, z 0, z 0, w 0
u oarecare
dac c j 0 ; z 1j = 0 .
Ax + x a = b
0
1 0
1
2
t
Cx v + A u u + Dz = c , unde D = 0 1 0
0 0 1
x , v , u1 , u 2 , z 1 , z 2 , w 0
Pe componente avem:
x1 2 x 2 + x3 + x a
=4
1
2
1
=2
x1 v1 + u u + z1
1
2
2
x 2 v 2 2u 2u z1 = 3 .
v + u 1 u 2 z 2
= 1
2
3
1
2
1
2
x, v, u , u , z , z , w 0
Faza I. Se aplic algoritmul simplex urmtoarei probleme de programare liniar:
x1 2 x 2 + x 3 + x a
1
2
1
x1 v1 + u1 u1 + z1
1
2
2
x 2 + v 2 + 2u 2 + 2u 2 + z1
v u 1 + u 2 + z 2
3
3
2
3
x , v , u1 , u 2 , z 1 , z 2 , x a 0 .
=4
=2
=3
=1
138
0
x3
0
v1
0
v2
0
v3
0
u1
0
u2
VVB
0
x2
VB
0
x1
CVB
z11
z 22
z 23
1
xa
1
0
xa
4
2
1
1
2
0
1
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
z 22
3
2
x3
z11
4
4
2
1
1
1
2
2
0
1*
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
z 22
z 23
1
1
Tabelul 6.2
CVB
VB
VVB
0
x1
0
1
x3
z11
4
2
1
1
2
0
1
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
z 22
3
2
0
1
x3
6
4
1/2
1
1
1
1
2
1/2
0
1
0
1
0
1
1
0
1/2
1
0
0
2*
0
0
2
0
0
0
0
1
0
0
0
0
0
3/2
5/2
0
0
1/2
1/2
0
0
0
0
1/2
1/2
0
1
1
0
1
0
0
0
0
1
3
7/2
1/2
3/2
5/2
1*
0
1
0
0
1
5/2
1/2
1/2
1/2
0
1
0
0
0
1
1
1
0
0
0
1/2
1/2
1/2
1/2
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
5/2
2
2
3
1
0
0
1
0
0
1/2
2
0
1
0
0
1
0
0
0
0
1
1
0
0
1/2*
0
0
1
0
1
0
0
0
1
0
1
1
2
1
0
0
0
0
1
1
1
3
5
1
0
0
0
1
0
0
0
0
2
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1*
0
0
0
1
0
z11
0
1
u1
0
0
0
1
x3
x1
u1
3
2
z 23
0
0
0
1
x3
x1
v2
z 23
0
0
0
0
x3
x1
v2
u3
0
x2
0
x3
0
v1
0
v2
0
v3
0
u1
0
u2
1
1
1
2
2
z 23
6. Programare ptratic
139
1
.
2
Multiplicatorii lui Lagrange sunt: v1=0, v2=5, v3=0; u=u1u2=01= 1 .
Figura 6.1
140
Tabelul 6.3
Microsoft Excel 10.0 Answer Report
Worksheet: [Programare patratica.xls]Sheet1
Report Created: 7/10/2002 8:09:27 PM
$D$4
Cell
Adjustable Cells
Original
Name
Value
Cell
Final Value
0.5
Final Value
$B$15
x1=
$B$16
x2=
$B$17
x3=
1
Constraints
Cell
Name
Cell Value
$A$12
x12x2+x3=
$B$15
x1=
$B$16
x2=
$B$17
x3=
Formula
Status
Slack
$A$12=$B$11
Not Binding
$B$15>=$B$7
Not Binding
$B$16>=$B$8
Binding
$B$17>=$B$9
Not Binding
Tabelul 6.4
Microsoft Excel 10.0 Sensitivity Report
Worksheet: [Programare patratica.xls]Sheet1
Report Created: 7/10/2002 8:09:27 PM
Adjustable Cells
Cell
Name
Final
Reduced
Value
Gradient
$B$15
x1=
$B$16
x2=
5.000000477
$B$17
x3=
Constraints
Final
Lagrange
Cell
Name
Value
Multiplier
$A$12
x12x2+x3=
6. Programare ptratic
141
Tabelul 6.5
Microsoft Excel 10.0 Limits Report
Worksheet: [Programare patratica.xls]Limits Report 1
Report Created: 7/10/2002 8:09:27 PM
Target
Cell
Name
Functia de
optimizat
$D$4
Value
0.5
Adjustable
Lower
Target
Upper
Targe
t
Cell
Name
Value
Limit
Result
Limit
Result
$B$15
x1=
0.5
0.5
$B$16
x2=
0.5
0.5
$B$17
x3=
0.5
0.5
1 2
2
2
min 2 x1 + 5 x 2 + 2 x 3 + 4 x1 x 2 2 x1 x 3 4 x 2 x 3 x1 + 3x 2 + 4 x 3
2x1 + 3x 2 x 3 2
a) x1 + x 2 + 2 x 3 4
x1 2 x 2 + x 3 6
x2 1
x 0
min x12 + 2 x 22 + 3x 32 2 x1 x 2 + 2 x1 x 3 2 x 2 x 3 x1 + 2 x 2 x 3
x + 2 x 2 3x3 = 6
b) 1
x1 2 x 2 + 4 x 3 = 8
x 0
x1 + 2 x 2 + x 3 = 6
a)
x1 + x 2 4
b)
3 x1 + x 2 + x 4 = 9
x0
x 0
142
10
18
10
24 27
, 0 , , v = 0, 0, , 0 , u = , 0 .
b) x = ,
13
13
13
13 13
3. S se determine valoarea optim i punctul n care se atinge aceast valoare
pentru problemele 1 i 2, folosind MathCAD.
7. PROGRAMARE DINAMIC
7.1. Generaliti
S considerm un sistem a crui evoluie n timp poate fi controlat, chiar i
parial, de aciunile unui factor decident. n orice moment i al evoluiei, starea
sistemului se poate descrie printr-un vector x i R s numit vectorul strilor, sau
vector de stare. Pe fiecare perioad decidentul ia o decizie i , care provoac o
modificare a strii sistemului, reflectat de un vector de decizie, d i R m .
Vectorii de decizie di pot lua valori admisibile n domeniile de
admisibilitate i R m , 1 i N . Cei doi vectori, de stare i de decizie de la
momentul i, determin starea sistemului de la momentul i+1, conform unei
legi de evoluie
xi +1 = i ( x i , d i ) .
Programarea dinamic este o metod de optimizare a sistemelor n care se
opereaz pe faze sau secvene. Baza acestei metode o constituie Principiul de
optimalitate al lui Bellman, care se enun astfel (Kaufmann, 1967):
Orice politic optim nu poate fi format dect din subpolitici optime.
O politic este alctuit dintr-o succesiune de decizii. Multe fenomene sau
probleme sunt de natur secvenial, adic permit descompunerea lor n etape (faze),
fiecare etap depinznd de cele apropiate, de etapa anterioar i cea urmtoare.
Vom introduce n continuare cteva concepte cu care se opereaz n teoria
deciziilor (Zidroiu, 1975). Considerm s=1 i m=1 i atunci vectorul de stare
devine variabila de stare, iar cel de decizie devine variabila de decizie.
Etapele procesului sunt momentele n care trebuie luate deciziile. n problemele
secveniale ele formeaz un ir cresctor, pe care l vom nota cu 1, 2, ..., N .
Spunem c avem o problem de decizie cu orizont finit sau infinit, dup cum N
este finit sau nu.
n cazul unui orizont finit de N etape, o politic este reprezentat de un ir
format din deciziile luate n cele N etape.
Dac orizontul este infinit, orice politic va fi reprezentat printr-un ir infinit,
avnd aceeai interpretare ca i n cazul finit.
Schematic, cele prezentate mai sus se pot reprezenta astfel:
144
Etapa
Starea sistemului
Decizia luat
0
x0
1
x1
2
x2
N1
xN1
...
...
...
N 1
N
xN
N
xN
N1
xN1
N 1
N2
xN2
N 2
...
...
...
x1
0
x0
7. Programare dinamic
145
S notm ri(xi; di) ctigul parial dobndit n urma lurii deciziei i n etapa
a i-a, cnd sistemul trece din starea xi1 n starea xi.
Ctigul total pentru un orizont de N etape poate fi reprezentat ca o funcie
de ctigurile pariale r1, r2, ..., rN asociate diferitelor etape ale sistemului.
Aceast funcie se poate scrie sub forma
f [r1 (x1 ; d 1 ), r2 ( x 2 ; d 2 ),..., rN (x N ; d N )]
i constituie funcia obiectiv ataat procesului de decizii considerat.
Definiia 7.1. O funcie f i : R i [0, ) se numete decompozabil prospectiv
~
dac exist o funcie f i : R 2 [0, ) monoton (cresctoare pentru probleme de
maxim i descresctoare pentru probleme de minim) n a doua variabil astfel
nct
~
f i (r1 ,..., ri ) = f i (ri , f i 1 ( r1 ,..., ri 1 )) .
Definiia 7.2. O funcie f i : R i [0, ) se numete decompozabil retrospectiv
~
dac exist o funcie f i : R 2 [0, ) monoton (cresctoare pentru probleme de
maxim i descresctoare pentru probleme de minim) n a doua variabil astfel
nct
~
f N i +1 (ri ,..., rN ) = f N i +1 (ri , f N i (ri +1 ,..., rN )) .
Cu schimbarea de variabil xi = x N i se poate trece de la decompozabilitate
prospectiv la cea retrospectiv i invers.
Cazul cel mai frecvent de decompozabilitate este cazul aditiv, cnd funcia obiectiv
este de forma
N
(7.1)
i =1
(7.2)
N
N
N
N 1
N 1
N 1
1 1
1
N
N
1
N
adic funcia obiectiv depinde de starea final xN i de variabilele de decizie dN ,
dN1 , ... , d1 . Astfel, cunoscnd starea final i politica aleas se poate calcula
ctigul asociat politicii considerate.
n cazul analizei prospective, ctigul total se exprim n funcie de starea
iniial x0 i de variabilele de decizie d1 , d2 , ... , dN , astfel
146
(7.3)
Printre politicile posibile care fac ca sistemul s evolueze din starea x0 n
starea xN , exist una (sau mai multe) care optimizeaz funcia obiectiv; aceste
politici se numesc politici optime.
Vom nota politica optim cu
1 ,..., N , iar variabilele de decizie
corespunztoare cu d ,..., d . Mulimea strilor x ,..., x , x = ( x , d ) ,
i 1
i 1
f [rN x N , d N , rN 1 x N 1 , d N 1 ,. . . , r1 x1 , d1 ] =
f [rN (x N , d N ) , rN 1 (x N 1 , d N 1 ) ,. . . , r1 (x1 , d 1 )]
= max
d
1i i N
x = ( x ; d ) , 1 i N
i
i
i
i 1
sau dac inem seama de (7.2),
(7.4)
7. Programare dinamic
) (
147
(7.5)
max
ri (xi , d i )
d i i
(7.6)
1i N i =1
x = (x , d ) , 1 i N .
i
i
i
i 1
Notnd cu fN(xN) valoarea maximului (7.6) obinem
f N (x N ) = max[rN (x N , d N ) + rN 1 (x N 1 , d N 1 ) + . . . + r1 (x1 , d 1 )] =
d i i
1 i N
d i i
N N
1 i N 1
x i 1 = i (x i , d i ) , 1 i N
sau, prin aplicarea Teoremei de optimalitate a lui Bellman
f N (x N ) = max[rN (x N , d N ) + f N 1 (x N 1 )]
d i i
1i N
x N 1 = N (x N , d N ) .
(7.7)
f N (x N ) = max QN (xn , d N )
(7.8)
d N N
148
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . .
f (x ) = max Q (x , d ) = max r (x , d ) + f (x , d ) , 2 i N 1
i
i
i
i
i
i
i 1 i
i
i
i i
d i i
d i i
. . . . . . . . . . . . . . . . . . . . . . . . . . .
f N (x N ) = max QN (x N , d N ) = max rN ( x N , d N ) + f N 1 N (x N , d N ) .
d N N
d N N
]}
(7.9)
]}
Se determin d N = d N (x N ) ;
Pas 1. Pentru i:=N ,2
determin xi 1 = i xi , di ; di 1 = d i 1 (xi 1 ) ;
Pas 2. Reine: d1 , d 2 , ... , d N ;
x1 , x 2 , ... , x N ;
f N ( x N ) . Stop !
7. Programare dinamic
149
Tabelul 7.1
Societatea
Suma investit
(n miliarde de lei)
0
1
2
3
4
5
Profitul n procente
S1
0
0.28
0.45
0.65
0.78
0.90
S2
0
0.25
0.41
0.55
0.65
0.75
S3
0
0.15
0.25
0.40
0.50
0.62
S4
0
0.20
0.33
0.42
0.48
0.53
Rezolvare
Modelarea problemei
Notaii : di numrul de miliarde investite n aciuni la societatea i.
xi numrul total de miliarde investite n aciuni la primele i
societi, 1 i 4 .
x4 mrimea total a investiiilor, care este de cel mult S=5109.
ri(di) profitul adus de suma di investit n aciunile la societatea i.
Problema are urmtoarea formulare:
4
max
ri (d i )
4 i =1
d i x4 S
i =1
1 i 4
d i 0
i =1
i =1
d i = ( xi xi 1 ) = xi x4
150
x2=0
f 2 (0) = max[r2 (d 2 ) + f1 (0 d 2 )] = 0 cu 0 d 2 0 . Deoarece r2(0)=0 i f1(0)=0
rezult d2=0.
x2=1
f 2 (1) = max[r2 (d 2 ) + f1 (1 d 2 )] cu 0 d 2 1 , d 2 { 0, 1 } .
f 2 (1) = max[r2 (0) + f1 (1) ; r2 (1) + f1 (0)] = max[0 + 0.28; 0.25 + 0] = 0.28
valoare obinut pentru d (1) = 0 .
2
x2=2
f 2 (2) = max[r2 (d 2 ) + f1 (2 d 2 )] cu 0 d 2 2 , d 2 { 0,1, 2}
f 2 (2) = max[g 2 (0) + f1 ( 2) ; r2 (1) + f1 (1); r2 (2) + f1 (0) ] =
x2=3
f 2 (3) = max[r2 ( d 2 ) + f1 (3 d 2 )] cu 0 d 2 3 , d 2 { 0,1, 2, 3}
f 2 (3) = max[r2 (0) + f1 (3) ; g 2 (1) + f1 (2); r2 (2) + f1 (1) ; r2 (3) + f1 (0)] =
x2=4
f 2 (4) = max[r2 (d 2 ) + f1 (4 d 2 )] cu 0 d 2 4 , d 2 { 0,1, 2, 3, 4}
f 2 (4) = max[r2 (0) + f1 (4) ; r2 (1) + f1 (3); r2 (2) + f1 (2) ; r2 (3) + f1 (1); r2 (4) + f1 (0)] =
x2 = 5
f 2 (5) = max[r2 (d 2 ) + f1 ( x2 d 2 )] ;
d 2 { 0,1,...5}
= max[0 + 0.9; 0.25 + 0.78; 0.41 + 0.65; 0.55 + 0.45; 0.65 + 0.28; 0.75 + 0] =
= max[0.9; 1.03; 1.06; 1.00; 0.93; 0.75] = 1.06
obinut pentru
d2=2 . Astfel
d (5) = 2 .
2
x3 = 0
f 3 (0) = max[r3 (d 3 ) + f 2 (0 d 3 )]
rezult d3=0. d (0) = 0 .
cu
x3 = 1
f 3 (1) = max[r3 (d 3 ) + f 2 (1 d 3 )] cu 0 d 3 1 , d 3 { 0,1} .
f 3 (1) = max[r3 (0) + f 2 (1) ; r3 (1) + f 2 (0)] = max[0 + 0.28; 0.15 + 0] = 0.28
obinut pentru d (1) = 0 .
3
7. Programare dinamic
151
x3=2
f 3 (2) = max[r3 (d 3 ) + f 2 (2 d 3 )] cu 0 d 3 2 , d 3 {0, 1, 2}
f 3 (2) = max[r3 (0) + f 2 (2) ; r3 (1) + f 2 (1); r3 (2) + f 2 (0) ] = max[0.53; 0.43; 0.25]= 0.53
obinut pentru d (2) = 0 .
3
x3=3
f 3 (3) = max[r3 (d 3 ) + f 2 (3 d 3 )] cu 0 d 3 3 , d 3 { 0,1, 2, 3}
f 3 (3) = max[r3 (0) + f 2 (3) ; r3 (1) + f 2 (2); r3 (2) + f 2 (1); r3 (3) + f 2 (0) ] =
f 3 (4) = max[r3 (0) + f 2 (4) ; r3 (1) + f 2 (3); r3 (2) + f 2 (2); r3 (3) + f 2 (1); r3 (3) + f 2 (1) ] =
d 4 (2) = 0 ,
f4(2)=0.53
f4(3)=0.73
d 4 (3) = 1 ,
f4(4)=0.9 i
d1 ( x)
f1(x)
d 2 ( x)
f2(x)
d 3 ( x)
f3(x)
d 4 ( x)
f4(x)
0.28
0.28
0.28
0.28
0.45
0.53
0.53
0.53
0.65
0.70
0.70
0.73
0.78
0.90
0.90
0 sau 1
0.90
0.90
1.06
1.06
1.1
152
0 x4 5
Atunci
x 3 = x 4 d 4 ( x 4 ) = 4 .
Dar
d 3 ( x 3 ) = d 3 (4) = 0 i atunci x 2 = x 3 d 3 ( x3 ) = 4 .
n continuare avem:
d 2 ( x 2 ) = d 2 (4) = 1 , iar x1 = x 2 d 2 ( x 2 ) = 3 ; d1 ( x1 ) = d1 (3) = 3 .
Rezolvare. Notm :
Perioada i
Tabelul 7.3
1
2
3
Cererea bi
Preul ci
2
13
3
11
2
12
3
15
4
20
7. Programare dinamic
153
x j = x j 1 + d j b j j = 1,5
x = 0 ; x = 0.
5
0
5
b1
2
x1
3
2
1
0
Tabelul 7.4
d1
f(d) min
5
65
4
52
3
39
2
26
b2
x2
0
1
3
Tabelul 7.5
x1 d2
f(d) min
0
3
26+45=71
1
2
39+30=69
2
1
52+15=67
3
0
65+0=65 *
0
4
26+60=86
1
3
39+45=84
2
2
52+30=82
3
1
65+15=80 *
0
5
26+75=101
1
4
39+60=99
2
3
52+45=97
3
2 65+30=95 *
154
b3
x3
0
4
1
Tabelul 7.6
x2 d3
f(d) min
0
4
65+80=145
1
3
80+60=140
2
2
95+40=135 *
0
5
65+100=165
1
4
80+80=160
2
3
95+60=155 *
b4
x4
0
1
2
x3
0
1
0
1
0
1
Tabelul 7.7
d4
f(d) min
3
135+33=168 *
2
155+22=177
4
135+44=179 *
3
155+33=188
5
135+55=190 *
4
155+44=199
b5
2
x4
0
1
2
Tabelul 7.8
d5
f(d) min
2 168+24=192
1 179+12=191
0
190 *
x1 = 3
x 2 = 2 d 1 = 5
f (d ) = 65
x3 = 0
d = 2
x
=
d5 = 0
f (d ) = 95
d 3 = 2
f (d ) = 135
d = 5
4
f (d ) = 190
sau: d5=0 ; d4=5 ; d3=2 ; d2=2 ; d1=5 cu costul minim,
f(d)=012+511+220+215+513=190 .
7. Programare dinamic
155
unde d k ( x) = {d k bk + bk 1 + x 5 d k x + bk } .
Rezumm calculele precedente n Tabelul 7.9.
x
0
1
2
3
z1(x)
26
36
52
65
d1(x)
2
3
4
5
d2(x)
65
80
95
*
d2(x)
0
1
2
*
Tabelul 7.9
d3(x) d3(x)
135
2
155
3
*
*
*
*
d4(x)
168
179
190
*
d4(x)
3
4
5
*
d5(x)
190
*
*
*
d5(x)
0
*
*
*
156
Rezolvare
Fie dA, dB, dC numrul de cercettori afectai echipelor A, B, C ,
rA(dA), rB(dB), rC(dC) funciile care dau probabilitile de eec pentru fiecare echip,
xA numrul cercettorilor alocai proiectului A ;
xB numrul cercettorilor alocai proiectelor A i B , i
xC numrul cercettorilor alocai proiectelor A, B i C.
Probabilitatea de eec toate echipele eueaz este
f ( x) = rA (d A ) rB ( d B ) rC (d C ) , d A + d B + d C 2 .
i
i{A, B ,C }
cercettori
= x , iar f pred ( A) = 1 .
f B (0) = min{ rB (0) f A (0)} = min{ 0.6 0.4} = 0.24 , iar d B (0) = 0 .
x=1 , atunci 0 d B 1 i
x=0 , atunci 0 d C 0 i
f C (0) = min{ rC (0) f B (0)} = min{ 0.8 0.24} = 0.192 , iar dC (0) = 0 .
x=1 , atunci 0 d B 1 i
7. Programare dinamic
157
Tabelul 7.11
x
0
1
2
fB(x)*
0.24
0.12
0.08
d A ( x)
fA(x)
0.4
0.2
0.15
0
1
2
fC(x)*
0.192
0.096
0.06
d B (x)
0
0
2 sau 1
d C (x)
0
0
1
cercettor;
x A = x B d B = 1 , ns d A = d A (1) = 1 , adic se aloc un cercettor la proiectul A.
1. O firm de construcii are 4 000 000 euro pe care vrea s-i investeasc n
construirea a 3 tipuri de locuinte B1, B2, B3. Profitul adus de fiecare tip de locuin
este dat de Tabelul 7.12.
Tabelul 7.12
Suma investit (mil)
B1
0
0
1
35%
2
43%
3
47%
4
49%
B2
0
28%
32%
45%
47%
B3
0
26%
34%
40%
51%
r1
r2
r3
Tabelul 7.13
f1
f2
d1
0
1
2
3
4
0
35
43
47
49
0
28
32
45
47
0
26
34
40
51
0
35
43
47
49
0
1
2
3
4
0
35
63
71
80
d 2
0
0
1
1
3
f3
0
35
63
89
97
d3
0
1
2
2
2 sau 3
158
Culegerea rezultatelor:
a) d3 = 2 , x3 = 4 , x 2 = x3 d3 = 2 , d2 = d 2 ( x 2 ) = 1
d = d ( x ) = 1 ;
x1 = x 2 d2 = 1 ,
b) d3 = 3 , x3 = 4 , x 2 = x3 d3 = 1 , d 2 = d 2 ( x 2 ) = 0
x1 = x 2 d2 = 1 ,
d1 = d1 ( x1 ) = 1 .
Profitul maxim este de 97% , dac se investete suma astfel:
a) (1, 1, 2) , adic 1 milion n primul tip de locuine, 1 milion n al doilea tip de
locuine i 2 milioane n al treilea tip de locuine;
b) (1, 0, 3) , adic 1 milion n primul tip de locuine i 3 milioane n al treilea
tip de locuine.
2. Problema achiziionrilor de carburant
Serviciul de aprovizionare al municipalitii trebuie s asigure motorina pentru
nclzirea oraului, timp de 6 luni noiembrie-aprilie. Preurile de cumprare
prevzute pe ton i nevoile lunare sunt date de Tabelul 7.14 (Henry-Labordere,
1995):
Perioada (i)
Necesarul (bi)
Preul tonei (ci)
1
800
3300
Tabelul 7.14
2
3
500
300
5400 3900
4
200
5100
5
700
6000
6
400
3000
Rezolvare
1) Formularea problemei n programare liniar (vom renuna la dou zerouri la
x1 = 2
x = x + d b ()i
i
i
i
preuri i cantiti) are restriciile : i +1
xi + d i 9
xi , d i 0
7. Programare dinamic
159
innd seama de relaiile de mai sus, funcia obiectiv se poate scrie ca funcie de d
astfel: f=33d1+54d2+39d3+51d4+60d5+30d6 , iar problema obinut este
p
f p (d ) =min ci d i
i =1
x1 = 2
x = x + d b i = 1,6
i +1
i
i
i
xi + d i 9
xi , d i 0 .
Funcia de minimizat se scrie :
f i (d i +1 ) =min(fi1(xi+1+bidi)+cidi).
Transformrile i fiind inversabile se poate aplica att analiza prospectiv ct i
retrospectiv.
2) Calculele sunt rezumate n Tabelul 7.15.
xi
0
1
2
3
4
5
6
7
f1(d)
198
231
d1 ( x)
6
7
f2(d)
447
501
555
609
663
d 2 ( x)
4
5
6
7
8
Tabelul 7.15
f3(d) d 3 ( x) f4(d)
564 3
642
603 4
681
642 5
720
681 6
759
720 7
798
759 8
849
798 9
900
951
d 4 ( x)
0
0
0
0
0
1
2
3
f5(d) d 5 ( x)
951 0
1011 1
1071 2
f6(d)
1071
1101
1161
1191
1221
d 6 ( x)
4
5
6
7
8
9
Analog obinem:
x 5 = x 4 + d 4 b4 x 4 = x 5 + b4 d 4 = 7 + 2 3 = 6 i d3 = d 3 ( x4 ) = d 3 (6) = 9 ,
x 4 = x 3 + d3 b3 x 3 = x 4 + b3 d3 = 6 + 3 9 = 0 i d 2 = d 2 ( x 3 ) = d 2 (0) = 4 ,
x 3 = x 2 + d 2 b2 x 2 = x 3 + b2 d 2 = 0 + 5 4 = 1 i d1 = d1 ( x 2 ) = d1 (1) = 7 ,
x 2 = x1 + d1 b1 x1 = x 2 + b1 d1 = 1 + 8 7 = 2 .
160
Luna
Necesar (m3)
Cost (u.m.)
Decembrie
40
5
B
2
1
4
C
8
1
D
3
5
F
7
Figura 7.1
Teoria ateptrii (sau teoria firelor de ateptare sau teoria cozilor) se ocup
cu studiul evoluiei sistemelor care prezint aglomerri (sistemele de ateptare).
Un astfel de sistem este compus dintr-una sau mai multe staii de servire (n numr
finit) care servesc clienii ce sosesc n sistem pentru a solicita servicii. Modul de
dispunere sau condiionare a staiilor de serviciu dintr-un sistem de ateptare
constituie topologia sistemului. Astfel, staiile pot fi n serie sau n paralel sau acest
serviciu se realizeaz de ctre una din staii sau de ctre un grup de staii.
Studiul unui sistem de ateptare se face cu ajutorul unui model de ateptare.
Elementele cunoscute ale unui model de ateptare sunt (Vduva et al, I, 1974):
fluxul intrrilor n sistem
mecanismul serviciului.
Intrrile sunt caracterizate fie de numrul de clieni pe unitatea de timp care
sosesc, fie de intervalele de timp dintre dou veniri consecutive.
Oricare dintre aceste dou mrimi este o variabil aleatoare cu repartiia
cunoscut.
Cunoaterea mecanismului serviciului presupune cunoaterea topologiei
sistemului, regula dup care se face serviciul, numit i disciplina serviciului (de
exemplu: FIFO (FirstIn FirstOut) primul sosit primul servit, sau o ordine
bazat pe prioriti), precum i repartiia numrului de clieni servii pe unitatea de
timp sau repartiia duratei serviciului.
Mecanismul serviciului este caracterizat de asemenea i de capacitatea
sistemului presupus cunoscut, adic numrul maxim de clieni ce pot exista la un
moment dat n sistem, sau, echivalent, lungimea maxim a cozii.
Elementele necunoscute ale modelului de ateptare sunt:
timpul de ateptare
timpul de neocupare a staiilor
lungimea cozii
numrul de clieni din sistem N(t) existeni la momentul t .
Toate aceste necunoscute sunt variabile aleatoare i, prin rezolvarea modelului
de ateptare, se urmrete determinarea repartiiei lor sau mcar a unei valori medii
n funcie de elementele cunoscute.
162
163
nici o plecare
+ Pn 1 (t )( n 1 t + O ( t ) )(1 n 1 t + O ( t ) ) +
1442443 14442444
3
o venire
nici o plecare
+ Pn +1 (t )(1 n +1 t + O (t ) )( n +1 t + O (t ) ) +
14442444
3 1442443
nici o venire
o plecare
+ Pn +i (t )(1 O (t ) ) O (t ) +
14243 123
i >1
nu are loc o venire
de i indivizi
+ Pn i (t ) O (t ) (1 O (t ) )
123 14243
i >1
are loc o venire
de i indivizi
, n1 .
P (t ) = 1 , ()t
n =0
(8.3)
164
1
=.
k =0
Teorema 8.2. Dac pentru procesul de natere i deces N ( t ) sunt date condiiile
iniiale ca n Teorema 8.1, atunci o condiie suficient ca sistemul de ecuaii
difereniale (8.1) i (8.2) s aib ca soluie un sistem complet de probabiliti este
ca
k =1 i =1
=.
i 1
( n + n ) p n + n 1 p n 1 + n +1 p n +1 = 0 , n 1
Notm
z k = k p k + k +1 p k +1
n
pn , n 0 .
n +1
Deducem c
n 1
p n = k p 0 , n 1 .
k = 0 k +1
1 + k
n =1 k = 0 k +1
n 1
165
M [Lc ] = ( n c) p n ,
n=c
(nu poate fi coad pentru n c, adic mai puini clieni dect numrul staiilor de
serviciu),
c) timpul mediu de ateptare la coad
1
M [WT ] =
M [Lc ] ,
(1 p 0 )
unde
1
este timpul mediu de servire i se presupune cunoscut.
(1 p 0 )
M [SL ] = (c n) p n ,
n =0
f)
166
Raportul =
se numete intensitate de trafic sau factor de serviciu. El
reprezint, n medie, numrul de clieni care vin n perioada unui singur timp de
serviciu.
Dac > 1, atunci durata serviciului pentru clienii care l solicit n unitatea
de timp este mai mic dect unitatea de timp, deci nu se va produce o aglomerare.
Dac < 1, numrul clienilor din irul de ateptare va crete necontenit.
Dac = 1, nu se va produce o coad imens durata serviciilor coincide cu
unitatea de timp, ns evident n anumite momente va fi aglomeraie.
n modelul precedent n = i n = , () n N * . n acest caz, ecuaiile
KolmogorovFeller (8.4) devin, pentru cazul staionar
p n 1 ( + ) p n + p n +1 = 0 , () n 1
(8.5)
p 0 + p1 = 0
Ultima ecuaie d
p1 =
p0 = p0
nN
nN
ns
1
1 = p0
1
(8.6)
pn = n( 1 ) .
Se pot determina elementele necunoscute ale modelului n funcie de . De
asemenea, se pot gsi:
pn maxim
d
n
n (1 ) = 0 =
d
n +1
i atunci
1
n
.
p n (t ) =
n + 1 n + 1
167
(8.7)
1
n
numrul mediu al clienilor din irul de ateptare lungimea medie a cozii
M [N (t )] =
np (t ) = N n
n 1
n=2
n=2
(1 ) =
M [L1 ] = (n 1) p n = (1 ) ( n 1) n =
2
1
(8.8)
M [WT ] =
M [L1 ] =
(8.9)
(1 p 0 )
(1 )
timpul mediu de ateptare n sistem
1
1
M [W ] = M [WT ] + =
.
(8.10)
(1 )
Dac este interesant probabilitatea ca n sistem s fie mai mult de m persoane
i dorim ca ea s nu depeasc o anumit valoare , atunci
1 (1 ) (1 ) ... m 1 (1 ) < m <
(8.11)
Se pot determina astfel i nct s nu existe aglomeraie.
Propoziia 8.1. Probabilitatea ca numrul clienilor din sistem la un moment dat s
fie mai mare ca un numr dat k este
(8.12)
P( N( t ) > k ) = k+1 .
Demonstraie. Calculm aceast probabilitate, innd seama de notaiile de mai
nainte, i avem
k +1
P(N (t ) > k ) = p n (t ) = n (1 ) = (1 )
= k +1 .
1
n = k +1
n = k +1
168
(
t )n 1 t
n
e
dt =
P (t < WT < t + dt ) = (1 )
(n 1)!
n =1
( t ) n 1
= (1 ) e t (1 ) dt .
(
)
1
!
n
n =1
= (1 ) de t
Aadar,
P (WT > t 0 ) = (1 ) e (1 ) d = (1 )
t0
=e
t 0 (1 )
e (1 )
(1 )
=
t0
169
60 min
. Intensitatea de trafic
1 min 30 s
3
. Din relaia (8.6) avem p 0 = 1 = 0.25 , p1=0.1875 .a.m.d.
4
Se pot determina acum conform cu relaiile (8.7)(8.11) elementele necunoscute
ale modelului:
numrul mediu de autobasculante din sistem M[N(t)]=3.
numrul mediu de autobasculante din irul de ateptare M[L1(t)]=2.25.
timpul mediu de ateptare n sistem M[W]=6 min.
timpul mediu de ateptare n irul de ateptare M[WT]=4 min i 30 s.
Din relaia (8.12) avem P( N( t ) > 2) = 2+1=0.42187 .
este =
Figura 8.1
Selectnd Solve obinem soluia modelului care, aa cum se vede din Tabelul 8.1,
coincide cu cea obinut mai sus.
170
Tabelul 8.1
WAITING LINES
*************
NUMBER OF CHANNELS = 1
POISSON ARRIVALS WITH MEAN RATE = 30
EXPONENTIAL SERVICE TIMES WITH MEAN RATE = 40
OPERATING CHARACTERISTICS
------------------------THE PROBABILITY OF NO UNITS IN THE SYSTEM
THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE
THE AVERAGE NUMBER OF UNITS IN THE SYSTEM
THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE
THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM
THE PROBABILITY THAT AN ARRIVING UNIT HAS TO WAIT
Number of Units in the System
----------------------------0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 OR MORE
0.2500
2.2500
3.0000
0.0750
0.1000
0.7500
Probability
----------0.2500
0.1875
0.1406
0.1055
0.0791
0.0593
0.0445
0.0334
0.0250
0.0188
0.0141
0.0106
0.0079
0.0059
0.0045
0.0033
0.0025
0.0075
Pentru acest model, lungimea maxim a cozii este m<. n acest caz,
probabilitatea ca n intervalul de timp de lungime t>0 s soseasc un client n
sistem este proporional cu mrimea intervalului; coeficientul de proporionalitate
depinde de numrul n de uniti aflate n sistem la momentul respectiv i rmne
n ; analog, coeficientul legat de servicii rmne n . n ecuaiile de stare (8.4)
facem presupunerea c probabilitatea ca n intervalul de timp t s soseasc n
sistem un client este cu att mai mic cu ct numrul clienilor rmai din numrul
total este mai mic, (m n ) t = n t i atunci n = (m n ) .
Coeficientul n nu depinde de numrul de clieni din sistem la un moment dat,
deoarece exist o singur staie, i l notm cu .
n ecuaiile de stare (8.4), nlocuind n i n i considernd n+1 = 0,
obinem ecuaia
m p 0 + p1 = 0 p1 = m
p0 .
171
p0 m p0 + p2 = 0
p 2 = m(m 1) p 0 .
Lund n = 2, obinem
(m 1) p1 [( m 2) + ] p 2 + p 3 = 0
2
( m 1) m p 0 (m 2) m(m 1) p 0 + p 3
p n = A p 0
2
K
m
i
p 2 (t ) K p m (t )
n
m
0
N (t ) :
p 0 (t )
1
p1 (t )
n
Amn p 0 = 1 p 0 =
n =0
p
k =0
1
m
A
n =0
n
m
(t ) = 1
, Am0 = 1 .
M [ N (t )] = np n (t ) = nA p 0 = [m (m n)] Amn p 0 =
n =0
n =0
n =0
n
m
n +1
m 1
= m A p 0 ( m n) Amn p 0 = m Amn +1 p 0 =
n =0
n =0
1
4424
43 n =0
144
424
44
3
1
1 p0
m
n
m
=m
(1 p 0 ) ; deci M [ N (t )] = m (1 p 0 ) ,
M [n s (t )] = 0 p 0 + 1 p 0 = 1 p 0 .
n s (t ) :
p 0 (t ) 1 p 0 (t )
172
+
= m (1 p 0 ) (1 p 0 ) M [ Lc ] = m
(1 p 0 ) .
(1 p 0 )
1 p 0
+
1 m
M [WT ] =
,
1 p 0
1 m
M [W ] = M [WT ] + =
M [W ] =
.
1 p 0
1 p 0
12
n=0
173
48
1
M [ N (t )] = m (1 p 0 ) = 12 4 (1 0.19857) = 2.38284 ,
1
68
1 1
m
+
1
1
12
4 48 = 7.89294 ,
M [WT ] =
1
1 p 0
1 1 0.19857
4
48
12
1 m
1
M [W ] =
4 = 11.89294 .
=
1 p 0 1 1 0.19857 1
4
48
Pentru rezolvarea acestei probleme cu Management Scientist, dup lansarea
programului, selectm Waiting Lines, apoi din meniul File alegem New i din
fereastra care apare selectm Poisson Arrivals/Exponential Service (Finite Pop.),
(Figura 2.4). n fereastra care apare introducem datele de intrare
1
=
= 0.02083 , = 0.25
68
ca n Figura 8.2, apoi selectm Solve
Figura 8.2
174
Tabelul 8.2
WAITING LINES
*************
NUMBER OF CHANNELS = 1
POISSON ARRIVALS WITH MEAN RATE = 0.02083
EXPONENTIAL SERVICE TIMES WITH MEAN RATE = 0.25
FINITE CALLING POPULATION OF SIZE = 12
OPERATING CHARACTERISTICS
------------------------THE PROBABILITY OF NO UNITS IN THE SYSTEM
THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE
THE AVERAGE NUMBER OF UNITS IN THE SYSTEM
THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE
THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM
THE PROBABILITY THAT AN ARRIVING UNIT HAS TO WAIT
Number of Units in the System
----------------------------0
1
2
3
4
5
6
7
8
9
10
11
12
0.1986
1.5808
2.3822
7.8907
11.8907
0.8014
Probability
----------0.1986
0.1986
0.1820
0.1517
0.1137
0.0758
0.0442
0.0221
0.0092
0.0031
0.0008
0.0001
0.0000
175
= [1 ( + n )t + O (t ))] p n (t ) ,
Aadar,
p n (t + t ) = [1 ( + n )t + O (t )] p n (t ) + p n 1 (t )t +
+ [(n + 1) t + O (t )] p n +1 (t )
(8.13)
= [1 ( + c )t + O ( t ))] p n (t ) ,
ntruct toi cei c clieni din staiile de servire rmn n sistem (n-au terminat
serviciul).
2) sistemul se gsete la momentul t n starea En1 , are loc o intrare n
sistem i nu se produce nici o ieire. Probabilitatea corespunztoare este
( t + O (t ) )(1 c t + O (t ) ) p n 1 (t ) = p n 1 (t )t .
3) sistemul se gsete la momentul t n starea En+1 , nu are loc nici o intrare
n sistem, dar are loc o ieire. Probabilitatea corespunztoare este
(1 t + O (t ) )(c t + O (t ) ) p n +1 (t ) = c p n +1 (t )t ,
unde c t + O (t ) este probabilitatea ca un client s prseasc sistemul atunci
cnd c staii lucreaz simultan.
Aadar,
176
p n (t + t ) = [1 ( + c )t + O (t )] p n (t ) + p n 1 (t )t +
+ c p n +1 (t )t .
(8.14)
(8.16)
p n (t ) = ( + n ) p n (t ) + p n 1 (t ) + (n + 1) p n +1 (t ) , 1 n < c
p (t ) = ( + c ) p (t ) + p (t ) + c p (t )
, nc .
n
n 1
n +1
n
n cazul staionar p n (t ) = 0 , n 0 , ecuaiile de stare (8.16) devin
p 0 = p1
( + n ) p n = p n 1 + (n + 1) p n +1 1 n < c
( + c ) p = p + c p
n c.
n
n 1
n +1
1
1
1
p1 = p 0 ; p n = p n 1 p n = p 0 = n p 0 ; =
.
n
n!
n!
Astfel,
1 n
p0 , 1 n < c .
n!
Din ultima ecuaie a sistemului (8.17) rezult c
pn + cpn+1 = pn1 + cpn .
De unde
pn =
(8.17)
177
1
c
c
1
p0 =
p0 .
p c 1 =
c (c 1)!
c!
c
Aadar,
c
pc+k =
p0 , k 0 .
c c!
k
* =
ateptare.
Am obinut soluia sistemului (8.17)
n
p0
, 1 n < c
p n =
n!
n
pn =
p0 , n c .
c! c n c
Deoarece
p
n=0
(8.18)
= 1 , rezult c
( )
c 1 n
* c
+
= 1,
p0
n=0 n!
c!
n =c
de unde obinem
1
p0 =
c 1
+
c! 1 * n=0 n!
Cunoscnd repartiia variabilei aleatoare N( t ), se poate determina repartiia
variabilei aleatoare Lc( t )
L
0
1
2
.
Lc :
p 0 (t ) + ... + p c (t ) p c +1 (t ) p c + 2 (t ) L
M [ Lc ] = 0 [ p 0 (t ) + ... + p c (t )] + kp c + k (t ) .
k =1
Notm c + k = n k = n c . Atunci
M [ Lc ] =
(n c) p n =
n = c +1
n = c +1
(n c)
n
c!c n c
p0 =
178
c +2
c +3
c +1
cc
=
p 0 1 + 2 + 3 + ... =
c! c
c
c
cc
p 0
c! c
c +1
1 + 2 + 3 ... .
c c
Se tie c
1
, x <1.
(1 x) 2
k =1
Aplicnd n relaia de mai sus, obinem
kx
M [ Lc ] =
k 1
cc
p 0
c! c
c +1
de unde rezult c
c
p 0 .
0
.
n s :
p 0 (t ) p1 (t ) p 2 (t ) K p c 1 (t ) p c (t ) + p c +1 (t ) + ...
M [ Lc ] =
(c 1)!(c ) 2
n =0
n = c +1
M [n s ] = np n (t ) + c( p c (t ) + p c +1 (t ) + ...) = np n (t ) + c p n (t ) =
n =0
1
1
p 0 (t ) + c
n c
n!
n = 0 c! c
n =0
De aici rezult c
c
= n
M [n s ] =
p 0 (t ) .
iar cum
M[N( t )] = M[Lc] + M[ns],
obinem c
M [ N (t )] =
(c 1)!(c ) 2
M [n s ] =
p 0 + .
= .
M [WT ] =
179
M [ Lc ]
p 0 (t ) .
=
(c 1)!(c ) 2
1
M [ SL] = (c j ) p j (t ) = c .
j =0
3 1
p2 =
p 0 = 0.16072 etc
2 2!
3
1
3 1
= 1.92861 ,
M [ L2 ] = 0.14286
2
2
2
!
2
3
1
4
3 1
M [ SL] = c = 2 = ,
2 2
3
1
3
3 1
+ = 3.4261 ,
M [ N (t )] = 0.14286
2
2
2 2!2
3
1
2
M [ Lc ] 1.92861
=
= 0.32143 = 19 min 17 s .
M [WT ] =
6
b) c = 3 (3 lucrtori)
180
= 0.21053 ,
2
3 3 1
1
3
+1+ +
2 2 2!
2 3!1 3
3
p1 = p 0 = 0.3158 etc .
2
M [ L3 ] = 0.23685 ; M [ N (t )] = 1.73685 ;
M [ SL] = 1.5 ; M [WT ] = 0.03946 ore = 2 min 22 s .
p0 =
Figura 8.3
181
Tabelul 8.3
WAITING LINES
*************
NUMBER OF CHANNELS = 2
POISSON ARRIVALS WITH MEAN RATE = 6
EXPONENTIAL SERVICE TIMES WITH MEAN RATE = 4 PER CHANNEL
OPERATING CHARACTERISTICS
------------------------THE PROBABILITY OF NO UNITS IN THE SYSTEM
0.1429
THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE
1.9286
THE AVERAGE NUMBER OF UNITS IN THE SYSTEM
3.4286
THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE
0.3214
THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM
0.5714
THE PROBABILITY THAT AN ARRIVING UNIT HAS TO WAIT
0.6429
Number of Units in the System
Probability
--------------------------------------0
0.1429
1
0.2143
2
0.1607
3
0.1205
4
0.0904
5
0.0678
6
0.0509
7
0.0381
8
0.0286
9
0.0215
10
0.0161
11
0.0121
12
0.0091
13
0.0068
14
0.0051
15
0.0038
16
0.0029
17 OR MORE
0.0086
O O ... O
ir de
ateptare
Figura 8.4
staie de servire 2
182
+ [(m n + 1) t + O (t )] p n 1 (t )
b) pentru n c , avem
p n (t + t ) = {1 [c + (m n) ]t + O ( t )}p n (t ) +
+ [c t + O (t )] p n +1 (t ) + [( m n + 1) t + O (t )] p n 1 (t )
c) pentru n = 0 , avem
p 0 (t + t ) = [1 t + O (t )] p 0 (t ) +
+ [1 t + O (t )]( t + O (t ) ) p1 (t )
= [1 m t + O (t )] p 0 (t ) + [ t + O ( t )] p1 (t )
183
<
p (t ) = [c + (m n) ] p (t ) + c p (t ) + (m n + 1) p (t )
n
n +1
n 1
n
c n m.
n cazul staionar, ecuaiile de stare sunt
mp 0 = p1
(n + 1) p n +1 = [n + (m n) ] p n (m n + 1) p n 1 1 n < c
c p = [c + ( m n) ] p (m n + 1) p
cn<m
n +1
n
n 1
Am
c! n = c c
n =0
Aici pn este probabilitatea ca, la un moment dat, s existe n sistem n
autobasculante, p0 este probabilitatea ca n sistem s nu existe nici o
(1 + ) n=0
numrul mediu de clieni de la coad
c 1
M [ Lc ] = m c 1 p 0 C mn n + c c1C mc p 0
n =0
numrul mediu de staii n lucru
184
Aplicaie numeric
Balastiera are 2 excavatoare care trebuie s ncarce 20 autobasculante. S-a constatat
c sosirile autobasculantelor sunt poissoniene cu parametrul
= 0.3
autobasculante pe or, iar timpul de ncrcare este exponenial de parametru = 4
autobasculante pe or pentru fiecare excavator. S se determine elementele
necunoscute ale fenomenului de ateptare.
Rezolvare
=
p0 =
0.3
=
= 0.075 ; c = 2 ; m = 20
4
1
22
C
(
0
.
0
75
)
+
2!
n =0
1
n
20
0.075
A
2
n=2
20
= 0.18756
n
20
2 0.075 + 2 20 0.075 1 n
2(0.075)1 C 202
n
(
0
.
075
)
M [N (t )] = p 0
C
+
+
20
0.075 1.075
1.075
n =0
20 0.075 2
+
= 2.08595
0.075
1
2
n
2
2 1 p 0 C 20
M [ L2 ] = 20
(0.075) n + + 2(0.075)1 C 20
p0 = 0.74239
0.075
n =0
M [n s ] = M [ N (t )] M [ L2 ] = 1.34355
M [WT ] =
M [L2 ]
= 0.13814 = 8 min 17 s
4 M [ ns ]
M [W ] = M [WT ] +
1
= 0.38814 = 23 min 17 s .
4
185
Figura 8.5
Tabelul 8.4
WAITING LINES
*************
NUMBER OF CHANNELS = 2
POISSON ARRIVALS WITH MEAN RATE = 0.3
EXPONENTIAL SERVICE TIMES WITH MEAN RATE = 4 PER CHANNEL
FINITE CALLING POPULATION OF SIZE = 20
OPERATING CHARACTERISTICS
------------------------THE PROBABILITY OF NO UNITS IN THE SYSTEM
0.1876
THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE
0.7424
THE AVERAGE NUMBER OF UNITS IN THE SYSTEM
2.0859
THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE
0.1381
THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM
0.3881
THE PROBABILITY THAT AN ARRIVING UNIT HAS TO WAIT
0.5311
Number of Units in the System
Probability
--------------------------------------0
0.1876
1
0.2813
2
0.2005
3
0.1353
4
0.0863
5
0.0518
6
0.0291
7
0.0153
8
0.0075
9
0.0034
10
0.0014
11
0.0005
12
0.0002
13
0.0001
14
0.0000
8.7. Simulare
Modelele matematice corespunztoare sistemelor reale sunt folosite pentru a
analiza rezultatele deciziilor nainte de implementare. Simularea nu determin
soluia optim a modelului matematic, ci compar rezultatele mai multor alternative
predefinite cu scopul de a o reine pe cea mai avantajoas. Modelul de simulare
urmrete evoluia n timp a sistemului real i ine seam i de factorul aleatoriu. n
situaia n care modelul matematic poate fi rezolvat analitic, aceast metod este
preferabil simulrii, deoarece se obine soluia optim. Simularea se folosete n
186
Numrul mediu de sosiri pe noapte este de 1.5 vagoane. Suntem n cazul unui
model de ateptare cu o singur staie de servire, FIFO, coad infinit, cu rata
serviciilor =2 i rata sosirilor =1.5 . Se poate arta c sosirile nu sunt
poissoniene i din acest motiv nu se poate aplica nici unul din modelele clasice. n
vederea simulrii avem nevoie de un eantion de sosiri aleatoare pentru un numr
de nopi. Pentru aceasta se poate folosi o tabel de numere aleatoare sau un
generator de astfel de numere. Vom folosi generatorul de numere aleatoare din
Microsoft Excel pentru a genera numere uniform repartizate ntre 0 i 99, pe care le
vom asocia cu un numr de sosiri ca n Tabelul 8.6.
Numr de
sosiri
0
1
2
3
4
5
Tabelul 8.6
Numr aleatoriu
generat
0-22
23-52
53-82
83-92
93-97
98-199
Frecvena
relativ
0.23
0.30
0.30
0.10
0.05
0.02
187
x
x
x
x
x
Numr
aleatoriu
99
6
15
62
86
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
12
39
39
16
24
45
88
81
53
26
56
77
31
34
94
11
15
92
38
14
36
9
56
84
12
79
25
81
1
65
Ziua
Total
Media
Tabelul 8.7.
Numr
Total de
sosiri
descrcat
5
0
0
0
0
0
2
2
3
3
0
1
1
0
1
1
3
2
2
1
2
2
1
1
4
0
0
4
1
0
1
0
2
3
0
2
1
2
0
2
40
1,33
1
1
1
0
1
1
3
3
3
2
2
2
1
1
4
2
0
4
3
1
1
0
2
3
1
2
1
2
0
2
Amnate
Descrcate
0
0
0
0
1
0
0
0
2
2
0
0
0
0
0
0
1
1
1
0
0
0
0
0
2
0
0
2
1
0
0
0
0
1
0
0
0
0
0
0
9
0,3
1
1
1
0
1
1
2
2
2
2
2
2
1
1
2
2
0
2
2
1
1
0
2
2
1
2
1
2
0
2
41
1,36
188
staii
~ =
<1
189
Media sosirilor
15
60
Probabilitatea ca innumrul
intervalul
de timp
t sa soseasca
zilelor
lucrtoare
din an n autobasculante
P( n , t) := e
f(0)=1
t ( t )
f( t) :=
n!
P( n , t)
n =0
f(1)=0.99987
f(4)=0.98101
f(2)=0.99825
f(5)=0.96173
f(3)=0.99271
f(6)=0.934
Minute/ben (tj)
Frecvena(Nj)
5
0
Minute/ben (tj)
Frecvena(Nj)
6
5
4
1
0
3
4
7
0
2
7
5
0
0
8
Tabelul 8.8
1
2
23
24
1
5
2
9
Tabelul 8.9
2
2
0
5
1
1
9
4
8
0
0
8
5
2
9
0
0
3
21
3
0
1
3
9
5
0
4
14
5
6
6
3
7
1
3
5
4
0
4
5
5
0
5
5
6
0
10
0
0
10
5
0
11
0
2
11
5
0
12
0
1
190
Po() , cu =
x N
i =1
8
N
i =1
unde
N i = N i e
xi
c2 =
i =1
( N i N i ) 2
,
Ni
c2 < 02.05; 6
admitem ipoteza
H0
cu pragul de
semnificaie 0.05 ;
b) Vom folosi testul Kolmogorov pentru a verifica ipoteza H0: Timpii de servire
sunt repartizai Exp(). Pentru aceasta calculm un estimator pentru media
24
timpilor de servire
t=
(t
i =1
2.5) N i
24
Ni
i =1
= 19.5
teoretic
Fi = 1 e
0.05128 t i
Fei =
N
j =1
semnificaie
i determinm
24
N
j =1
() i = 1,24
191
192
=
= 3 , atunci = = 1 i astfel sunt necesari cel puin 2 muncitori, c=2.
20
15
= = 2.5 > 1 i dac ar fi un
6
< 1 , adic c=3 . Modelul de
c)
P (n > 5) = 1 P (n 5) = 1 p i =
i =0
193
d) tiind c pentru o or chiria pentru un camion este de 20 u.m., care este suma
medie orar pltit pentru nefolosirea unui camion?
195
I (t ) = I 0 + (a (t ) b(t ) )dt .
0
Ieirile din stoc, b(t), i/sau cererea, r(t), pot fi deterministe sau aleatoare, iar
funcia a(t) trebuie aleas astfel nct s se realizeze un obiectiv sau o eficien dorit.
Eficiena se definete n funcie de costuri i acestea pot fi:
costul de depozitare, ce rezult din imobilizarea fondurilor bneti n materii
prime sau produse (cheltuieli de producie) i din cheltuielile pentru asigurarea
depozitrii i conservrii stocului,
costul de lansare, care rezult din cheltuielile pentru lansarea comenzilor de
reaprovizionare i introducerea lor n stoc sau lansarea fabricaiei,
costul lipsei de stoc, care se determin n funcie de toate cheltuielile i
pierderile cauzate de lipsa din stoc a materiilor prime sau produselor (inclusiv
penalizrile rezultate din nelivrarea la timp a produselor fabricate).
Eficiena unui stoc de-a lungul unui interval de timp este dat de o funcional
de forma
196
a(t2)
a(t3)
P
T1
T0
t0
t1
T2
t2
T*
T3
t3
Figura 9.1
n Figura 9.1, variaia stocului este reprezentat prin segmentele oblice, rata
cererii fiind presupus constant. Se observ c pe intervalul de timp (t, T *)
exist lips de stoc. Cantitile a(ti) reprezint valorile comenzilor care intr n
stoc la momentele ti, iar ntre aceste momente de timp au loc numai ieiri din stoc,
care micoreaz nivelul stocului.
n diferite modele ale teoriei stocurilor, ciclurile de reaprovizionare Ti, i = 0, 1,
2, ..., pot fi egale sau nu, pot fi constante sau aleatoare.
n ceea ce privete mrimea loturilor de reaprovizionare a(ti), acestea pot fi
egale sau nu, pot depinde sau nu de Ti.
n unele modele ale teoriei stocurilor din optimizarea funciei de eficien se
poate deduce ciclul optim de reaprovizionare, Topt.
Aadar, modelele de teoria stocurilor determin mrimea lotului de
reaprovizionare optim, aopt, i/sau ciclul de reaprovizionare optim, Topt.
Reaprovizionarea la anumite momente de timp impune utilizarea i a altor
variabile care au importan practic.
197
198
199
a
a
ntreaga cantitate a va intra n stoc pn la momentul
, i n intervalul 0, ,
p
p
a a
I(t) va crete, iar n intervalul , , I(t) descrete.
p r
I(t)
a
I(t) = (p r) t
I(t) = a rt
Astfel,
Figura 9.2
T=
a
r
200
a
( p r )t , t 0,
p
I (t ) =
a rt , t a , a
p r
Costul total pe perioada T este CT = Ch,T + s, unde Ch,T este costul de stocare,
dat de
a
r
( p r) a2
1 1 ra 2 1
1 ha 2 ( p r )
2 2 =
2 + a 2
.
C h ,T = h I (t )dt = h
p
2 r
p
2 pr
r p
0
2
Costul total de stocare i de lansare pe unitatea de timp este
C h , T ha 2 ( p r )
r ha ( p r ) rs
=
+ s =
+ .
C (a) =
2 pr
2p
T
a
a
Figura 9.3 reprezint costul total, costul de pstrare i costul de lansare, abscisa
punctului de intersecie a ultimelor dou constituind mrimea optim a comenzii (Q
reprezint cantitatea necesar pe un ntreg an).
Costurile total,
dede
pastrare
totale,dedelansare,
lansare,
pstrare
CT ( Q , a , s , h)
CL( Q , a , s)
Ch( Q , a , h)
a
marimeacomenzii
comenzii
mrimea
Figura 9.3
Rezolvarea modelului
201
C opt =
2 prs
h 2 ( p r)2
+
2
h( p r )
4p
2hrs ( p r )
r 2 s 2 h( p r )
=
.
2 prs
p
i numrul optim de
2
numarul zilelor lucratoare
numrul
lucrtoare din
din an
an
.
reaprovizionri pe an dat de
Topt
Se pot determina: nivelul mediu al stocului ca fiind
n practic se presupune c
r
0,
p
I(t)
2T
Figura 9.4
(9.1)
202
I
C opt
= 2rsh
(9.2)
(9.3)
n anumite situaii cererea este exprimat prin valoarea n bani. Se disting dou
cazuri (Turban i Meredith, 1988):
1. Se d preul unitar al produsului. n acest caz se afl numrul de produse i astfel
se ajunge la situaia studiat mai nainte.
2. Preul unitar nu se cunoate i atunci trebuie s se dea costul de stocare ca un
procent din valoarea cererii de produse. n acest caz modelul d valoare optim a
unei cereri de reaprovizionare. Costul total anual
Q
a
CT = h + s
(9.4)
a
2
Q
unde Q este cantitatea (sau valoarea acesteia) necesar pe un an, iar
a
reprezint numrul de comenzi de reaprovizionare lansate ntr-un an. Atunci
2 sQ
(9.5)
.
a opt =
h
Exemplu. O ntreprindere de prefabricate primete o comand de 120 000 de dale
pe care trebuie s le livreze municipalitii, pentru pavarea trotuarelor. Cererea
firmei de construcii care realizeaz pavarea este constant. Costurile sunt:
h = 500 lei o dal /zi stocarea,
s = 30 000 000 lei lansarea unei comenzi pentru un lot de dale.
n ce ritm trebuie ntreprinderea de prefabricate s-i aprovizioneze stocul dac nu i
se admite nici o ntrziere n livrare ? Se consider anul cu 300 zile lucrtoare.
Rezolvare
Se consider modelul de stocare al lotului economic i, utiliznd formulele
(9.1)(9.3), se obin rezultatele de mai jos:
120000
r=
= 400 rata ieirilor zilnice,
300
2rs
400 30000000
I
a opt
=
= 2
= 6928.20 ,
h
500
I
Topt
=
2s
2 30000000
= 17.32 zile ,
=
hr
500 400
I
C opt
= 2rsh = 2 400 30000000 500 = 3464101.61 lei/zi.
Costul total anual este 1 039 230 484.51 lei, iar costul de lansare a comenzilor
de reaprovizionare pe un an este 5196108.
203
Figura 9.5
Figura 9.6
204
***************
ECONOMIC ORDER QUANTITY
***********************
6,928.20
$519,615,242.27
$519,615,242.27
$1,039,230,484.54
6,928.20
3,464.10
1,200.00
17.32
17.32
Rotunjirea rezultatelor
Rezultatul obinut n urma rezolvrii unui model de stocare poate s nu fie un
numr ntreg, ca n exemplul de mai sus (mrimea optim a comenzii de
reaprovizionare, numrul de zile ale ciclului optim de reaprovizionare). Atunci, se
evalueaz funcia obiectiv pentru [aopt] i pentru [aopt]+1 i se reine valoarea
care d cea mai bun valoare pentru costul total ( [x]=partea ntreag a lui x).
205
Parametrii necunoscui:
cantitatea comandat a,
S nivelul maxim la care trebuie adus stocul la intrarea n stoc a comenzii,
mrimea lotului de aprovizionare T.
Ipoteze:
se admite lipsa de stoc i cererea pe perioada lipsei de stoc se pstreaz i se
reporteaz pe perioada ciclului de reaprovizionare urmtor,
r
=0.
p
Formularea problemei
I(t)
S se determine cantitatea
a care trebuie introdus n
stoc dup timpul T (care
trebuie
de
asemenea
determinat), presupunnd
c dup ce se epuizeaz
stocul S n intervalul de S
timp (0, t ), poate s mai
a
treac un interval de timp
t
(t, T ) pn cnd intr
t
T
cantitatea a n stoc.
Figura
9.7
arat
0
t
comportarea
acestui
model de stocare. Dup ce
Figura 9.7
se recupereaz lipsa de
stoc, stocul a ajuns la nivelul S. Parametrii necunoscui ai modelului trebuie
determinai astfel nct costul total, provenit din costul de depozitare, costul de
lansare i costul lipsei de stoc, s fie minim.
Construcia modelului
Considernd modelul anterior, se stabilete funcia de minimizat astfel :
- costul de depozitare a cantitii S pe intervalul de timp (0, t ) este
S
C h ,t ' = h t '
2
- costul lipsei de stoc este
aS
C d ,t " = d
t" .
2
Astfel, costul unitar total este
206
1
S
aS
t" .
s + h t '+ d
T
2
2
2 s +
=0
=0
2r 2r
T2
T
T
C=
II
Topt
=
2s
rh
h+d
II
=
, S opt
d
2rs
h
d
d
II
= 2rsh
, C opt
.
h+d
h+d
Deoarece
2C 2C 2C 2
2C
>
0
>0
i
2 S 2 T ST
S (S optII ,ToptII )
II
II
(S opt ,Topt )
valorile obinute realizeaz minimul costului.
d
< 1 i relaiile de mai sus devin
Se noteaz cu =
h+d
2s
2rs
II
II
II
Topt
=
, S opt
=
, C opt
= 2rsh
rh
h
de unde rezult c
II
I
C opt
= C opt
.
Aceast relaie arat c este mai convenabil politica de aprovizionare care
admite lipsa de stoc !
Mrimea optim a lotului de reaprovizionare este
2rs h + d
II
= Tr =
a opt
h
d
iar lipsa de stoc este
h
II
II
II
a opt
S opt
= a opt
.
h+d
Ultima relaie arat c numrul articolelor din perioada lipsei de stoc crete pentru
articolele cu cost unitar de stocare mare. Aceasta explic de ce articolele care au un
pre de stocare unitar mai mare sunt tratate mai economic ntr-un model cu lips de
stoc. Pe de alt parte, cnd costul unitar al lipsei de stoc crete, numrul articolelor
din perioada lipsei de stoc scade. Astfel, modelul arat intuitiv c articolele cu cost
mare pentru lips de stoc vor fi foarte puine pe perioada lipsei de stoc.
207
Deoarece
II
S opt
II
Topt
= r =
II
S opt
II
r Topt
II
S opt
h
1
h.
d=
d +h
Aceast relaie arat c, dac se accept drept cunoscut probabilitatea epuizrii stocului, atunci costul lipsei de stoc este proporional cu cel al stocrii. Acest
fapt nu concord totdeauna cu realitatea, i de aici rezult un inconvenient al
modelului, deoarece costurile h i d sunt practic independente.
Comparnd cele dou modele se obine
I
Topt
1
II
I
II
I
II
, Topt
S opt
= S opt
= a opt
=
,
, a opt
=1 =
adic
II
I
II
I
II
I
S opt
< S opt
, a opt
> a opt
, Topt
> Topt
.
3500
= 0.875 ;
500 + 3500
II
opt
II
= a 6481 ; Topt
=
II
opt
= 0.93541 ;
I
Topt
II
a opt
=
10141.85
7407 ;
0.93541
II
I
= Copt
3 240 370.34 .
18.51 ; Copt
208
Figura 9.8
Apsnd butonul Solve se obine soluia modelului sub forma dat n Tabelul 9.2.
Tabelul 9.2
INVENTORY MODEL
***************
ECONOMIC ORDER QUANTITY WITH PLANNED SHORTAGES
**********************************************
YOU HAVE INPUT THE FOLLOWING DATA:
**********************************
ANNUAL DEMAND = 120000 UNITS PER YEAR
ORDERING COST = $30000000 PER ORDER
INVENTORY HOLDING COST = $150000 PER UNIT PER YEAR
BACKORDER COST = $1050000 PER UNIT PER YEAR
WORKING DAYS PER YEAR = 300 DAYS
LEAD TIME FOR A NEW ORDER = 3 DAYS
INVENTORY POLICY
****************
OPTIMAL ORDER QUANTITY
ANNUAL INVENTORY HOLDING COST
ANNUAL ORDERING COST
ANNUAL BACKORDER COST
TOTAL ANNUAL COST
MAXIMUM INVENTORY LEVEL
AVERAGE INVENTORY LEVEL
MAXIMUM BACKORDERS
REORDER POINT
NUMBER OF ORDERS PER YEAR
CYCLE TIME (DAYS)
7,406.56
$425,298,608.33
$486,055,552.38
$60,756,944.05
$972,111,104.76
6,480.74
2,835.32
925.82
274.18
16.20
18.52
209
*
a i = a i , dac l i < a i < u i , iar a i =
kc a , i
u , dac u a .
i
i
i
Atunci, costul minim local este
C (c a , i )
, dac a i* = l i
a i*
.
r
210
Vnztorii ofer deseori reduceri de pre pentru cumprarea unui lot mai mare
de produse. Exist preuri pentru intervale ale numrului de produse cumprate.
Aceast practic este larg rspndit pentru c ofer avantaje att cumprtorului
ct i vnztorului, avantaje prezentate n Tabelul 9.3 .
Tabelul 9.3
Cumprtor
Vnztor
Avantaje
-preuri reduse
-mai puine hrtii de completat
-transport mai ieftin
-mai puine momente cu lips de stoc
-produse uniforme
-securitate sporit (ar putea s creasc
preurile)
-transport mai ieftin
-mai puine hrtii de completat
-producie mai mare
Dezavantaje
-stocuri mari
-cheltuieli sporite de stocare
-riscul deteriorrii
-nvechirea produselor
211
2Qs
=
h
2 27 1200
= 180 ,
2
a opt
Q
27 1200 180 2
s+
h=
+
= 180 ,
a opt
2
180
2
212
Pre
2.75
2.60
2.50
Cererea spitalului este de 50 000 uniti pe an. Costul lansrii unei comenzi de
reaprovizionare este de 50 u.m. i costul de pstrare este 20% din costul
medicamentului pe an. Nu se admite lips de stoc i se presupune c onorarea
comenzii se face imediat ce a fost lansat. S se stabileasc politica optim a
spitalului de achiziionare a medicamentelor.
Vom utiliza modelul lotului economic fr lips de stoc i vom rezolva
problema n urmtorii pai.
Pas 1. Cu modelul lotului economic fr lips de stoc, stabilim pentru cel mai mic
pre mrimea optim a comenzii de reaprovizionare. Costul unitar anual de pstrare
este h1=2.50.02=0.5 u.m.
2Qs
2 50 50000
(1)
a opt
=
=
= 10000000 = 3163
h
0 .5
(1)
(1)
cu intervalul corespunztor preului 2.50. Dac a opt
ar fi
Pas 2. Se compar a opt
n interval, soluia este fezabil i optim n acelai timp i problema este
rezolvat. Altfel, soluia nu este fezabil i se caut mrimea optim a comenzii de
reaprovizionare pentru preul 2.60 u.m.
Pas 3. n acest caz costul de pstrare este h2=2.60.02=0.52 u.m. Atunci,
2Qs
2 50 50000
(2)
=
=
= 9615385 = 3101 .
a opt
h
0.52
( 2 `)
cu intervalul corespunztor preului 2.60.
Se compar a opt
( 2)
Pas 4. Dac a opt
ar fi n interval, soluia este fezabil i optim n acelai timp i
problema este rezolvat. Altfel, soluia nu este fezabil i se caut mrimea optim
a comenzii de reaprovizionare pentru preul 2.75 u.m.
Pas 5. Costul de pstrare este h3=2.750.02=0.55 u.m. Atunci,
( 3)
=
a opt
2Qs
=
h
2 50 50000
= 9090910 = 3015 .
0.55
213
( 3)
Pas 6. a opt
este n intervalul corespunztor preului 2.75 i soluia gsit este
fezabil.
Pas 7. {Compararea costurilor} Costul total anual este
Q
a
CT (a ) = s + h + Q p .
a
2
Aplicm formula pentru cele trei valori ale marginii din stnga intervalului
pentru categoriile de pre i avem :
CT(1) (10 000) = 127 750 , CT( 2 ) (5000) = 131 800 , CT(3) (5000) = 139 158 .
Deoarece o cerere de 10 000 de uniti o dat conduce la cel mai mic pre, se va
adopta aceast politic.
Bazat pe acest exemplu putem scrie urmtorul algoritm general.
Algoritm general
Pas 1. {Iniializri}
Intrare: necesarul anual Q, costul de lansare s, costul unitar de stocare h,
intervalele pentru care se acord reduceri q = (qk ,1 , qk , 2 )1k n , n numrul
( pu )1k n .
Pas 2. k:=n;
Determin cantitatea optim aopt comandat cu modelul lotului economic pentru pun .
Dac aopt qk,1 , determin Cn+1, costul total optim cu modelul lotului
economic pentru aopt; sw:=0; an+1:=aopt ;
Pas 3. Dac sw0, atunci
Ct timp (k0 i sw4) execut
Calculeaz ak:=aopt ;
Dac a k [q k ,1 , q k , 2 ] atunci sw:=1; an+1:=qk,1 ; k:=k-1;
1 k n +1
214
1 4999
q := 5000 9999
10000 106
2.75
pu := 2.60
2.50
s := 50
:= 0.2
aopt ( h ) := 2 Q
s
h
Mn ( x) :=
m x
i1
for k 1 .. last ( x)
if m > x
m x
ik
215
k last ( pu )
nk
sw 1
CT n+ 1
Q
qk, 1
s + pu k
qk, 1
+ Q pu k
a n+ 1 aopt ( pu k )
sw 0 if a n+ 1 q k , 1
if sw 0
while ( k 1) ( sw 4)
h k pu k
a k aopt ( h k)
if ( q k , 1 a k q k , 2)
ak q k , 1
kk1
if q k , 1 a k q k , 2
CT n+ 1
Q
ak
s + h k
ak
2
+ Q pu k
a n+ 1 a k
sw 4
if sw = 4
for k 1 .. n
CT k
Q
qk, 1
s + h k
qk, 1
2
Ao Mn ( CT )
CT n+ 1 Ao1
i Ao2
a n+ 1 ai
a n+ 1
CT n+ 1
Apelul subprogramului MathCAD se face cu secvena
Discount ( Q , s , pu , ) =
+ Q pu k
216
C (a1 ,..., a p ) = C i (a i )
i =1
2ri s i
2s i
, Ti opt =
.
hi
ri hi
ntr-un model aleatoriu, pe lng variabilele de decizie d1, ... , dn (de exemplu,
mrimi de comenzi, cicluri de reaprovizionare) intervin i variabile aleatoare A1,
..., An, a cror repartiie se presupune cunoscut.
Funcia de eficien C(d1, ... , dn, A1, ... , An) va fi o variabil aleatoare, iar
valorile optime ale variabilelor de decizie vor fi determinate din condiia ca
eficiena medie s fie optim.
Printre elementele aleatoare ale unui model de teoria stocurilor, cel mai
important este cererea pe unitatea de timp. Repartiia cererii n cazul cererii
continue poate fi: normal, log-normal, Weibull etc., iar n cazul cererii discrete,
217
poate fi: Poisson, Pascal, binomial etc. Dac cererea este un proces aleatoriu,
atunci modelul de stocare este un model stochastic dinamic.
Timpul de avans, L, i stocul intangibil (de siguran),
I S = P0 R ,
R fiind cererea medie pe perioada timpului de avans, pot fi variabile aleatoare
continue sau discrete.
Mrimea stocului de siguran i, corespunztor, nivelul de reaprovizionare
reduc ansa apariiei lipsei de stoc, i invers. Tabelul 9.5 d efectul creterii sau
reducerii nivelului de reaprovizionare asupra costurilor.
Tabelul 9.5
Aciune
Reducerea nivelului de
reaprovizionare
Reducerea lotului de
reaprovizionare
Creterea nivelului de
reaprovizionare
Creterea lotului de
reaprovizionare
Rezultat
Scade costul de stocare al stocului de siguran i crete
costul lipsei de stoc
a
Scade costul de stocare al stocului mediu ( ) i cresc costul
2
lipsei de stoc i costul total de lansare comenzi
Crete costul de stocare al stocului de siguran i scade
costul lipsei de stoc
Crete costul de stocare al stocului mediu i descrete costul
total de lansare comenzi
218
Creterea costurilor
(1 F ( P0 )) d
Q
a
Costul neadugrii
unei uniti
O
P0 opt
P0
Figura 9.9
2s Q
ah
; =1
;
h
d Q
Pas 3. Din tabela funciei de repartiie a cererii pe perioada de avans R, se ia Z.
Popt = R + Z R . Stop !
Pas 2. Calculeaz a opt =
Observaii
219
CT (a, P0 ) = s + + P0 R h + d (R P0 ) f ( R )dR .
(9.6)
a 2
P0
a
Q
reprezint costul de lansare al tuturor comenzilor de reaprovizionare pe
a
perioada de timp analizat,
Q
numrul comenzilor de reaprovizionare pe perioada de timp analizat,
a
Q
d (R P0 ) f ( R)dR costul lipsei de stoc pe perioada de timp analizat,
P0
a
unde: s
(R P ) f ( R)dR
0
P0
de reaprovizionare,
f(x) densitatea de repartiie a cererii.
Se determin P0 opt i aopt din condiia impus costului total dat de (9.6), s
fie minim:
Q
Q
CT
h a d P0 f ( P0 ) + a d [F ( P0 ) + P0 f ( P0 ) 1] = 0
P = 0
(9.7)
0
h
Q
2 s + d (R P0 ) f ( R )dR + = 0
CT = 0
2
a
a
P0
a opt
2Q s + d (R P0 opt ) f ( R )dR
P0
=
.
h
(9.9)
220
(R P ) f ( R)dR =
0
P0
Q a opt
+
+ P0 opt R h .
C opt = CT (a opt , P0 opt ) = [s + d R N ( Z )]
(9.6)
a opt 2
Particularizri
1) Dac timpul de avans, L, este constant i cunoscut i cererea, r, este o
variabil aleatoare repartizat N (m,R), atunci R=Lr este o variabil aleatoare
1
2
u2
2
du ,
f ( x)dx = 1 = P( R < P )
0
221
Exemplu. La un service auto sunt necesare 1800 bidoane de ulei de motor pe an.
Costul de lansare a unei comenzi de reaprovizionare cu ulei este de s=10 u.m.,
costul de pstrare h=0.6 u.m./an, iar timpul de avans este de 20 zile. Cererea
medie pe timpul de avans este R = 30 bidoane, R a N ( R, R ) . Costul lipsei
din stoc a unui bidon de ulei este d=5 u.m. S se determine cantitatea optim de
reaprovizionare i punctul optim de reaprovizionare.
Rezolvare. Consider mrimea optim a lotului de reaprovizionare
2 sQ
2 10 1800
=
= 245 bidoane de ulei.
a opt =
h
0 .6
Indicele de lips de stoc asumat este
ha
0.6 245
( P0 ) = 1
=1
= 0.9837 =
d Q
5 1800
fiind funcia de repartiie a unei variabile aleatoare normale.
Din tabelele repartiiei normale lum cuantila corespunztoare, Z = 2.14 .
Se obine punctul optim de reaprovizionare P0=100+2.1430=164 . Astfel, stocul
de siguran este I S = Popt R = 164 100 = 64 bidoane de ulei.
n anumite ipoteze asupra repartiiei ciclului de reaprovizionare, T a G ( ) ,
numrului de cereri din intervalul de timp (0, t), n(t ) a Po( t ) ,
mrimii unei cereri X, X a F ( x) ,
se poate determina repartiia cererii totale pe intervalul de timp ( 0, t ).
222
de sezon (costume de baie, hainele de iarn), ziare etc. Cum comanda se face o
singur dat pe perioada considerat, singura decizie de stoc care trebuie luat este: ce
cantitate din produsul respectiv s se comande la nceputul perioadei ? O astfel de
problem este cunoscut sub numele de problema vnztorului de ziare.
Numr de
sptmni
Probabilitatea
cererii
160
170
180
190
200
Total
4
10
12
15
9
50
0.08
0.2
0.24
0.3
0.18
Funcia empiric
de
repartiie (P(xa))
0.08
0.28
0.52
0.82
1
Rezolvare
n rezolvarea acestui tip de probleme este indicat folosirea metodei analizei
incrementale. Analiza incremental compar ctigul sau pierderea realizat prin
comandarea unui articol suplimentar pentru care nu ar fi existat cerere, cu ctigul
sau pierderea realizat prin necomandarea unui articol pentru care ar fi existat cerere.
Fie: a cererea de aprovizionare cu roii pentru o sptmn,
c+ costul unitar al supraestimrii cererii, adic pierderea datorat
comandrii unui kilogram suplimentar care apoi se constat c nu se poate vinde,
c- costul unitar al subestimrii cererii, adic pierderea datorat necomandrii
unui kilogram suplimentar care apoi se constat c s-ar fi putut vinde,
D+ pierderea total datorat supraestimrii comenzii de aprovizionare,
D+(a)=c+P(aaopt)
D- pierderea total datorat subestimrii comenzii de aprovizionare,
D-(a)=c- P(a>aopt )= c- (1-P(aaopt)) .
Din egalitatea D+(a)= D-(a) se determin cantitatea optim comandat astfel:
c_
.
P (a a opt ) =
(9.10)
c+ + c
223
11 6
= 0.5555 . Din Tabelul 9.6
c + + c (6 2) + (11 6)
se constat c P (a a opt ) = 0.5555 i se obine aopt=190 kg .
Pentru aceast problem
c_
Mrimea
comenzii
501
II
500
Pierderea
posibil
Probabilitatea
c+=10
P(a500)
c-=20
P(a>500)
224
iar aopt=550.
n situaiile practice apare problema cunoaterii repartiiei cererii pentru
produsul respectiv i cea a costurilor c+ i c- .
c_
are rol esenial n
n modelele cu o singur perioad, cantitatea
c+ + c
determinarea cantitii optime de reaprovizionare. Cnd c+<c- se recomand s fie
mai mic lotul de reaprovizionare. Cnd c-<c+ se recomand s fie mai mare lotul
de reaprovizionare. Cnd cele dou costuri sunt egale, probabilitatea de a avea
surplus este egal cu probabilitatea de a avea lips de stoc i atunci se recomand
ca lotul de reaprovizionare s fie egal cu media.
225
M [N (t )] =
, =
, p0 = 1 .
1
Construcia funciei de cost. Notm cu:
cu costul unei uniti din stoc,
fraciunea pe care o reprezint costul de stocare din costul unitii de stoc,
(h=cu) ,
d costul unitar al lipsei de stoc,
p0 probabilitatea de a avea lips de stoc.
Atunci obinem
costul mediu de stocare = cuM[N(t)],
costul mediu al lipsei de stoc = dp0,
funcia de eficien (costul mediu ce trebuie optimizat) =C(), unde
+ d (1 ) .
1
Din condiia ca C() s fie minim ( C ( ) = 0 , C ( ) > 0) , se obine
C ( ) = c u M [ N (t )] + d p 0 = c u
cu
d
i astfel se pot determina elementele necunoscute ale modelului.
Practic se cunoate cererea a Exp( ) i astfel numrul de uniti cerute pe
unitatea de timp este o variabil aleatoare Poisson de parametru , fiind
intensitatea cererii, presupus cunoscut.
Se cere determinarea parametrului opt = intensitatea optim de ncrcare a
opt = 1
stocului.
Dar
c u
.
= = 1
n =
j =0
P(N (t ) ) = p n = (1 ) j =
deoarece
p n = n (1 ) .
226
n p 0
pn =
0
i deoarece
p
n =1
pentru 1 n m
pentru n > m
= 1 se obine
p0 =
1
.
1 m +1
Astfel
m
n =1
n =1
M [N (t )] = n p n = n n p 0 =
(1 ) m
n n 1 .
1 m +1 n =1
ns
m
n =
n =1
de unde rezult c
m
n n1 =
1 m
1
[1 (m + 1) ] (1 ) +
m
m +1
(1 )2
n =1
Obinem
(1 ) [1 (m + 1) m ] (1 ) + m +1
=
1 m +1
(1 )2
[1 (m + 1) m + m m+1 ] .
=
(1 ) (1 m+1 )
N = M [N (t )] =
(1 ) (1 m+1 )
{cu [1 (m + 1) m + m m+1 ] + d [1 m m1 + (m 1) m ]}
.
i acum se pot calcula
227
Ipotezele modelului
n momentul cnd se scoate o unitate din stoc se comand alta, astfel nct
numrul de uniti din stoc plus cele comandate s fie S=constant,
fiecare cerere este egal cu unitatea (r=1); numrul de cereri pe unitatea de
timp este o variabil aleatoare Poisson, de parametru ,
timpul de avans L este o variabil aleatoare exponenial negativ de
parametru .
Pc(t ) = Pc (t ) + Pc 1 (t )
Pn (t ) = 0 , n > c.
Rezolvarea pentru cazul staionar conduce la soluia
1
,
p0 =
c
1
c!
n
n = 0 (c n)!
iar
1
c!
p0 =
c n p c , 1 n c,
pn =
n
(c n ) !
(c n)!
unde
228
M[N(t)] = p c
, va fi
, iar numrul
cereri pe intervalul mediu de timp de avans, egal cu
c E c ( ) E c 1 ( )
,
Ec ( )
unde
x n x
e .
n = 0 n!
c fiind o variabil ntreag, condiia B(c) = 0, revine la
B(c+1)B(c) = 0,
adic
E ( )
E ( )
h
= c
c 1
.
h + cv
E c +1 ( ) E c ( )
c
E c ( x) =
229
P
(
t
)
(
S
)
P
(
t
)
P
(
t
)
S
P
(
t
)
cnc+m
=
n
n 1
n +1
n
Pc+ m (t ) = c Pc + c (t ) + Pc + m 1 (t ).
Soluia pentru cazul staionar n funcie de =
este
n
1 n c
p0
n
!
n
p n = nc p0 c n c + m
c!c
0
n>c+m
c+m
Din
p
n =0
(9.11)
= 1 deducem
p0 =
1
m +1
1
n
c
c 1
c
+
!
!
n
c
n =0
1
c
Se pot determina acum:
numrul mediu de uniti existente n stoc
(9.12)
230
M[N+(t)] =
(c n ) p
n=0
c+m
(c n ) p
n = c +1
Atunci
c +1
c +1+ m
n =0
n =c + 2
C (c) C (c + 1) C (c) = h (c + 1 n) p n d
S
S+L
n =0
n = S +1
h ( S n) p n + d
( S n) p
c+m
n =0
n = c +1
= h (c + 1 n c + n ) p n d
(c + 1 n ) p
n
(c + 1 n c + n ) p
231
1. Din experiena anilor trecui, universitatea are nevoie pentru consumurile curente
de 1200 de cutii de hrtie A4 pentru un an. Costul de lansare a unei comenzi de
reaprovizionare cu hrtie este de 150 000 lei, iar pentru depozitarea unei cutii se
consider c se cheltuiesc 35 000 lei pe un an. S se stabileasc un plan optim de
aprovizionare cu hrtie A4, care s conduc universitatea la cheltuieli minime. Se
consider c anul are 300 zile lucrtoare i c nu se admite lipsa hrtiei n depozit.
R. Pentru un an avem: aopt=101.42 cutii 101 cutii, costul total anual este de
3 549 647.87, numrul de comenzi lansate ntr-un an este 12, Topt 25 zile.
2. Firma care se ocup cu semaforizarea interseciilor din Capital are nevoie de
10 000 de becuri pe an. Costul de lansare a unei comenzi de reaprovizionare este de
1 500 000 lei, costul anual de pstrare a unui bec este de 3500 lei. Presupunnd c
anul are 300 zile lucrtoare i c nu se admite lipsa becurilor din depozit, s se
determine:
a) cantitatea optim de reaprovizionare
b) costul total anual al stocrii
c) cte comenzi de reaprovizionare vor fi lansate anual.
232
x2
2
e dx = 0.29
2
se ia z=0.55. Atunci aopt=-0.55=1000-0.55100=0.945 litri. n acest caz, costul
de subestimare este mai mic dect cel de supraestimare i atunci compania i
asum un risc mai mare de apariie a lipsei de stoc. La valoarea aopt obinut,
probabilitatea de a avea surplus este 0.29, iar cea de a avea lips de stoc este 0.71 .
P(a z ) =
ANEX
Noiuni generale de probabiliti i statistic
matematic
A.1. Cmp de evenimente. Axioma lui Kolmogorov
A.1.2. Probabilitate
Funcia de mulime P : K R se numete probabilitate dac:
P1. () X K , P(X) 0;
P2. ()I familie de indici cel mult numrabil, este ndeplinit relaia:
X K , () I , X X = , , I ,
P U X = P ( X ) ;
I
I
P3. P() = 1.
234
Fie
{ , K
, P}
Proprieti
Teorema 1. Fie X o variabil aleatoare i b un numr finit. Atunci:
a) X + b
b) b X
c) X
d) X 2
1
e)
, pentru X 0
X
sunt de asemenea variabile aleatoare.
Anex
235
Exemplu. Dac X este o variabil aleatoare discret (ia numai un numr finit sau o
infinitate numrabil de valori), atunci funcia de repartiie este suma
probabilitilor valorilor lui X () situate la stnga lui x.
x 0
p 0.2
1
0.3
2
0.1
3
0.3
0
0.2
0.2 + 0.3
F ( x) =
0.2 + 0.3 + 0.1
0.2 + 0.3 + 0.1 + 0.3
4
0.1
x0
0 < x 1
1< x 2
2< x3
3< x 4
4< x
Proprieti
Teorema 3. Fie X o variabil aleatoare, F funcia sa de repartiie i x1, x2 R.
Atunci:
a) P( x1 X < x2 ) = F( x2 ) F( x1 ) ;
b) P( x1 < X < x2 ) = F( x2 ) F( x1 ) P(X = x1 ) ;
c) P( x1 < X < x2 ) = F( x2 ) F( x1 ) P(X = x1 ) + P(X = x2 ) ;
d) P( x1 X x2 ) = F( x2 ) F( x1 ) + P(X = x2 ) .
Teorema 4. Fie X o variabil aleatoare i F funcia sa de repartiie. Atunci:
236
a) F( x1 ) F( x2 ) , x1 < x2 ;
b) lim F ( x) = F (+) = 1 ; lim F ( x) = F () = 0 ;
x
c) F( x 0) = F( x ) (continuitate la stnga).
f( y )
astfel nct
F ( x) =
f ( y )dy ,
c)
f ( x ) dx = 1 .
( X )I
P I X 1 (, a ) = P X 1 (, a ) .
xJ
J
valoarea
M [ X ] = X ( )dP .
Dac
Proprieti
Fie X , Y variabile aleatoare, iar a, b constante reale. Atunci:
Anex
237
a) M[ a X + b] = aM[X] + b ;
b) M[ X + Y] = M[X] + M[Y] ;
c) M[ X Y] = M[ X] M[ Y] numai dac X i Y sunt independente.
Dispersia unei variabile aleatoare X este
2
2
D 2 [ X ] = M ( X M [X ]) = M X 2 (M [ X ]) .
] [ ]
Proprieti
Fie X , Y variabile aleatoare independente, iar a, b constante reale. Atunci:
a) D[ a X + b] = a2D[X] ;
b) D[ X + Y] = D[X] + D[Y] .
M r [ X ] = X r ( )dP ( ) = x r f ( x)dx
dac x [a,b]
f ( x) = b a
0
altfel .
Funcia sa de repartiie este
x
xa
F ( x) = (t )dt =
, ()x [ a, b] .
ba
a
Pentru variabila aleatoare uniform X media i dispersia sunt
1
1
M [ X ] = ( a + b) , D 2 [ X ] = (b a ) 2 .
2
12
238
e ,
n!
unde >0 , iar n=0, 1, 2, ... Pentru acest tip de variabil aleatoare M[X]= i
D2[X]= ..
Repartiia exponenial
O variabil aleatoare are repartiia exponenial dac are densitatea de
probabilitate
f (t ) = e xt , t 0 , > 0 ,
iar funcia de repartiie este
F (t ) = 1 e t , t 0 .
Dac Y a Exp( ) , atunci M [Y ] =
1
, iar D 2 [Y ] = .
Repartiia Erlang(,n)
Fie Y1, Y2,..., Yn , n variabile aleatoare repartizate Exp() i independente, iar
n
repartiie
f ( x) =
n
( n)
x n1e x ,
(a) = x a 1 e x dx .
0
, iar D 2 [ X ] =
n3
Anex
239
( x )2
()x ( , ) ,
2 2
(t )2
2 2
dt ,
2
unde M[X]=, iar D2[X]=2. Cnd =0 i =1 , variabila X se numete variabil
aleatoare normal standard (sau redus), iar pentru aceasta F(x) este tabelat.
f ( x ) = B ( a, b)
,
0
altfel
unde B(a,b) este funcia beta (funcia lui Euler de spea I)
(a )(b)
B ( a , b) =
, a>0 , b>0.
( a + b)
Pentru o variabil aleatoare de acest tip,
2
a
1
a
.
M[X ] =
i D 2 [ X ] =
a+b
a + b a + b +1
240
({
})
[ (t s ]
P( (t ) ( s ) = n ) = e (t s )
, ()n N * .
n!
Se poate considera c (t ) nregistreaz numrul de apariii ale unui
eveniment n intervalul de timp [0, t] .
Media i dispersia procesului Poisson sunt M [ (t )] = t , D 2 [ (t )] = t .
ntr-un proces Poisson probabilitatea apariiei unui eveniment este constant i
apariia unui eveniment este independent de ceea ce s-a ntmplat imediat naintea
observaiei curente. Pot fi considerate procese Poisson: numrul erorilor de tipar
dintr-o carte, ziar etc., numrul pieselor defecte dintr-un lot de fabricaie, vnzrile
unui produs etc. Repartiia probabilitii Poisson aplicat procesului Poisson d
probabilitatea numrului de evenimente pe un interval, [0, t] , date fiind:
a) numrul mediu de evenimente pe unitatea de timp, =rata sau intensitatea
procesului,
b) lungimea intervalului, t .
Atunci, probabilitatea apariiei a n evenimente n intervalul [0, t] este
e t (t ) n
P( X = n , t ) =
.
n!
Anex
241
R n = R1n R0n i
se
242
Anex
243
(N i N i )2
i =1
N i
= N , i se
i=1
( P 2 > n21 k , = ) i dac c2 < n21 k , , atunci exist concordan, iar dac
2
c
2
n 1 k ,
u
= (1) k e 2u k = K (u ) .
lim P max Fn ( x) F ( x) <
n
n
244
Funcia K(u) se numete funcia lui Kolmogorov i exist tabele cu cuantilele ei.
Algoritm pentru aplicarea testului Kolmogorov (Vduva, 1977)
Pas 1. Se formuleaz ipoteza H0: Variabila aleatoare X are funcia de repartiie
F(x);
Pas 2. Se fixeaz un prag de semnificaie (de exemplu, =0.05 , =0.01 ,
=0.025);
Pas 3. Se determin u , din tabelele funciei K(u) , astfel K (u ) = 1 ;
Pas 4. Se ordoneaz cresctor X (1) X ( 2 ) ... X ( n ) ;
u
n
BIBLIOGRAFIE
Anderson, D. R. , Sweeney, D. J., Williams, Th. A. An Introduction to
Management Science. Quantitative Approaches to Decision Making, ediia a
7a. West Publishing Company, 1997.
Anderson, D. R. , Sweeney, D. J., Williams, Th. A., Joseph, D. A. The
Management Scientist, ediia a 7a. West Publishing Company, 1998.
Bergounioux, M. Optimization et Contrle des systmes linaires. Ed. Dunod,
2001.
Bonini, C. P. , Hausman, W. H., Bierman, H. Jr. Quantitative Analysis for
Management, ediia a 9a. Irwin McGrawHill, 1997.
Cohen, G. Convexite et optimisation, ENPC, Paris, 2000
Cohen, V. La Recherche Oprationnelle. Presses Universitaires de France, 1995.
Dragomirescu, M., Malia, M. Programare ptratic. Editura tiinific,
Bucureti, 1968.
Fletcher, R. Practical Methods of Optimization, vol. 1 Unconstrained
Optimization i vol. 2 Constrained Optimization. John Wiley & Sons, 1981.
Fuente, Angel de la. Mathematical Methods and Models for Economists,
Cambridge University Press, 2000.
Henry-Labordere, A. Recherche Operationnelle. Presses de lcole Nationale des
Ponts et Chausses, 1995.
Hsiao, J. C., Cleaver, D.S. Management Science. Houghton Mifflin Company,
1982.
Ionescu, H., Dinescu, C., Svulescu, B. Probleme ale cercetrii operaionale.
Editura Didactic i Pedagogic, Bucureti, 1972.
Kaufmann, A. Metode i modele ale cercetrii operaionale, vol. I, II. Editura
tiinific, Bucureti, 1967.
Lee, A. M. Teoria ateptrii cu aplicaii. Editura Tehnic, Bucureti , 1976.
Lange, O. Decizii optimale Bazele programrii. Editura tiinific, Bucureti,
1970.
Luenberger, D. G. Linear and Nonlinear Programming. AddisonWesley, 1989.
Malia, M., Zidroiu, C. Matematica organizrii. Editura Tehnic, Bucureti,
1971.
Mihil, N., Popescu, O. Matematici speciale aplicate n economie, Editura
Didactic i Pedagogic, Bucureti, 1978.
Popescu, O i colectiv. Matematici aplicate n economie, Editura Didactic i
Pedagogic, Bucureti, 1997.
Popescu, O i colectiv. Matematici aplicate n economie Culegere de probleme,
Editura Didactic i Pedagogic, Bucureti, 1996.
Preda, V i Bad, M. Culegere de probleme de Cercetri Operaionale, Tipografia
Universitii din Bucureti, 1978.
246
INDEX ALFABETIC
coeficieni
de cost redus...................................59, 106
coeficienii funciei obiectiv .................62, 93
condiia de balansare...................................52
condiiile
de nenegativitate ....................................50
Kuhn-Tucker ..................................49, 125
conul
direciilor admisibile ..............................48
tangent....................................................48
costul de
depozitare.............................................193
lansare ..........................................193, 197
stocare ..................................................197
costul lipsei de stoc ...........................193, 203
costul total.................................................198
costul unitar
al subestimrii.......................................220
al supraestimrii ...................................220
de fabricaie..........................................208
de transport ............................................53
costuri reduse ..............................................67
criteriu de
ieire din baz ..........................61, 90, 107
intrare n baz...........................61, 90, 106
cuantila inferioar .....................................218
cuplu de probleme duale .............................82
asimetrice ...............................................83
simetrice.................................................83
degenerare...................................................72
densitate de repartiie ................................234
diagrama activitilor ..................................30
direcie admisibil.......................................48
disciplina de serviciu ................................160
dispersia variabilei aleatoare.....................235
domeniul de admisibilitate........................142
drum............................................................17
critic .......................................................30
eulerian ..................................................20
hamiltonian ............................................20
ecuaiile
de recuren..........................................146
KolmogorovFeller..............................161
ecuaiilor de stare......................................180
evenimentul
imposibil ..............................................231
sigur .....................................................231
248
factor de serviciu ...................................... 164
FIFO ......................................................... 159
fluxul intrrilor n sistemul de ateptare ... 159
form ptratic
negativ definit .................................... 122
negativ semidefinit............................. 122
pozitiv definit..................................... 122
pozitiv semidefinit ............................. 122
funcia lui Kolmogorov ............................ 242
funcie
beta ...................................................... 237
convex.................................................. 43
de repartiie .......................................... 233
decompozabil
prospectiv........................................ 143
retrospectiv ..................................... 143
gama .................................................... 236
obiectiv .................................................. 14
pozitiv semidefinit ............................... 43
strict concav ......................................... 44
strict convex......................................... 43
grad
exterior................................................... 18
interior ................................................... 18
graf
complet .................................................. 19
neorientat ............................................... 19
orientat................................................... 17
parial..................................................... 18
ponderat ................................................. 19
simetric .................................................. 19
simplu conex.......................................... 20
tare conex............................................... 18
indice de lips de stoc............................... 205
nfurtoarea convex ............................... 42
intensitate de trafic ................................... 164
intensitatea de trafic.................................. 175
intensitatea optim de ncrcare a stocului223
intensitatea procesului .............................. 238
intensiti de deces.................................... 161
intensiti de natalitate.............................. 161
intervalul de control.................................. 195
inventar ..................................................... 193
ipotez
alternativ ............................................ 239
statistic ............................................... 239
lagrangean .................................................. 46
lan.............................................................. 19
eulerian .................................................. 20
hamiltonian ............................................ 20
lege de evoluie......................................... 142
lema
Farkas-Minkowski ................................. 48
substituiei.............................................. 87
lot de reaprovizionare ............................... 194
Index alfabetic
numrul mediu de clieni servii la un
moment dat .......................................... 169
numrul mediu de servicii ........................ 176
numrul mediu de staii de servire care
lenevesc ............................................... 177
numrul mediu de staii n lucru ............... 181
numrul mediu de staii neocupate ........... 163
obiectiv ....................................................... 13
optimizare............................................. 13, 14
pivot............................................................ 62
poligonul soluiilor.................................... 74
politic ...................................................... 141
de reaprovizionare ............................... 195
optim .................................................. 144
pondere ....................................................... 20
ponderea arcelor ......................................... 19
prag de semnificaie.................................. 240
pre dual...................................................... 68
pre umbr ................................................... 91
probabilitate.............................................. 231
problem
de decizii.............................................. 142
cu orizont finit................................. 141
cu orizont infinit ............................. 141
de programare
convex ............................................. 44
liniar ................................................ 15
ptratic .................................... 15, 124
forma canonic........................... 124
forma standard ........................... 126
dual ...................................................... 81
nedegenerat .......................................... 72
primal................................................... 81
probleme de stoc
aprovizionare ....................................... 192
producie............................................... 193
proces
aleatoriu ............................................... 237
cu creteri independente ...................... 238
Markov ................................................ 238
Poisson................................................. 238
stochastic ...................... v. proces aleatoriu
proces de natere i deces ......................... 160
program
de baz ................................................... 57
de transport ............................................ 52
degenerat................................................ 71
optim...................................................... 57
program liniar ............................................. 51
forma canonic ....................................... 55
forma standard ....................................... 55
programare........................... 14, v. optimizare
cu restricii ............................................. 14
dinamic ................................................ 15
far restricii........................................... 14
249
punct admisibil............................................15
punct de extrem...........................................43
punct regulat ...............................................47
rata
cererii ...................................................193
ieirilor .................................................193
intrrilor ...............................................193
regiunea admisibil .....................................15
regiunea critic a testului ..........................240
regula dreptunghiului..................................62
repartiia
Beta ................................................34, 237
Erlang...........................................218, 236
exponenial .................................164, 236
normal ................................................237
Poisson .................................................236
uniform...............................................235
repartiii Markov.......................................236
restricie
activ......................................................46
inactiv...................................................46
restricii.......................................................13
riscul de genul
al doilea................................................240
nti ......................................................240
rotunjirea rezultatelor................................202
simulare probabilist.................................184
soluie
admisibil.........................................15, 56
de baz ...................................................56
degenerat ..............................................56
global....................................................45
local......................................................45
nedegenerat ..........................................56
optim ..............................................15, 57
starea
final ....................................................142
iniial ..................................................142
staie de servire ..........................................159
stoc....................................................192, 193
stoc intangibil....................................197, 215
subgraf ........................................................18
tabel simplex...............................................62
teoria
ateptrii ..............................................159
grafurilor................................................15
test de concordan ...................................239
testul
2 ........................................................241
lui Kolmogorov....................................242
timpul de
ateptare ...............................................159
P
250
avans .................................................... 195
neocupare a staiilor............................. 159
timpul mediu de
ateptare n sistem 163, 165, 170, 177, 182
ateptare la coad 163, 165, 170, 177, 182
lenevire ................................................ 163
servire .................................................. 163
topologia sistemului de servire................... 159
traiectoria optim...................................... 144
vrf
adiacent.................................................. 18
al grafului............................................... 19
MODELE I ALGORITMI
DE OPTIMIZARE
I SBN 9 7 3 - 8 4 6 6 - 7 6 - 8
9 789738 466760