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
OPTIMIZATION MODELS AND ALGORITHMS
This book presents a set of optimization methods, models and algorithms. After
the Introduction, where the reader is familiarized with the object of optimization
and some applications of it, the book includes Graphs in Optimization, Convex
Programming, Linear Programming, the Transportation Problem, Quadratic
Programming, Dynamic Programming, Basics of Queuing Theory, Basics of
Inventory Theory, and an Appendix.
These chapters provide a minimum of knowledge for practical activities in
engineering and economics.
Many of the results are being formally established, but some theorems are listed
without a proof, while providing a reference where the proof can be found. The
methods and corresponding algorithms are illustrated by examples. Also, the solutions
obtained by using the following software are included: Management Scientist, Excel,
and MathCAD. Almost all chapters end with suggested problems.
This book is aimed at engineers, economists, mathematicians and students of
technical and economic faculties, being a useful tool for solving practical problems.
8
Romic Trandafir
MODELE I ALGORITMI
DE OPTIMIZARE
Seria Matematic
Editura AGIR
Bucureti, 2004
ASOCIAIA GENERAL A INGINERILOR DIN ROMNIA
Refereni tiinifici:
prof. univ. dr. Ion Vduva;
prof. univ. dr. tefan Mititelu
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
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
Anex.................................................................................................................................233
A.1. Cmp de evenimente. Axioma lui Kolmogorov ....................................................233
A.1.1. Evenimente. Probabiliti.............................................................................233
A.1.2. Probabilitate .................................................................................................233
A.1.3. Cmp de probabilitate complet aditiv ..........................................................233
A.1.4. Probabilitate condiionat ............................................................................234
A.1.5. Evenimente independente ............................................................................234
A.2. Variabile aleatoare .................................................................................................234
A.2.1. Funcia de repartiie .....................................................................................235
A.2.2. Densitate de repartiie ..................................................................................236
A.2.3. Variabile aleatoare independente .................................................................236
n sensul SteinhausKa .........................................................................................236
A.2.4. Valoare medie. Dispersie. Momente............................................................236
A.3. Cteva repartiii clasice..........................................................................................237
A.3.1. Repartiia uniform ......................................................................................237
A.3.2. Repartiii Markov.........................................................................................237
A.3.3. Repartiia normal unidimensional a lui Gauss..........................................238
A.3.4. Repartiia Beta .............................................................................................239
A.4. Procese aleatoare....................................................................................................239
A.5. Teste de concordan .............................................................................................241
A.5.1. Etapele verificrii ipotezelor statistice .........................................................242
A.5.2. Testul de concordan ..........................................................................243
2
Bibliografie .......................................................................................................................245
Un manager vrea s aleag acel curs al activitii sale care va fi cel mai
performant n atingerea scopului firmei sale. n judecarea eficienei diferitelor decizii
posibile, trebuie s se foloseasc anumite criterii pentru msurarea performanei
activitii n discuie. Este indicat s se urmreasc etapele (Bonini et al, 1997):
1. Stabilirea criteriului de eficien
2. Selectarea unei mulimi de alternative posibile
3. Determinarea unui model care s fie folosit i a valorilor parametrilor procesului
4. Determinarea alternativei care optimizeaz criteriul stabilit la etapa 1.
Deoarece problemele lumii reale devin extrem de complicate este necesar s se
fac o abstractizare i o simplificare a realitii ntr-un model. S considerm de
exemplu problema construirii unei cldiri. Este necesar o durat ndelungat
pentru culegerea de informaii privind locul unde se amplaseaz, caracteristicile
fizice ale cldirii, studiul detaliat al condiiilor climatice i de sol, influena asupra
costurilor, sursele de finanare i costurile. Decidentul poate hotr s considere n
mod deosebit i n detaliu toate celelalte poteniale folosite n aceast perioad i n
perioadele viitoare. Dac decidentul adopt strategia colectrii tuturor informaiilor
nainte de a aciona, atunci nici o aciune nu va avea loc. Mintea uman nu poate
considera toate aspectele empirice ale problemei. Anumite atribute ale problemei
trebuie ignorate ca s se poat lua o decizie. Decidentul trebuie s identifice
factorii cei mai relevani pentru problem. Abstracia i simplificarea sunt pai
necesari n rezolvarea oricrei probleme umane.
*
* *
A face cel mai bine posibil este sensul oricrei atitudini naturale n viaa de
zi cu zi. Dar aceasta nu are dect un sens relativ n raport cu nite restricii impuse
din exterior sau acceptate de bunvoie (Cohen, 2000).
Pentru un inginer a face cel mai bine posibil ar trebui s fie un obiectiv
permanent atunci cnd are de conceput o cldire, de dimensionat o instalaie etc.
Expresia este relativizat n funcie de buget, de securitate, sau altele, restricii al
cror nivel a fcut la rndul su obiectul deciziilor prealabile i adesea exterioare.
Prin schimbarea
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.
Teoria algoritmilor iterativi poate fi mparit n trei pri. Prima parte se ocup
cu crearea de algoritmi. A doua parte, numit i analiza convergenei globale,
analizeaz convergena unui algoritm ctre soluia optim atunci cnd se
iniializeaz cu un punct deprtat de soluia optim. Cea de-a treia component se
numete analiza convergenei locale i studiaz rata de convergen a irului ctre
soluia optim. Este esenial cnd se recomand un algoritm s se menioneze i
o estimare a timpului necesar pentru obinerea soluiei. Lucrarea de fa
argumenteaz convergena majoritii algoritmilor prezentai.
2. GRAFURI N OPTIMIZARE
Exemple de grafuri:
a) o reea rutier (cu drumuri avnd sens unic) vrfurile sunt interseciile,
iar arcele sunt drumurile.
b) ordinea lucrrilor ntr-un
antier. 2
c) relaiile stabilite ntre
indivizi (situaie ntlnit
n psihologia de grup) 1
de exemplu: X={1, 2,
3, 4} , U={(1, 2), (3, 4) ,
(4, 2), (4, 3)}. Grafic se 4
poate reprezenta ca n
Figura 2.1. Individul 1 l
apreciaz pe individul 2,
individul 2 nu l apreciaz 3
pe individul 1, individul 4
l apreciaz pe individul Figura 2.1
2, iar indivizii 3 i 4 se
apreciaz reciproc.
Exemplu. n Figura 2.1 (1, 2, 4, 3) este un drum, iar (1, 2, 3) nu este drum.
Vrful y este adiacent vrfului x dac (x, y)U sau (y, x)U .
Fie G=(X,U) un graf orientat i AX. Arcul u U este incident mulimii A
spre exterior dac extremitatea sa final aparine lui A, iar extremitatea iniial nu
aparine lui A. Arcul u U este incident mulimii A spre interior dac este
incident spre exterior mulimii A = X A .
Definiia 2.6. Graful se numete tare conex dac pentru orice perechi de vrfuri
x, y X exist un drum din x plecnd la y .
Exemple:
a) l(x,y) = lungimea tronsonului de drum, (x,y) care unete localitile x i y;
b) l(x,y) = capacitatea tronsonului de drum (x,y).
Definiia 2.12. Un graf neorientat, G=(X, U), se numete graf complet dac
pentru ( )x, y X avem ( x, y ) U .
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.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.
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
puin a unui arbore) ponderat neorientat. S notm cu n = X (numrul
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
Algoritmul Kruskal
Pas 1. Se consider v1 muchia de lungime cea mai mic. Apoi v2 muchia de
lungime cea mai mic dintre cele rmase i se noteaz V2={v1, v2} ;
k :=2 ;
Pas 2. Repet
k :=k+1 ; vk muchia de lungime cea mai mic dintre cele rmase
astfel nct Vk1 vk s nu formeze ciclu
pn cnd k=n1 ;
Pas 3. Stop. {Vn1 este un graf de n1 muchii i nu are cicluri}.
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.
1
1
16 16 15
15
14
5
2 3
2
19
18 14
17 10
3 4 5 4
10
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
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
lungimea minim este Lmin = ci . Stop!
i =1
nodul 1 2 3 4 5
1 0 0 0 0
p 0 0 0 0 0
c 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 2 3 4 5
1 0 1 0 0
p 0 0 1 0 0
c 0 0 15 0 0
24 Modele i algoritmi de optimizare
Figura 2.4
2. Grafuri n optimizare 25
Figura 2.5
Figura 2.6
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 2
1 4 5
9 2 7
2
1 5 6 7
1
2 3 6
4 3
Figura
2. Grafuri n optimizare 27
y 1 2 3 4 5 6 7
(y) 0 1 4
Pas 2.
Iteraia I . { ( y )} = min { ( z )} = min{(2), (3), (4), (5), (6), (7)} = (2) ,
z X S
y 1 2 3 4 5 6 7
(y) 0 1 5 3
Iteraia a II-a
( y ) = min { ( z )} = min{(3), (4), (5), (6), (7)} = (4) , y=4, S={1,2,4},
zX S
(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 1 2 3 4 5 6 7
(y) 0 1 5 3 5 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 1 2 3 4 5 6 7
(y) 0 1 5 3 5 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 1 2 3 4 5 6 7
(y) 0 1 5 3 5 8 12
28 Modele i algoritmi de optimizare
Iteraia a V-a
{( y)} = zmin
X S
{( z )} = min{(6), (7)} = (6) , y=6, 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 1 2 3 4 5 6 7
(y) 0 1 5 3 5 8 9
Iteraia a VI-a
{( y)} = zmin
X S
{( z )} = min{(7)} = (7) , y=7, S={1,2,3,4,5,6,7},
Algoritmul se oprete deoarece S=X. Vectorul (y) conine cele mai mici
distane de la nodul 1 la celelalte noduri. Drumul cel mai scurt ntre nodurile 1 i 7
se obine din muchiile (marcate cu litere ngroate) D={[1,2], [2,3]; [3,6]; [6,7]} i
este de 9 ore.
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
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.
Drumul critic este o mulime de activiti din proiect care are cea mai mare
durat de timp asociat.
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.
Talelul 2.1
Activitate Timpul necesar
Activitate
precedent realizrii (n zile), ti
A Nici una 2
B A 3
C A 4
D B, C 6
E Nici una 2
F E 8
B3
D
A
6
2
C
4
STO
START
P
E F
2 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.
Tabelul 2.2
Activitate Durata D DF TS TF M
S
A 2 0 2 0 2 0
B 3 2 5 3 6 1
C 4 2 6 2 6 0
D 6 6 12 6 12 0
E 2 0 2 2 4 2
F 8 2 10 4 12 2
Figura 2.12
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 Modele i algoritmi de optimizare
Tabelul 2.3
Activitate ai bi mi ti i i2
A 1 3 2 2 0.33 0.11
B 1 5 3 3 0.67 0.45
C 2 6 4 4 0.67 0.45
D 4 8 6 6 0.67 0.45
E 1 3 2 2 0.33 0.11
F 1 15 8 8 2.33 5.43
4 6
3
Sediul firmei (1)
4
10
4 2
3 5 6
Figura 2.15
R. Lmin=22 , obinut pe traseul D={[1,3], [3,5], [5,6], [6,7]} .
3 4
1
Serverul
4 3
central (1)
4
2
6
Figura 2.16
R. Arborele de acoperire
36 Modele i algoritmi de optimizare
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
1 3 5
4
3
2
6
1
2
2
Figura 2.17
3 8
9
11
2 5
2 3
5 8 9 12
8 11 4
2 4
1 3 6 6 14
5 7 3
3 8
6 9 9 10 13
6
5
4 7 4
11
Figura 2.18
A B4
E4
C D F2
Figura 2.19
Tabelul 2.5
Activitate DS DF TS TF
A 0 5 0 5
B 5 9 5 9
C 0 7 3 10
D 9 12 10 13
E 9 13 9 13
F 13 15 13 15
R. a) Nu, deoarece activitatea C are o marj de 3 zile, iar creterea duratei este
doar de 2 zile.
b) Da, i drumul critic este compus din activitile C, D, F i durata proiectului
este de 16 zile.
Tabelul 2.6
Activitate Timpul necesar
Activitate Descriere activitate
precedent Realizrii (n sptmni), ti
A Proiectul de arhitectur Nici una 5
B Identificarea chiriailor poteniali Nici una 6
C Dezvoltarea prospectului A 4
D Selectarea antreprenorului A 3
E Pregtirea autorizaiei de A 1
construcie
F Obinerea autorizaiei de E 4
construcie
G Construcia D,F 14
H Finalizarea contractelor cu B,C 12
chiriaii
I Instalarea chiriailor G,H 2
Tabelul 2.7
Activiti
Activitate precedent ai bi mi
e
A 2 6 4
B 6 10 8
C A 1 15 5
D C 1 9 5
E B 6 10 8
unde:
ai cea mai optimist durat pentru activitatea i,
bi cea mai pesimist durat pentru activitatea i,
2. Grafuri n optimizare 39
Tabelul 2.8
Activitate ti i2
A 4 0.44
B 8 0.44
C 6 5.44
D 5 1.78
E 8 0.44
A4 C6 D5
STO
STAR
B8 E
Figura 2.20
16 15
P (TBE < 16) = F = 0.50.
0,94
2. Grafuri n optimizare 41
Tabelul 2.9
Activitate Timpul necesar
Activitate
precedent realizrii (n luni), ti
A Nici una 10
B Nici una 4
C Nici una 8
D A, B, C 5
E C 6
B4 D5
STAR A1 STO
C8 E6
Figura 2.21
42 Modele i algoritmi de optimizare
Tabelul 2.10.
Activitate DS DF TS TF M
A 0 10 0 10 0
B 0 4 6 10 6
C 0 8 2 10 2
D 10 15 10 15 0
E 8 8 15 15 7
Tabelul 2.11
Durata
Activitate realizrii (n sptmni)
Activitate Descriere activitate
precedent cea mai cea mai cea mai
pesimist probabil optimist
Proiectarea
A Nici una 4 5 12
produsului
Cercetarea pieei de
B Nici una 1 1.5 5
defacere
Stabilirea procesului
C A 2 3 4
tehnologic
Construirea
D A 3 4 11
prototipului
Pregtirea brourii cu
E instruciuni de A 2 3 4
folosire
F Estimarea costurilor C 1.5 2 2.5
G Testarea prototipului D 1.5 3 4.5
H Inspectarea pieei B, E 2.5 3.5 7.5
Stabilirea preului i
I H 1.5 2 2.5
estimarea vnzrilor
J Raportul final F, G, I 1 2 3
S se precizeze activitile critice, duratele: cea mai optimist, cea mai probabil i
cea mai pesimist de realizare a acestui proiect.
n acest capitol sunt prezentate cteva noiuni i rezultate (Fletcher, II, 1981) pe
care se bazeaz metodele i algoritmii urmtoarelor trei capitole.
Definiia 3.2. x din Definiia 3.1 se numete combinaia liniar a punctelor x0,
x1 etc.
i =1
{ ( ) }
un con ( C = x R n A x x * 0 , A M m ,n (R ) , x* vrful conului) etc.
m
Lema 3.1. Fie Ki , i=1,2,,m, m mulimi convexe. Atunci K = I K i este tot o
i =1
mulime convex.
44 Modele i algoritmi de optimizare
Exemple: vrfurile unui poligon regulat, punctele circumferiei unui cerc sunt
puncte de extrem pentru poligon, respectiv disc.
Corolar 3.1.
( 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.
convex pe K.
Lema 3.3. Dac g = (g1 ,..., g n ) este convex pe R n , atunci
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] . Din
convexitatea lui g avem
g ( x ) (1 ) g ( x 0 ) + g ( x1 ) (1 ) a + a = a , adic g ( x ) R ( a ) .
mai sus contrazice proprietatea de optim local a lui x*. Astfel, soluia local este i
global.
Corolar 3.2. Dac f este strict convex pe R , atunci orice soluie global este
unic.
Demonstraie. Fie x 0 x1 R i (0,1) . Atunci
x R i f ( x ) f ( x 0 ) = f ( x1 ) ,
iar din convexitatea strict a lui f avem
f ( x ) < (1 ) f ( x 0 ) + f ( x1 ) = f ( x 0 ) = f ( x1 )
i s-a obinut o contradicie. Aadar, nu pot exista dou soluii globale distincte n
R pentru problema (3.6).
3. Programare convex 47
(
)
m
+ *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.
* *
Teorema 3.3. Dac x* este o soluie a problemei (3.6), atunci x* este i o soluie
a problemei restrnse
min f ( x )
* (3.6)
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)
Fie x = x + (1 )x , 0 < < 1 . S artm c pentru suficient de mic x
*
este o soluie pentru problema (3.6) mai bun dect x*, adic f ( x ) < f ( x * ) .
48 Modele i algoritmi de optimizare
(realizabil) n x * .
Notm
Ca={sRn s este direcie admisibil n x*}
conul direciilor admisibile n x * , i
{
C t = s R n s g i ( x * ) 0 , i E * }
conul tangent n x * la R.
Ipoteza de calificare a restriciilor ntr-un punct de extrem este dat de relaia
Ca = Ct . (3.10)
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.
Teorema 3.5. (Condiiile Kuhn-Tucker) n ipotezele de mai sus, condiia necesar
i suficient pentru ca x* s fie o soluie a problemei (3.6) este s existe
multiplicatorii i R + , i = 1, m , astfel nct
(i) f ( x * ) g ( x * ) g ( x * )
+ k k + k k = 0 , ()i = 1, n
xi kE xi kI xi
(ii) ( )
k g k ( x * ) bk = 0 , ()k I
Demonstraie. Condiiile Kuhn-Tucker sunt necesare. Din ipoteza de calificare a
restriciilor n x* rezult c sg i ( x* ) 0 , i E i deoarece pentru ()s C a
avem
f ( x ( k ) ) = f ( x * ) + ( k ) s ( k ) f ( x * ) + O ( ( k ) ) , ()x ( k ) Br ( x * ) .
Dar
f ( x ( k ) ) f ( x * ) ( k ) s ( k ) f ( x * ) + O ( ( k ) ) 0 .
mprim relaia de mai sus la ( k ) > 0 i trecem la limit pentru k i
obinem c sf ( x * ) 0 . n Lema Farkas-Minkowski, nlocuind x cu s i A
cu gE ( x * ) , rezult c () E 0 , astfel nct f ( x* ) = E gE ( x* ) , unde
gE ( x * ) este matricea care are ca linii g i ( x* ) , i E . Considerm vectorul
= [E ,0 ] R n i f ( x* ) = g ( x* ) cu proprietatea c g ( x* ) = 0 ,
egalitate evident, deoarece
g i ( x * ) = 0 , i E * , j = 0 , ( ) j I E * .
Condiiile Kuhn-Tucker sunt suficiente. n Teorema 3.2 se consider b=0 i
rezult c x* este soluia problemei (3.6) .
a
j =1
ij x j bi , i{1, 2,..., m}. (4.1)
c
j =1
j x j d j x j = (c j d j )x j
j =1 j =1
(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
a ij x j bi (4.4)
j =1
x j 0
Aceasta este o problem de programare liniar, sau program liniar.
c
i =1 j =1
ij xij .
a = b
i =1
i
j =1
j ,
x j =1
ij = ai , 1 i m (4.9)
m
x i =1
ij = bj , 1 j n (4.10)
xij 0, 1 i m, 1 j n, (4.11)
care se numete program de transport.
n condiiile
n
x
j =1
ij ai , 1 i m (4.13)
m
x i =1
ij bj , 1 j n (4.14)
a b
i =1
i
j =1
j .
n
max a j x j (4.16)
j =1
n condiiile:
n
x
j =1
j =S (4.17)
xj 0, 1jn. (4.18)
xi +1 = xi + d i bi , i = 1, n 1
(4.19)
xn + d n bn = 0
xi + d i S
x = 0 , x , d , b 0
1 i i i
Modelarea problemei
Se noteaz cu xi numrul de uniti din alimentul i coninut n diet. Trebuie
minimizat costul total al dietei
min {c1x1+ c2x2+...+ cnxn}
supus la restriciile urmtoare date de coninutul n ingrediente nutriionale
a11 x1 + a12 x 2 + ... + a1n x n b1
a x + a x + ... + a x b2
21 1 22 2 2n n
M M
a x + a x + ... + a x b
m1 1 m2 2 mn n m
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 Modele i algoritmi de optimizare
Scris matriceal, cea mai general problem de programare liniar are forma
(Zidroiu, 1983)
min [ c1 x 1 + c 2 x 2 + c 3 x 3 ]
A11 x 1 + A12 x 2 + A13 x 3 b1
A21 x + A22 x + A23 x = b2
1 2 3
(4.20)
A x + A x + A x b
1 2 3
31 32 33 3
x 0, x oarecare, x 0
1 2 3
max c x
Ax b (4.22)
x 0
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
x B = x y Bj x j
B
(4.31)
jS
sau pe componente
xiB = xiB y ijB x j , i B, (4.31)
jS
unde
x B = B 1 b (4.32)
y Bj = B 1 a j (4.33)
iar: aj este coloana j a matricei A ,
S={indicii variabilelor secundare},
B={indicii variabilelor de baz}.
unde
z B = ci xiB = c B x B , (4.35)
iB
z Bj = ci y ij = c B y Bj , (4.36)
iB
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 Modele i algoritmi de optimizare
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).
Fie problema de programare liniar sub forma standard (4.21). Pentru aceast
problem algoritmul simplex are urmtorul enun.
Pas 0. Se determin o baz B n matricea A, se calculeaz x B = B 1 b ,
z B = c B x B , y Bj = B 1 a j (aj coloanele din A), z Bj cj, 1 j n.
Pas 1. a) Criteriu de intrare n baz
1) dac toi z Bj cj 0, jB, programul este optim. Stop.
2) dac () z Bj cj > 0, se determin k astfel nct:
zkck= max{zjcj}.
b) Criteriu de ieire din baz
1) dac toi yik 0, problema are optim infinit.
2) dac () yik > 0, se determin l astfel nct:
xl x
= min i .
>
y lk i y ik 0
y ik
Pas 2. Se nlocuiete n baza B vectorul al cu vectorul ak , obinndu-se baza
~ ~ ~ ~ ~
B , i se calculeaz x B , z B , y Bj , 1 j n, z Bj c j , 1 j n,
conform cu (4.31), (4.34), (4.33) apoi se trece la pasul 1, nlocuind baza B
~
cu baza B .
z B = z B (z k c k ) l ; z Bj c j = (z j c j ) ( z k c k )
~ x ~ y lj
(4.40)
y lk y lk
64 Modele i algoritmi de optimizare
Tabelul 4.1
Coeficienii funciei obiectiv
xi
CVB VB VVB x1 xl xm xm+1 xk xn
y ik
M M M M M M M M M
funcia obiectiv
M M M M M M M M M
1 0 L 0 v1 0 L 0
0 1 L 0 v2 0 L 0
L L L L L L L L
0 0 L 1 v l 1 0 L L
E = .
0 0 L 0 vl 0 L 0
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
Rezolvare
a) Modelarea problemei. Fie x1, x2 cantitile din produsele P1 i P2 ce trebuie
fabricate. Formularea matematic a problemei este
max z = max{4 x1 + 3x2 } max z = 4 x1 + 3 x 2
3 x + 2 x 24 2 x + x + x = 8
1 2 1 2 3
1
x + 3 x 2 18 sau 1
3 x + 2 x 2 + x 4 = 24
x , x 0 x + 3 x + x = 18
1 2 1 2 5
2 x1 + x2 8 xi 0, i 1,5
dup adugarea variabilele de compensare
66 Modele i algoritmi de optimizare
Tabelul 4.3
4 3 0 0 0 alegem min
xi
CVB VB VVB x1 x2 x3 x4 x5
y ik
8
0 x3 8 2 1 1 0 0 =4
2
24
0 x4 24 3 2 0 1 0 =8
3
18
0 x5 18 1 3 0 0 1 = 18
1
1 1
4 x1 4 1 0 0 8
2 2
1 1
0 x4 12 0 1 0 24
2 2
5 1 28
0 x5 14 0 0 1
2 2 5
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.
Tabelul 4.4
4 3 0 0 0 alegem min
xi
CVB VB VVB x1 x2 x3 x4 x5
yik
6 3 1
4 x1 1 0 0 8
5 5 5
46 2 1
0 x4 0 0 1 24
5 5 5
28 1 2 28
3 x2 0 1 0
5 5 5 5
Figura 4.1
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
Aceeai problem poate fi rezolvat i utiliznd Solver-ul din Excel. Mai nti
se creeaz foaia electronic de calcul cu datele de intrare, ca n Figura 4.3.
Celulele D13D14 sunt considerate necunoscutele x1 x2 , celulele H7H9
conin restriciile problemei H7= B7*D13+C7*D14, H8= B8*D13+C8*D14, H9=
B9*D13+C9*D14, iar celula D3 = B10*D13+C10*D14, funcia de optimizat.
Figura 4.3
70 Modele i algoritmi de optimizare
Figura 4.4
Figura 4.5
Tabelul 4.6
Microsoft Excel 10.0 Answer Report
Worksheet: [Programare liniara.xls]Sheet1
Report Created: 7/23/2002 7:38:01 AM
Target Cell (Max)
Original
Cell Name Value Final Value
Functia de
$D$3 optimizat 0 21.6
AdjusTable Cells
Original
Cell Name Value Final Value
$B$13 x1 Produsul P1 0 1.2
$B$14 x2 Produsul P1 0 5.6
Constraints
Cell Name Cell Value Formula Status Slack
$G$13 2x1+x2<=8 8 $G$13<=$D$7 Binding 0
Not
$G$14 3x1+2x2<=24 14.8 $G$14<=$D$8 Binding 9.2
$G$15 x1+3x2<=18 18 $G$15<=$D$9 Binding 0
Not
$B$13 x1 Produsul P1 1.2 $B$13>=$E$13 Binding 1.2
Not
$B$14 x2 Produsul P1 5.6 $B$14>=$E$14 Binding 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
Final Reduced Objective Allowable Allowable
Cell Name Value Cost Coefficient Increase Decrease
x1 Produsul
$B$13 P1 1.2 0 4 2 3
x2 Produsul
$B$14 P1 5.6 0 3 9 1
72 Modele i algoritmi de optimizare
Constraints
Final Shadow Constraint Allowable Allowable
Cell Name Value Price R.H. Side Increase Decrease
$G$13 2x1+x2<=8 8 1.8 8 6.57142857 2
$G$14 3x1+2x2<=24 14.8 0 24 1E+30 9.2
$G$15 x1+3x2<=18 18 0.4 18 6 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 0 16.8 1.2 21.6
$B$14 x2 Produsul P1 5.6 0 4.8 5.6 21.6
Vom demonstra prin reducere la absurd c regula lui Bland nltur ciclarea.
Presupunem c, dei aplicm regula, apare ciclarea. n timpul ciclului un numr
finit de coloane intr i ies din baz. Fiecare dintre aceste coloane intr la nivelul 0
i funcia obiectiv nu-i schimb valoarea. tergem coloanele i liniile care nu
conin pivotul n timpul unui ciclu, obinnd o nou problem de programare
liniar redus care, de asemenea cicleaz. Presupunem c aceast nou problem
are m linii i n coloane i c suntem n situaia ca s nlocuim coloana n cu
coloana p. Fr a restrnge generalitatea, presupunem c baza curent este situat
pe ultimele m coloane. Putem considera problema de programare liniar redus
ca avnd matricea coeficienilor restriciilor A , iar vectorul coeficienilor funciei
obiectiv c. Notm pivotul cu amp >0. Din partea b) a regulii lui Bland, an poate
prsi baza numai dac nu exist egalitatea n testul raportului din criteriul de ieire
74 Modele i algoritmi de optimizare
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
i
ultimelor m coloane ca s artm c fiecare component = (c B ) B 1 0 cu
excepia lui m > 0 . Atunci r p = a p c p > c p > 0 .
Contradicie cu faptul c r p 0 .
Tabelul 4.9
Produsul
Consum specific Disponibil
Materia
prim P1 P2
M1 2 2 12
M2 1 2 8
M3 4 0 16
M4 0 4 12
Profit unitar 2 3
S se determine cantitile x i y care trebuie realizate din produsele P1 ,
respectiv, P2 , pentru ca profitul total s fie maxim.
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
x+y=6 y=6x (d1) , x+2y=8 y=4 (d2) , 4x=16 x=4 (d3) , 4y=12
2
y=3 (d4) , x0 , y0 .
Reprezentarea grafic a
d1 restriciilor conduce la
poligonul OABCD, ale crui
fmax puncte constituie soluii ale
problemei de programare
4
liniar (mulimea R a
d4 punctelor admmisibil e). Din
D C
acest motiv se numete
poligonul soluiilor. Rezult
g c realizarea practic a
2
B
produciei celor dou produse
din cele patru materii prime
d3 se poate face ntr-o infinitate
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.
76 Modele i algoritmi de optimizare
{B} = y = 4 x I {y = 6 x} 4
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.
Tabelul 4.10
Materia Cantitatea folosit pentru Cantitatea Gradul de
prim programul optim disponibil folosin
M1 24+22=12 12 100%
M2 14+22=8 8 100%
M3 44+02=16 16 100%
M4 04+42=8 12 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.
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
Ax = b (4.41)
x 0
Se poate presupune c bi 0, 1 i m ; dac nu, se nmulete linia
respectiv cu 1. Se adug la fiecare ecuaie cte o variabil artificial x ia i se
obine:
Ax + Ix a = b
x 0 (4.42)
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 Modele i algoritmi de optimizare
(4.43)
x i 0, 1 i n
x aj 0, 1 j m
folosind algoritmul simplex obinuit.
Se observ c pentru problema (4.43) dispunem de programul de baz iniial
x=0, xa = b ( 0 ), corespunztor bazei I din matricea acestui sistem [A,I].
Deoarece x ia 0 x ia 0 , i deci min W 0. Sunt posibile 2 cazuri:
(i) dac min W > 0, atunci problema (4.41) nu are program de baz (dac ar avea,
atunci (4.43) ar avea programe cu xa = 0 i deci min W = 0)
(ii) dac min W = 0, am obinut un program cu xia = 0, 1 i m, deci un
program de baz al problemei (4.43), i se trece la faza a II-a pentru rezolvarea
problemei (4.41) (dup eliminarea liniilor redundante). Matricea A este acum
transformat aa cum a ieit din faza I.
min c x
Ax = b . Faza a IIa
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.
Exemplu. O balastier are 3 linii de sortare S1, S2, S3, pentru 2 tipuri de agregate
A1, A2 i trebuie s sorteze 300 tone din primul tip i 372 tone din al doilea tip.
Profitul ncasat de pe urma sortrii materialelor difer de la o linie la alta precum
difer i cantitile ce pot fi sortate conform cu Tabelul 4.11.
Tabelul 4.11
Agregat
Linie A1 A2 Profit
de sortare
S1 2 1 5 u.
m.
S2 3 2 4 u.
m.
S3 1 2 6 u.
m.
Cantitatea ce 300 372
trebuie sortat tone tone
Rezolvare
a) Modelarea problemei
Fie x1, x2 , x3 cantitile sortate pe liniile S1 , S2 , S3 respectiv. Atunci funcia
de optimizat este f = 5x1+4x2+6x3 .
80 Modele i algoritmi de optimizare
La prima iteraie a ieit din baz x1a i a intrat x2 , iar la iteraia a doua a ieit
3 1
din baz x 2a i a intrat x3. Baza obinut B = are inversa n tabelul final
2 2
1 1
al fazei I sub variabilele artificiale, B = 2
-1 4 .
1 3
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
Calculele fazei a IIa sunt trecute n Tabelul 4.13.
Tabelul 4.12
0 0 0 1 1 alegem min
xi
CVB VB VVB x1 x2 x3 x1a x 2a
y
ik
300
1 x1a 300 2 3 1 1 0 = 100
3
372
1 x 2a 372 1 2 2 0 1 = 186
2
100
2 1 1 = 300
0 x2 100 1 0 1
3 3 3
3
4 172
1 2 = 129
1 x 2a 172 0 3 1 4
3 3
3
3 1 1
0 x2 57 1 0 8
4 2 4
1 1 3
0 x3 129 0 1 24
4 2 4
Tabelul 4.13
5 4 6 alegem min
xi
CVB VB VVB x1 x2 x3
y
ik
3 228
4 x2 57 1 0 = 76
4 3
1
6 x3 129 0 1
4
4
5 x1 76 1 0
3
1
6 x3 148 0 1
3
(
max b1 u1 + b2 u 2 + b3 u 3)
t 1
A11 u + A21 u + A31 u c1
t 2 t 3
t 1
A12 u + A22 u + A32 u = c 2
t 2 t 3
(4.44)
A t u1 + A t u 2 + A t u 3 c
13 23 33 3
u1 0, u 2 arbitrar, u 3 0
Duala dualei este chiar problema iniial. De aceea, (4.20) i (4.44) formeaz
un cuplu de probleme duale.
este urmtoarea problem de programare liniar, care are tot forma canonic:
max b u
t
A u c . (4.48)
u 0
Problemele (4.47) i (4.48) formeaz un cuplu de probleme duale simetrice, n
timp ce problemele (4.45) i (4.46) formeaz un cuplu de probleme duale
asimetrice.
duala unei probleme mixte
min c x
A1 x b1
(4.49)
A2 x = b2
x 0
este problema
max(b1u1 + b2 u 2 )
t 1
A1 u + A2 u c
t 2
(4.50)
u1 0 , u 2 arbitrar
duala problemei de transport (4.8)-(4.11) este problema
m n
max a i u i + b j v j ,
i =1 j =1
u i + v j c ij , 1 i m ; 1 j n , (4.51)
u , v oarecare .
i j
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 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.
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 Modele i algoritmi de optimizare
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.
{ }
S notm cu B = i B x iB < 0 , B fiind o baz dual admisibil. Dac
B atunci baza B este i primal admisibil i x B = B 1 b este program optim al
problemei primale (Zidroiu, 1983).
Teorema 4.7. Fie B o baz dual admisibil pentru problema (4.45) i B. Dac
() i B astfel nct y ijB 0 , () j S atunci problema (4.45) nu are programe.
88 Modele i algoritmi de optimizare
Demonstraie. Fie uB = c B B 1 programul dual asociat cu baza B , a i linia de
rang i din matricea B1 i fie u( ) = u B i , unde 0 . Atunci
u( ) a j = uB a j ia j = z Bj y ijB z Bj c j pentru 1 j n . Aadar,
A t u c . ns u( ) b = u B b ib = z B x iB i atunci 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
i
i
+ r b = 0 .
ir
( )
n
i + ci r a i + r c r a r = 0 ,
i =1
ir
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
arbitrar, iar kS asfel nct s fie satisfcut condiia
z Bj c j z kB c k
min =
j yljB <0
y lj
B
y lkB
~
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
puin la fel de bun ca uB,, adic u B~ b u B b .
~
Demonstraie. B astfel obinut este o baz (deoarece y lkB 0 i se verific
ipotezele Lemei substituiei). Conform cu relaiile (4.40) avem
y rjB
~
( ) (
z j c j = z j c j z k ck B , j S .
B B B
)
y lk
() j S
~
B fiind o baz dual admisibil, rezult c z Bj c j 0 pentru pentru
care y 0 .
B
lj
() j S
~
Din definiia lui kS rezult c i z Bj c j 0 pentru pentru care
y < 0 . Pentru j=l avem
B
lj
~
(
z lB c l = z kB c k )1 <0.
y lkB
() j S~ , adic ~
~
Aadar, z Bj c j 0 are loc pentru B este o baz dual
admisibil.
B
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.
De asemenea,
u b = ub xiB (4.56)
Pentru cuplul de probleme duale
4. Programare liniar 91
min c x max bu
t
Ax = b A uc
x0 u arbitrar
algoritmul simplex dual const din urmtorii pai.
valoarea total a resurselor consumate pentru realizarea unei uniti din sortimentul j.
Tabelul 4.14
4. Programare liniar 93
3 4 5 0 0 alegem min
zj cj
CVB VB VVB x1 x2 x3 x4 x5 min
yij <0 y ij
0 x4 5 1 2 3 1 0
3 4 5
0 x5 6 2 2 1 0 1 , ,
2 2 1
valoarea
funciei 0 3 4 5 0 0
obiectiv z
5 1
0 x4 2 0 1 1
2 2
1 1
3 x1 3 1 1 0
2 2
7 1
valoarea
7 3 1 2, 2
funciei 9 0 1 0 ,
2 2 1 5 1
obiectiv z
2 2
5 1
4 x2 2 0 1 1
2 2
3 x1 1 1 0 2 1 1
Valoarea
funciei 11 0 0 1 1 1
obiectiv z
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
variabilele care corespund coeficienilor c r < 0 .
{ }
Dac c f = max c j c j < 0 , se nlocuiete x f din restricia suplimentar
n funcia obiectiv. Se obine o mulime de n variabile (xn+1 nlocuiete x f )
astfel nct toi coeficienii funciei obiectiv s fie nenegativi i numrul restriciilor
a crescut cu o unitate.
Exemplu
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
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:
1x + 2 x 2 + x 3 1000 1x + 2 x 2 + x 3 + x 5 = 1000
2 x + 3x + 4 x 1800 2 x + 3x + 4 x + x = 1800
1 2 3
1 2 3 6
x i 0 , i = 1, 2, 3 x i 0 , i = 1,6
Tabelul 4.15
Tip produs
P1 P2 P3 Disponibil
Rezerve
F 2 3 2 15
B 1 2 3 12
Profit 1.5 4 3
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.
Tabelul 4.16
Materie prim Nr. necesar de
P SB D C
Stand panouri
S1 1 1 0 1 2
S2 1 2 1 0 4
S3 0 1 1 1 3
Cheltuieli de munc 6 8 12 10
Tabelul 4.17
Produs
P1 P2 P3 P4 P5 P6 P7
Materie
M1 3 4 2 3 5 2 3
M2 5 3 1 4 2 4 3
Profit 6 5 2 6 6 5 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 Modele i algoritmi de optimizare
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 x1 3 x 2 + x 3 + x 4 + x 5 + x 6 + x 7 0
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 .
Tabelul 4.18
Aliment A1 A2 A3 Necesar
Substan
S1 4 3 2 24
S1 5 7 2 35
S1 1 5 4 40
Pre 8 7 5
3 x 2 + 4 x 4 25
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
1 3 4
3 y 2 + 4 y 4 19 .
5 y + 3 y + y 10
1 3 4
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 Modele i algoritmi de optimizare
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.
Tabelul 4.20
Aliaj 1 2 3 4 5
1 2 5 7
%A 95
0 5 0 5
9 7 5 2
%B 5
0 5 0 5
Pre/kg 5 4 3 2 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.
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 Petrol Benzin
Benzin
Materie prim lampant superioar
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?
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 3 4 5
Secie
Turntorie 2 1 3 3 1
Finisaj 3 2 2 1 1
Profit / 100 uniti 3 2 4 2 1
0 0 0 5 0
rezult c una dintre restricii este redundant. Orice restricie se poate exprima n
funcie de celelalte m+n1 rmase.
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).
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.
Corolar 5.1. Dac sumele liniilor i coloanelor unei probleme de transport sunt
ntregi, atunci variabilele de baz n orice soluie de baz sunt ntregi.
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.
Teorema 5.4. Fie B o baz extras din A (dup ignorarea unei linii) i fie d o
coloan a lui A care nu este inclus n B. Atunci, componentele vectorului
y = B 1 d sunt fie 1 , 0 sau +1.
Demonstraie. Fie y soluia sistemului By=d. Atunci, y este reprezentarea lui d
n baza B . Acest sistem de ecuaii poate fi rezolvat cu regula lui Cramer
det B k
yk = ,
det B
unde Bk este matricea obinut prin nlocuirea n matricea B a coloanei k cu
coloana d . Att B ct i Bk sunt submatrice ale lui A. Matricea B poate fi
pus sub forma triunghiular cu toate elementele diagonalei egale cu +1. Atunci,
detB=+1 sau 1 , dup cum liniile sau coloanele au fost permutate. Analog
detBk=+1 , 0 sau 1 . Concluzionm c fiecare component a lui y este fie 0, +1
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
costului minim a lui H. S. Houthakker (se selecteaz la fiecare pas celula (i,j)
corespunztoare costului minim cij ).
5.4. Exemplu
Tabelul 5.1
Bloc
Staie B1 B2 B3 B4 Disponibil ( ai )
betoane
S1 8 3 5 2 10
S2 4 1 6 7 15
S3 1 9 4 3 25
Necesar (bj) 5 10 20 15
Rezolvare
a) Modelarea problemei
multiplicatorii 3 4
v2 12
x + x 22 + x 32 = 10
v3 x13 + x23 + x33 = 20
v4 x14 + x24 + x34 = 15
xij 0 , 1 i 3 , 1 j 4
110 Modele i algoritmi de optimizare
Matricea restriciilor
1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 1 1 1 1
A = 1 0 0 0 1 0 0 0 1 0 0 0
0 1 0 0 0 1 0 0 0 1 0 0
0 0 1 0 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
Tabelul 5.2
Bloc
Staie B1 B2 B3 B4 Disponibil( ai )
betoane
S1 5 5 10 5
S2 5 10 15 10
S3 10 15 25 15
Necesar (bj) 5 10 5 20 10 15
1 1 0 0 0 0
0 0 1 1 0 0
0 0 0 0 1 1
B=
1 0 0 0 0 0
0 1 1 0 0 0
0 0
0 0 1 1
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 (i,j ) S } = 14 = 5 .
ij 0
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) . }
Se determin celula care iese din baza B1 cu criteriul
x i0 j o = min { xij }= x12 = 5
(i , j ){ (1, 2 ) , (2 , 3 ) , (3, 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
i se trec n Tabelul 5.4
112 Modele i algoritmi de optimizare
Tabelul 5.4
8 3 5 2
5+0 55 5
4 1 6 7
5+5 105
1 9 4 3
10+5 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
intr n baz sk = max{ ij (i,j ) S 1 } = 31 = 8 .
ij 0
10 5
1 9 4 3
5 15 105
= (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.
Figura 5.1
Figura 5.2
Figura 5.3
n celula D3 introducem funcia de optimizat D3 =C7*B13+C8*B14+
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
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
Final Reduced Objective Allowable Allowable
Cell Name Value Cost Coefficient Increase Decrease
x11= Solutia
$B$13 problemei 0 8 8 1E+30 8
x21= Solutia
$B$14 problemei 0 1.00 4.00 1E+30 1.00
x31= Solutia
$B$15 problemei 5 0 1 1.00 1E+30
$D$13 x12= B2 0 5 3 1E+30 5
$D$14 x22= B2 10 0 1 5 1E+30
$D$15 x32= B2 0 10 9 1E+30 10
$F$13 x13= B4 0 2 5 1E+30 2
$F$14 x23= B4 5 0 6 1.00 5
$F$15 x33= B4 15 0 4 2 1.00
$H$13 X14= 10 0 2 2 1E+30
$H$14 X24= 0 2 7 1E+30 2
$H$15 X34= 5 0 3 2 2
Constraints
Final Shadow Constraint Allowable Allowable
Cell Name Value Price R.H. Side Increase Decrease
x11+x12+x13+x14=
Restrictiile
$B$18 problemei 10 3 10 5 0
5. Problema de transport 117
x21+x22+x23+x24=
Restrictiile
$B$19 problemei 15 0 15 0 1E+30
x31+x32+x33+x34=
Restrictiile
$B$20 problemei 25 2 25 5 0
x11+x21+x31=
Restrictiile
$B$21 problemei 5 3 5 0 5
x12+x22+x32=
Restrictiile
$B$22 problemei 10 1 10 0 10
x13+x23+x33=
Restrictiile
$B$23 problemei 20 6 20 0 5
x14+x24+x34=
Restrictiile
$B$24 problemei 15 5 15 0 5
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 Lower Target Upper Target
Cell Name Value Limit Result Limit Result
x11= Solutia
$B$13 problemei 0 0 140 0 140
x21= Solutia
$B$14 problemei 0 0 140 0 140
x31= Solutia
$B$15 problemei 5 5 140 5 140
$D$13 x12= B2 0 0 140 0 140
$D$14 x22= B2 10 10 140 10 140
$D$15 x32= B2 0 0 140 0 140
$F$13 x13= B4 0 0 140 0 140
$F$14 x23= B4 5 5 140 5 140
118 Modele i algoritmi de optimizare
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.
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
Fabric Centru de
A B desfacere 1 2 3
Furnizor Fabric
1 1 1.5 A 4 2 1
2 2 1.5 B 3 4 2
3. O firm are nevoie s angajeze n trei posturi vacante trei persoane cu calificri
diferite. Pentru aceste posturi sunt trei pretendeni, fiecare putnd ocupa oricare loc
vacant cu acelai salariu, dar datorit deosebirii de aptitudini, studii i experien,
utilitatea fiecrui candidat pentru firm depinde de postul pe care este angajat.
Veniturile anuale ale firmei de pe urma fiecrui candidat, angajat pe unul din cele
trei posturi vacante, sunt trecute n Tabelul 5.11.
5. Problema de transport 121
Tabelul 5.11
Funcie
1 2 3
Candidat
1 5 4 7
2 6 7 3
3 8 11 2
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
A B C
1 10 15 9
2 9 18 5
3 6 14 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?
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
j =1 j =1
m
a ij x j bi 1 i m (6.2)
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
producie xj , astfel d j = d j j x j cu j 0 , iar preul unitar de vnzare yj
depinde de volumul de producie constituit din mai multe produse
n
y j = j jk x k .
k =1
6. Programare ptratic 123
j =1
min b j y j a i xij
n j =1 i =1 .
a c , 1 r p sau a a a
- +
ri i r i i i
i =1
unde: x=(x1, ..., xn) , C M n ,n (R ) i Cij=Cji (n caz contrar, adic dac CijCji,
(C ij + C ji )
n n n n
1
definim d ij =
2
i atunci C
i =1 j =1
ij xi x j = d ij xi x j
i =1 j =1
i
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.2. Q(x) se numete form ptratic pozitiv semidefinit dac n+<n i
n=0 .
Definiia 6.4. Q(x) se numete form ptratic negativ semidefinit dac n< n i
n+ = 0 .
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
1. Q fiind pozitiv definit se poate reduce la forma canonic Q ( ) = i i2 cu
i =1
n
i > 0 , i = 1, n . Atunci det(C ) = i > 0 . Afirmaia a doua rezult din
i =1
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.
aij x j bi 1 i m
j =1
x j 0 1 j n (restricii de semn)
(6.4)
sau matriceal
1
min f ( x) = min 2 x Cx + c x
Ax b
x 0
x R , b R , A M mn (R ) , C M n (R )
n m
unde
1
f ( x) = 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).
(
Teorema 6.1. (Condiiile KuhnTucker). Vectorul x * = x1* , ..., x n* ) este soluia
problemei de programare ptratic (6.4) dac i numai dac exist
( ) ( ) ( )
u * = u1* , ..., u m* , v * = v1* , ..., v n* i y * = y1* , ..., y m* astfel nct
n
aij x j + yi = b 1 i m
* *
jn=1
C x * u * a v * = c
m
jk k i ij 1 j n
k =1
j j
i =1
x * 0 , u* 0 , v * 0 , y * 0 (6.5)
n n
x*j v*j = 0 , u*i y*i = 0
j =1 i =1
sau matriceal
128 Modele i algoritmi de optimizare
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) .
(matriceal)
Teorema 6.2. Problema (6.4) admite soluie optim x* dac i numai dac
()u R m astfel nct
( )(
x* 0 ; Ax* = b ; c + Cx* At u* 0 ; x* c + Cx* At u = 0 . )
Demonstraie. Din Teorema 6.1 rezult c x* este soluie a problemei (6.4) dac
i numai dac () u* R m , astfel nct
x* 0 , u L(x* , u* ) = 0 , x L(x* , u* ) 0 , ( x * ) x L(x* , u* ) = 0 .
Ax * = b
*
Cx A u + v = -c
t * *
(6.7)
x * 0 , u* 0 ,
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 ) = .
x1 v 1
2
x = x , v = v 2 .
3 3
x v
x, v, z 0 , x 3 = 0 , v 1 = 0
admite soluie optim (x*, v*, u*, z*) cu x*1>0 , v*3>0 , atunci exist R n
A * = 0 , C * = 0 , * 0 , g z * = h * .
2
astfel nct
Demonstraie. Rearanjnd restriciile, problema (6.8) se poate pune sub
forma
130 Modele i algoritmi de optimizare
min g z
x1
2
[A1 A2 A3 ] x = b
0
(6.9)
C11 C12 C13 x 0
1
C 2
C 22 C 23 x A u + v 2 + Dz = h
21
t
C 31 C 32 C 33 0 v 3
1 2 2 3
x , x , v , v , z 0
Duala problemei (6.9) este problema de programare liniar
max {b + h }
At + C11
t
1 + C 21
t
2 + C 31
t
3 0
t1
A2 + C12 + C 22 + C 33 0
t 1 t 2 t 3
(6.10)
t
D g
A = 0 , 2 0 , 3 0 .
Din Teorema fundamental a dualitii (4.13) exist o soluie optim
( )
, pentru problema dual (6.10) astfel nct b + h = g z * . Deoarece
*1 *3
x , v > 0 , restriciile corespunztoare variabilelor x 1 , v 3 sunt verificate cu
egalitate de ctre soluia optim a problemei duale (din Teorema ecarturilor
complementare, 4.13), adic
A t + C t 1 + C t 2 = 0
1 11 21
A2 + C12 + C 22 0
t t 1 t 2
(6.11)
A = 0 , 2 0 , 3 = 0 ,
nmulind prima relaie (6.11) cu 1 , iar pe cea de-a doua cu *3 0 i
adunndu-le, avem
1
( ) ( )
1 1
A1t + C11t + C 21t +
1 2
( )
+ ( ) A + ( ) C + ( ) C
2 2
0 .
t t 1 2 t 2
2 12 22
inem seama c A = 0 i atunci putem scrie relaiile de mai sus sub forma
( ) ( ) CC
1 C12
1
2
2 0.
11
12 C 22
6. Programare ptratic 131
( )
Deoarece = 0 , relaia de mai sus se mai poate scrie C 0 . Cum C
3
( )
este pozitiv semidefinit, rezult c C = 0 , iar din Propoziia 6.2 avem
C = 0 . Relaiile (6.11) devin A1t = 0 i A2t 0 . inem seama de aceste
relaii n evaluarea produsului b i avem
( ) ( ) ( )
b = Ax * = A1 x * + A2 x * = A2 x * = 0 ,
1 2 2
Propoziia 6.3. Dac R , atunci problema (6.4) are optim infinit dac i
numai dac () R n soluie a sistemului
A = 0
C 0
(6.12)
c < 0
0
Demonstraie. Dac min f ( x ) = , atunci sistemul (6.7) este incompatibil,
adic problema de programare liniar
min e z
Ax = b
Cx A u + v + Dz = -c
t
(6.13)
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 soluie a sistemului (6.12) i x R , atunci pentru
() 0 , astfel nct ( )
x + * 0 avem A x + * = Ax + A * = b . De aici
rezult c x + R pentru () 0 . Calculm
*
( ) ( )
f x + * = f ( x ) + 2x C * + 2 C * + c * = f ( x ) + c *
i pentru c c * < 0 , rezult c f (x + ) .
*
132 Modele i algoritmi de optimizare
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)
Cx A u + v + z z = -c
t * 1 2
x, v, z 1 , z 2 0
unde x, v, z1 , z 2 R n , iar u R m , mpreun cu urmtoarea regul
suplimentar:
Pentru ()i = 1, n , xi , vi nu pot fi simultan nenuli (6.15)
x, x , v, u , u , z , z 0
mr
x, v, z , z R , x R , u , u R
1 2 r a 1 2 m
unde
x
~
( )
A = A, e r +1 ,...e m , ~x = a ,
x
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
xi = z 1j = -c j , z 2j = 0 dac c j 0 ,
0 r + 1 i m , 1 (6.17)
z j = 0 , z j = c j dac cj 0 .
2
x a = b r i m
i i
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.
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
d ii = 1 dac z ib 2 este variabil bazic ,
0 altfel
pornind de la soluia de baz (xb, vb, ub, zb) , unde
z b1 dac z ib1 este variabil de baz
z ib = z b 2 dac zib 2 este variabil de baz
0 altfel.
{ } { }
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
Cx A t u + v + Dz = -c (6.14)
3
x = 0 , v = 0
1
x, v, z 0
Presupunem c (x , v*, u*, z*) nu este soluie optim a problemei (6.14) i
*
n Lema 6.1, lund g = (1, ...,1) i h = c , obinem existena vectorului
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
unde: ~ x = R n+ m , c~ = , C = .
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 ,
iv) Sistemul Cx + At u = c are soluii,
v) Problema standard (6.4) poate fi scris sub forma canonic
1
min 2 x C x + (c ) x
* *
* *
A x = b
x 0
*
cu C pozitiv definit.
136 Modele i algoritmi de optimizare
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 .
0 0 0 1 0 0 1
6. Programare ptratic 137
x 0, v 0, z 0, z 0, w 0
1 2
u oarecare
Pentru a avea o baz, acestor variabile li se atribuie valori astfel:
z 1j = c j dac c j 0 ; z 2j = 0 sau
z 2j = c j dac c j 0 ; z 1j = 0 .
n soluia de baz lum: x =0 , v = 0 , u = 0, xa = b .
Pentru ca i asupra lui u s existe condiii de nenegativitate, l desfacem n doi
vectori nenegativi astfel: u = u1u2 (u corespunznd restriciei cu egalitate, nu
are resricii de semn).
Matriceal, restriciile KuhnTucker devin:
Ax + x a = b 1 0 0
( )
Cx v + A u u + Dz = c , unde D = 0 1 0
t 1 2
x , v , u1 , u 2 , z 1 , z 2 , w 0 0 0 1
Pe componente avem:
x1 2 x 2 + x3 + x a =4
x1 v1 + u u + z1 =2
1 2 1
x 2 v 2 2u 2u z1 = 3 .
1 2 2
v + u 1 u 2 z 2 = 1
3 2
x, v, u , u , z , z , w 0
1 2 1 2
x1 2 x 2 + x 3 + x a =4
x1 v1 + u1 u1 + z1 =2
1 2 1
x 2 + v 2 + 2u 2 + 2u 2 + z1 =3
1 2 2
v u 1 + u 2 + z 2 =1
3 3 3 2
x , v , u1 , u 2 , z 1 , z 2 , x a 0 .
n aceast faz u = 0, v = 0, deci nu pot intra n baz. Calculele sunt date n
Tabelul 6.1 . Algoritmul simplex se oprete cu min xa=0.
Tabelul 6.1
138 Modele i algoritmi de optimizare
0 0 0 0 0 0 0 0 0 0 0 1
CVB VB VVB x1 x2 x3 v1 v2 v3 u1 u2 z11 z 22 z 23 xa
1 xa 4 1 2 1 0 0 0 0 0 0 0 0 1
0 z 1 2 1 0 0 1 0 0 1 1 1 0 0 0
1
0 z 22 3 0 1 0 0 1 0 2 2 0 1 0 0
0 z 3 1 0 0 0 0 0 1 1 1 0 0 1 0
2
4 1 2 1* 0 0 0 0 0 0 0 0 0
0 x3 4 1 2 1 0 0 0 0 0 0 0 0
0 z11 2 1 0 0 1 0 0 1 1 1 0 0
0 z 22 3 0 1 0 0 1 0 2 2 0 1 0
0 z 23 1 0 0 0 0 0 1 1 1 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0
Tabelul 6.2
0 0 0 0 0 0 0 0 1 1 1
CVB VB VVB x1 x2 x3 v1 v2 v3 u1 u2 z 1
z 2
z 23
1 2
0 x3 4 1 2 1 0 0 0 0 0 0 0 0
1 z11 2 1 0 0 1 0 0 1 1 1 0 0
1 z 22 3 0 1 0 0 1 0 2 2 0 1 0
1 z 3
2
1 0 0 0 0 0 1 1 1 0 0 1
6 1 1 0 1 1 1 2* 2 0 0 0
0 x3 4 1 2 1 0 0 0 0 0 0 0 0
1 z11 1/2 1 1/2 0 1 1/2 0 0 0 1 0
0 u1 3/2 0 1/2 0 0 1/2 0 1 1 0 0
1 z 3
2
5/2 0 1/2 0 0 1/2 1 0 0 0 1
3 1* 1 0 1 0 1 0 0 0 0
0 x3 7/2 0 5/2 1 1 1/2 0 0 0 0
0 x1 1/2 1 1/2 0 1 1/2 0 0 0 0
0 u1 3/2 0 1/2 0 0 1/2 0 1 1 0
1 z 23 5/2 0 1/2 0 0 1/2 1 0 0 1
Figura 6.1
140 Modele i algoritmi de optimizare
Tabelul 6.3
Microsoft Excel 10.0 Answer Report
Worksheet: [Programare patratica.xls]Sheet1
Report Created: 7/10/2002 8:09:27 PM
Target Cell (Min)
Original
Cell Name Value Final Value
Functia de
$D$4 optimizat 0 0.5
Adjustable Cells
Original
Cell Name Value Final Value
$B$15 x1= 0 3
$B$16 x2= 0 0
$B$17 x3= 0 1
Constraints
Cell Name Cell Value Formula Status Slack
$A$12 x12x2+x3= 4 $A$12=$B$11 Not Binding 0
$B$15 x1= 3 $B$15>=$B$7 Not Binding 3
$B$16 x2= 0 $B$16>=$B$8 Binding 0
$B$17 x3= 1 $B$17>=$B$9 Not Binding 1
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
Final Reduced
Cell Name Value Gradient
$B$15 x1= 3 0
$B$16 x2= 0 5.000000477
$B$17 x3= 1 0
Constraints
Final Lagrange
Cell Name Value Multiplier
$A$12 x12x2+x3= 4 1
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 Value
Functia de
$D$4 optimizat 0.5
Targe
Adjustable Lower Target Upper t
Cell Name Value Limit Result Limit Result
$B$15 x1= 3 3 0.5 3 0.5
$B$16 x2= 0 0 0.5 0 0.5
$B$17 x3= 1 1 0.5 1 0.5
{
min x12 x1 x 2 + x12 3 x1 } {
min 2 x12 2 x1 x 2 + x 22 4 x1 2 x1 }
x1 + 2 x 2 + x 3 = 6
a) x1 + x 2 4 b)
x0 3 x1 + x 2 + x 4 = 9
x 0
142 Modele i algoritmi de optimizare
7.1. Generaliti
Etapa 0 1 2 ... N1 N
Starea sistemului x0 x1 x2 ... xN1 xN
Decizia luat 1 2 ... N 1 N
Etapa N N1 N2 ... 1 0
Starea sistemului xN xN1 xN2 ... x1 x0
Decizia luat N N 1 N 2 ... 1
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.
( )
1 N 0 N i i
este optim.
Demonstraie. Notm V(x0,xN) valoarea ctigului optim global. Din
~
decompozabilitate avem c f N (rN ( x N ; d N ),VN 1 ( x0 , x N 1 )) este optim dac xN =
N(xN-1, dN) . Optimalitatea subpoliticii x0,, xN-1 rezult din monotonia funciei
~
f N i demonstraia se ncheie.
( ) ( ) ( )
f [rN x N , d N , rN 1 x N 1 , d N 1 ,. . . , r1 x1 , d1 ] = max R ' N (x N ; d1 ,..., d N ) .
d i i (7.5)
1 i N
d i i
max ri (xi , d i )
1i N i =1 (7.6)
x = (x , d ) , 1 i N .
i 1 i i i
. . . . . . . . . . . . . . . . . . . . . . . . . . .
i i d i i
i i i {
d i i
i i i i 1 i[
f (x ) = max Q (x , d ) = max r (x , d ) + f (x , d ) , 2 i N 1
i i ]}
. . . . . . . . . . . . . . . . . . . . . . . . . . . (7.9)
{ [
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
]}
Aceste relaii se numesc ecuaiile de recuren ale programrii dinamice.
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 !
Avnd o sum de 5.109 lei cu care trebuie cumprate aciuni la 4 societi, care
n funcie de suma investit asigur profituri conform cu Tabelul 7.1, s se
stabileasc o repartiie optim a sumelor investite la fiecare societate, astfel nct
profitul obinut n urma aplicrii acestei politici de investiii s fie maxim
(Kaufmann, 1967).
Se cere s se determine repartiia optim a investiiilor n aciuni la cele 4
societi, adic acea repartiie care d profitul total maxim.
7. Programare dinamic 149
Tabelul 7.1
Societatea Profitul n procente
Suma investit
(n miliarde de lei) S1 S2 S3 S4
0 0 0 0 0
1 0.28 0.25 0.15 0.20
2 0.45 0.41 0.25 0.33
3 0.65 0.55 0.40 0.42
4 0.78 0.65 0.50 0.48
5 0.90 0.75 0.62 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
d i 0 1 i 4
Precizarea funciilor fi (suntem n cazul analizei retrospective).
Pentru orice 1 i 4, 0 xi x4 i xi 1 = xi d i = i ( xi , d i ), 2 i 4 i
0 d i xn , 1 i 4 . Am precizat astfel domeniul de admisibilitate:
i = [0, xi ] , d i i .
Pentru analiza prospectiv xi +1 = xi + d i = i ( xi , d i ), 1 i 3 .
4 4
Deoarece d i = ( xi xi 1 ) = xi x4 lund x0=0, cu notaiile din modelul
i =1 i =1
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) ] =
= max[0 + 0.45; 0.25 + 0.28; 0.41 + 0] = 0.53
valoare obinut pentru d=1; rezult d (2) = 1 . 2
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)] =
= max[0 + 0.65; 0.25 + 0.45; 0.41 + 0.28; 0.55 + 0] = 0.70
rezultat obinut pentru d=1 i astfel d (3) = 1 . 2
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)] =
= max[0.78; 0.90; 0.86; 0.83; 0.65] = 0.90
valoare obinut pentru d=1, rezult d (4) = 1 . 2
x2 = 5
f 2 (5) = max[r2 (d 2 ) + f1 ( x2 d 2 )] ; d 2 { 0,1,...5}
= max[r2 (0) + f1 (5); r2 (1) + f1 (4 ); r2 (2 ) + f1 (3); g 2 (3) + f1 (2 ); r2 (4 ) + f1 (1);
r2 (5) + f1 (0)] =
= 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 .
x3 = 0
f 3 (0) = max[r3 (d 3 ) + f 2 (0 d 3 )] cu 0 d 3 0 . Deoarece r3(0)=0 i f3(0)=0
rezult d3=0. d (0) = 0 .
3
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) ] =
= max[0.70; 0.68; 0.53;0.40] = 0.70
Aadar, pentru d=0 s-a obinut valoarea maxim i rezult d 3 (3) = 0 .
x3=4
f 3 (4) = max[r3 (d 3 ) + f 2 (4 d 3 )] cu 0 d 3 4 , d 3 { 0,1, 2, 3, 4}
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) ] =
= max[0.90; 0.85; 0.78; 0.68; 0.5] = 0.90
valoare obinut pentru d=0; rezult d 3 (4) = 0 .
x3=5
f 3 (4) = max[r3 (d 3 ) + f 2 (4 d 3 )] cu 0 d 3 4 , d 3 { 0,1, 2, 3, 4}
f 3 (5) = max[r3 (0) + f 2 (5) ; r3 (1) + f 2 (4); r3 (2) + f 2 (3); r3 (3) + f 2 ( 2); r3 ( 4) + f 2 (1);
r3 (5) + f 2 (0)] = max[1.06; 1.05; 0.95; 0.93; 0.78; 0.60] = 1.06
obinut pentru d=0; rezult d 3 (5) = 0 .
Analog, gsim pentru f4 valorile: f4(0)=0 i d 4 (0) = 0 , f4(1)=0.28 i d 4 (1) = 0 ,
f4(2)=0.53 i d 4 (2) = 0 , f4(3)=0.73 i d 4 (3) = 1 , f4(4)=0.9 i
d 4 (4) = 0 sau d 4 (4) = 1 , f4(5)=1.1 i d 4 (5) = 1 . Centralizm n Tabelul 7.2
valorile gsite pentru f i d .
Tabelul 7.2
x d1 ( x) f1(x) d 2 ( x) f2(x) d 3 ( x) f3(x) d 4 ( x) f4(x)
0 0 0 0 0 0 0 0 0
1 1 0.28 0 0.28 0 0.28 0 0.28
2 2 0.45 1 0.53 0 0.53 0 0.53
3 3 0.65 1 0.70 0 0.70 1 0.73
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 .
( )
Astfel, politica optim este d1 , d 2 , d 3 , d 4 = (3,1, 0, 1) ceea ce nseamn c din
cele 5 miliarde se vor investi 3 miliarde n aciuni la prima societate, 1 la cea de-a
doua i 1 la cea de-a patra. Nu se vor achiziiona aciuni de la societatea a treia.
Tabelul 7.3
Perioada i 1 2 3 4 5
Cererea bi 2 3 4 3 2
Preul ci 13 15 20 11 12
Rezolvare. Notm :
7. Programare dinamic 153
Tabelul 7.4
b1 x1 d1 f(d) min
3 5 65
2 2 4 52
1 3 39
0 2 26
Tabelul 7.5
b2 x2 x1 d2 f(d) min
0 3 26+45=71
0 1 2 39+30=69
2 1 52+15=67
3 0 65+0=65 *
0 4 26+60=86
1 1 3 39+45=84
3 2 2 52+30=82
3 1 65+15=80 *
0 5 26+75=101
2 1 4 39+60=99
2 3 52+45=97
3 2 65+30=95 *
Tabelul 7.6
b3 x3 x2 d3 f(d) min
0 4 65+80=145
0 1 3 80+60=140
4 2 2 95+40=135 *
0 5 65+100=165
1 1 4 80+80=160
2 3 95+60=155 *
Tabelul 7.7
b4 x4 x3 d4 f(d) min
0 0 3 135+33=168 *
1 2 155+22=177
3 1 0 4 135+44=179 *
1 3 155+33=188
2 0 5 135+55=190 *
1 4 155+44=199
Tabelul 7.8
b5 x4 d5 f(d) min
0 2 168+24=192
2 1 1 179+12=191
2 0 190 *
x1 = 3
x 2 = 2 d 1 = 5
x3 = 0 f (d ) = 65
x = 2 d = 2
4
2
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.
Tabelul 7.9
x z1(x) d1(x) d2(x) d2(x) d3(x) d3(x) d4(x) d4(x) d5(x) d5(x)
0 26 2 65 0 135 2 168 3 190 0
1 36 3 80 1 155 3 179 4 * *
2 52 4 95 2 * * 190 5 * *
3 65 5 * * * * * * * *
Tabelul 7.10
Noile probabiliti de eec pentru
Nr. cercettori noi alocai echipe
A B C
0 0.4 0.6 0.8
1 0.2 0.4 0.5
2 0.15 0.2 0.3
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 .
Fie f i (x ) , probabilitatea minim atunci cnd se utilizeaz x cercettori
suplimentari pentru proiectele A, B, C.
Tabelul 7.11
x fA(x) * d A ( x) fB(x)* d B (x) fC(x)* d C (x)
0 0.4 0 0.24 0 0.192 0
1 0.2 1 0.12 0 0.096 0
2 0.15 2 0.08 2 sau 1 0.06 1
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 B2 B3
0 0 0 0
1 35% 28% 26%
2 43% 32% 34%
3 47% 45% 40%
4 49% 47% 51%
Tabelul 7.13
x r1 r2 r3 f1 d1 f2 d 2 f3 d 3
0 0 0 0 0 0 0 0 0 0
1 35 28 26 35 1 35 0 35 1
2 43 32 34 43 2 63 1 63 2
3 47 45 40 47 3 71 1 89 2
4 49 47 51 49 4 80 3 97 2 sau 3
158 Modele i algoritmi de optimizare
Culegerea rezultatelor:
a) d3 = 2 , x3 = 4 , x 2 = x3 d3 = 2 , d2 = d 2 ( x 2 ) = 1 , x1 = x 2 d2 = 1 ,
d = d ( x ) = 1 ;
1 1 1
b) d 3 = 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.
Rezolvare
1) Formularea problemei n programare liniar (vom renuna la dou zerouri la
x1 = 2
x = x + d b ()i
preuri i cantiti) are restriciile : i +1 i i i
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.
Tabelul 7.15
xi f1(d) d1 ( x) f2(d) d 2 ( x) f3(d) d 3 ( x) f4(d) d 4 ( x) f5(d) d 5 ( x) f6(d) d 6 ( x)
0 198 6 447 4 564 3 642 0 951 0 1071 4
1 231 7 501 5 603 4 681 0 1011 1 1101 5
2 555 6 642 5 720 0 1071 2 1161 6
3 609 7 681 6 759 0 1191 7
4 663 8 720 7 798 0 1221 8
5 759 8 849 1 9
6 798 9 900 2
7 951 3
8
B E
2 3 4 6
1
4 2 H
A C F
1 8 3
7
D 5 G
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.
Numrul N(t) de clieni din sistem ia valori ntregi 0,1,2,..., i este, n general,
un proces stochastic discret. Cunoaterea repartiiei acestui proces permite
determinarea multor caracteristici ale sistemului.
P (t ) = 1 , ()t
n =0
n (8.3)
(nu poate fi coad pentru n c, adic mai puini clieni dect numrul staiilor de
serviciu),
c) timpul mediu de ateptare la coad
M [WT ] = M [Lc ] ,
1
(1 p 0 )
1
unde este timpul mediu de servire i se presupune cunoscut.
(1 p 0 )
N
1
n
= 1 = p0
n 1
cnd < 1 i atunci
pn = n( 1 ) . (8.6)
Se pot determina elementele necunoscute ale modelului n funcie de . De
asemenea, se pot gsi:
pn maxim
d
d
[ ]
n (1 ) = 0 =
n
n +1
i atunci
n
n 1
p n (t ) = .
n + 1 n + 1
8. Elemente de teoria ateptrii 167
eveniment este
( t )n 1 t
e ;
(n 1) !
c) evenimentul ca n intervalul de timp dt s fie servit i s plece un client,
condiionat de evenimentele de la a) i b). Probabilitatea acestui eveniment este
dt . Prin urmare,
60 min
cea a ieirilor (serviciilor) din sistem este = . Intensitatea de trafic
1 min 30 s
3
este = . 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 .
Figura 8.1
Selectnd Solve obinem soluia modelului care, aa cum se vede din Tabelul 8.1,
coincide cu cea obinut mai sus.
170 Modele i algoritmi de optimizare
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 0.2500
THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE 2.2500
THE AVERAGE NUMBER OF UNITS IN THE SYSTEM 3.0000
THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE 0.0750
THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM 0.1000
THE PROBABILITY THAT AN ARRIVING UNIT HAS TO WAIT 0.7500
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 .
8. Elemente de teoria ateptrii 171
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
2 3
m(m 1) p 0 = 0 p 3 = m(m 1)(m 2) p 0 .
Prin inducie rezult
n
p n = A p 0
n
0 1 2 K m m
N (t ) : i
p 2 (t ) K p m (t )
p k (t ) = 1
p 0 (t ) p1 (t ) k =0
n
m
1
Amn p 0 = 1 p 0 = , Am0 = 1 .
n
n =0 m
A n
m
n =0
m
n =0 n =0 n =0
n n n +1
m
m
m 1
= m A p 0 ( m n) Amn p 0 = m Amn +1 p 0 =
n
m
n =0
n =0
1 4424 43 n =0 144 424 44
3
1 1 p0
=m (1 p 0 ) ; deci M [ N (t )] = m (1 p 0 ) ,
numrul mediu de clieni servii la un moment dat
0 1
n s (t ) : M [n s (t )] = 0 p 0 + 1 p 0 = 1 p 0 .
p 0 (t ) 1 p 0 (t )
172 Modele i algoritmi de optimizare
Rezolvare
1
1 1 1 48 1
= = ; = maini pe or , = = , atunci
8 6 48 4 1 12
4
1 1
p0 = n
= = 0.19857 ,
n 1
12 5.03607
n=0
A12
12
8. Elemente de teoria ateptrii 173
Figura 8.2
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 0.1986
THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE 1.5808
THE AVERAGE NUMBER OF UNITS IN THE SYSTEM 2.3822
THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE 7.8907
THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM 11.8907
THE PROBABILITY THAT AN ARRIVING UNIT HAS TO WAIT 0.8014
p n (t + t ) = [1 ( + c )t + O (t )] p n (t ) + p n 1 (t )t +
(8.14)
+ c p n +1 (t )t .
pc+k = p0 , k 0 .
c c!
Pentru acest model notm * = intensitatea de trafic a sistemului de
c
ateptare.
Am obinut soluia sistemului (8.17)
n
p n = p0 , 1 n < c
n!
(8.18)
pn =
n
p0 , n c .
c! c n c
Deoarece p
n=0
n = 1 , rezult c
c 1 n
p0
n
( )
* c
n=0 n!
+ = 1,
n =c c!
de unde obinem
1
p0 = .
c c 1
n
+
( )
c! 1 * n=0 n!
Cunoscnd repartiia variabilei aleatoare N( t ), se poate determina repartiia
variabilei aleatoare Lc( t )
0 1 2 L
Lc : .
p 0 (t ) + ... + p c (t ) p c +1 (t ) p c + 2 (t ) L
Notm c + k = n k = n c . Atunci
n
M [ Lc ] = (n c) p n =
n = c +1
n = c +1
(n c)
c!c n c
p0 =
178 Modele i algoritmi de optimizare
cc c +1
c +2
c +3
= p 0 1 + 2 + 3 + ... =
c! c c c
cc
c +1
2
= p 0 1 + 2 + 3 ... .
c! c c c
Se tie c
1
k =1
kx k 1
(1 x) 2
=
, x <1.
1
c
de unde rezult c
c
M [ Lc ] = p 0 .
(c 1)!(c ) 2
Pentru determinarea numrului mediu de clieni din sistem, vom considera
numrul de clieni aflai n serviciu la un moment dat, care este acelai lucru
cu numrul de staii ocupate ns , ca fiind o variabil aleatoare discret cu
repartiia
0 1 2 K c 1 c
n s : .
p 0 (t ) p1 (t ) p 2 (t ) K p c 1 (t ) p c (t ) + p c +1 (t ) + ...
c c
M [n s ] = np n (t ) + c( p c (t ) + p c +1 (t ) + ...) = np n (t ) + c p n (t ) =
n =0 n =0 n = c +1
n n
c
1
1
= n p 0 (t ) + c p 0 (t ) .
n =0 n! n = 0 c! c
n c
De aici rezult c
M [n s ] = ,
iar cum
M[N( t )] = M[Lc] + M[ns],
obinem c
c
M [ N (t )] = p 0 + .
(c 1)!(c ) 2
numrul mediu de servicii fcute efectiv n unitatea de timp
M [n s ] = = .
timpul mediu de ateptare la coad
8. Elemente de teoria ateptrii 179
c
M [ Lc ]
M [WT ] = = p 0 (t ) .
(c 1)!(c ) 2
timpul mediu de ateptare n sistem
1
M [W ] = M [WT ] + .
numrul mediu de staii de servire care lenevesc (neocupate)
c 1
M [ SL] = (c j ) p j (t ) = c .
j =0
Rezolvare
60 6
Pentru acest exemplu avem = 6 , = = 4 , = > 1 . Cum > 1 , nu este
15 4
suficient un singur lucrtor. Vom considera urmtoarele situaii:
a) c = 2 (2 lucrtori)
1 3
p0 = 2
= 0.14286 , p1 = p 0 = 0.21429 ,
3 1 3 2
+1+
2 2!1 3 2
4
2
3 1
p2 = p 0 = 0.16072 etc
2 2!
3
3 1 1
M [ L2 ] = 0.14286 = 1.92861 ,
2
2 2!2 3
1
4
3 1
M [ SL] = c = 2 = ,
2 2
3
3 1 1 3
M [ N (t )] = 0.14286 + = 3.4261 ,
2 2!2
2
3 2
1
2
M [ Lc ] 1.92861
M [WT ] = = = 0.32143 = 19 min 17 s .
6
b) c = 3 (3 lucrtori)
180 Modele i algoritmi de optimizare
1
p0 = 3 2
= 0.21053 ,
3 1 3 3 1
+1+ +
2 3!1 3 2 2 2!
2
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 .
Figura 8.3
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
staie de servire 1
coada
staie de servire 2
Veniri O O ... O
ir de M
ateptare
numrul zilelor lucrt
Figura 8.4
182 Modele i algoritmi de optimizare
1 n < c
p (t ) = [c + (m n) ] p (t ) + c p (t ) + (m n + 1) p (t )
n n n +1 n 1
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
c! Am c p 0 , c n m .
nlocuind pn de mai sus n (8.3) rezult
1
p0 = .
cc m n
c 1 n
n =0
Cm +
n n
Am
c! n = c c
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
autobasculant la un moment dat, iar < 1 pentru evitarea supraaglomerrii.
c
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
0.3
= = = 0.075 ; c = 2 ; m = 20
4
1
p0 = n
= 0.18756
1
22 20
0.075
n =0
n
C
20( 0 . 075n
) +
2!
n=2
A
n
20
2
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
Simulare probabilist
Vom ilustra aceast metod printr-un exemplu de model de ateptare adaptat
dup Bonini et al. (1997).
Considerm un depozit care are o ramp de descrcare a vagoanelor.
Vagoanele sosesc noaptea i descrcarea unui vagon dureaz o jumtate de zi. Dac
sunt mai mult de dou vagoane la rnd pentru descrcare, atunci unele dintre ele
rmn s fie descrcate n ziua urmtoare. S-a constatat c numrul de vagoane
care sosesc noaptea urmeaz repartiia din Tabelul 8.5 i este independent de
numrul de vagoane sosite n oricare alt noapte.
Tabel 8.5
Nr. vagoane Probabilitatea
0 0.23
1 0.30
2 0.30
3 0.10
4 0.05
5 0.02
cel puin 6 0.00
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.
Tabelul 8.6
Numr de Numr aleatoriu Frecvena
sosiri generat relativ
0 0-22 0.23
1 23-52 0.30
2 53-82 0.30
3 83-92 0.10
4 93-97 0.05
5 98-199 0.02
Tabelul 8.7.
Numr Numr Total de
Ziua Amnate Descrcate
aleatoriu sosiri descrcat
x 99 5 0 0 0
x 6 0 0 0 0
x 15 0 0 0 0
x 62 2 2 0 2
x 86 3 3 1 2
1 12 0 1 0 1
2 39 1 1 0 1
3 39 1 1 0 1
4 16 0 0 0 0
5 24 1 1 0 1
6 45 1 1 0 1
7 88 3 3 1 2
8 81 2 3 1 2
9 53 2 3 1 2
10 26 1 2 0 2
11 56 2 2 0 2
12 77 2 2 0 2
13 31 1 1 0 1
14 34 1 1 0 1
15 94 4 4 2 2
16 11 0 2 0 2
17 15 0 0 0 0
18 92 4 4 2 2
19 38 1 3 1 2
20 14 0 1 0 1
21 36 1 1 0 1
22 9 0 0 0 0
23 56 2 2 0 2
24 84 3 3 1 2
25 12 0 1 0 1
26 79 2 2 0 2
27 25 1 1 0 1
28 81 2 2 0 2
29 1 0 0 0 0
30 65 2 2 0 2
Total 40 9 41
Media 1,33 0,3 1,36
188 Modele i algoritmi de optimizare
t ( t )
n 3
P( n , t) := e
n!
f( t) := P( n , t)
n =0
3. La o staie de betoane sosesc bene care sunt ncrcate i prsesc imediat staia.
S-a constatat c la intervale de o or pe o perioad de o sptmn benele au sosit
conform cu Tabelul 8.8 . n aceeai perioad s-au notat i timpii de ncrcare a
benelor, iar rezultatele sunt trecute n Tabelul 8.9 .
Tabelul 8.8
Nr bene sosite/ora (xi) 0 1 2 3 4 5 6 7
Frecvena (Ni) 8 23 24 21 14 6 3 1
Tabelul 8.9
1 1 2 2 3 3 4 4 5 5 6
Minute/ben (tj) 5
0 5 0 5 0 5 0 5 0 5 0
5 3 2 1 1 1
Frecvena(Nj) 8 6 4 6 3 3
0 4 9 9 4 3
6 7 7 8 8 9 9 10 10 11 11 12
Minute/ben (tj)
5 0 5 0 5 0 5 0 5 0 5 0
Frecvena(Nj) 4 2 0 0 2 0 0 0 0 2 0 1
a) S se testeze c sosirile la staia de betoane sunt repartizate Poisson.
190 Modele i algoritmi de optimizare
Rezolvare
a) Vom folosi testul 2 pentru a verifica ipoteza H0 : Sosirile sunt repartizate
8
x N i i 8
( N i N i ) 2
Po() , cu = i =1
8
= 2.45 . Determinm statistica c2 = ,
Ni
N i =1
i
i =1
N i = N i e xi
, ()i = 1,8 . Obinem c = 0.52657 . Din tabela repartiiei
2
unde
2 gsim, pentru pragul = 0.05 i numrul gradelor de libertate,
l = (8 1) 1 = 6 (deoarece avem un parametru , media sosirilor),
02.05; 6 = 12.592 . Cum 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
(t
i =1
i 2.5) N i
timpilor de servire t= 24
= 19.5 minute (am considerat mijlocul
Ni
i =1
N
j =1
j
0.05128 t i
teoretic Fi = 1 e , funcia de repartiie empiric Fei = 24
,
N
j =1
j
6. Proprietarul unui service auto dorete s nfiineze propria spltorie auto, astfel
ca n atelierul de reparaii s intre autoturismele care au fost splate. tiind c
sosirile autoturismelor pentru service care trebuie i splate sunt poissoniene, cu
rata medie de 3 autoturisme pe or, iar un muncitor are nevoie n medie de 20 de
192 Modele i algoritmi de optimizare
15
R. =15 automobile/or , =6 automobile/or, = = = 2.5 > 1 i dac ar fi un
6
singur poliist ar fi supraaglomerare.
a) Alegem numrul c de poliiti astfel nct < 1 , adic c=3 . Modelul de
c
ateptare devine Po()/Exp()/3:( , FIFO) ;
b) p0=0.0449;
5
c) P (n > 5) = 1 P (n 5) = 1 p i =
i =0
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?
Eficiena unui stoc de-a lungul unui interval de timp este dat de o funcional
de forma
196 Modele i algoritmi de optimizare
I(t)
T0 T1 T2 T3 T*
t0 L t1 t2 t3 t t
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.
9. Elemente de teoria stocurilor 197
Parametrii cunoscui:
intrrile au loc n mod continuu cu rata p constant,
ieirile au loc n mod continuu cu rata r constant; p > r,
costul de stocare h este constant pe unitatea de stoc / unitatea de timp,
costul de lansare a comenzii a este s = constant,
L = 0.
Parametrii necunoscui:
cantitatea comandat a (mrimea lotului de reaprovizionare),
mrimea ciclului de reaprovizionare T.
Ipoteze:
nu se admite lipsa de stoc,
nu exist stoc de rezerv sau stoc intangibil, I0 = 0.
I(t)
a
I(t) = (p r) t
I(t) = a rt
a a
0 T= t
p r
Figura 9.2
Astfel,
200 Modele i algoritmi de optimizare
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 )
C h ,T = h I (t )dt = h 2 + a 2 2 2 = .
0 2 p r p 2 r p 2 pr
Costul total de stocare i de lansare pe unitatea de timp este
C h , T ha 2 ( p r ) r ha ( p r ) rs
C (a) = = + s = + .
T 2 pr a 2p 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).
totale,dedelansare,
Costurile total, lansare,
dede pstrare
pastrare
CT ( Q , a , s , h)
CL( Q , a , s)
Ch( Q , a , h)
a
marimeacomenzii
mrimea comenzii
Figura 9.3
Rezolvarea modelului
9. Elemente de teoria stocurilor 201
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
a Q
CT = h + s (9.4)
2 a
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
a opt = . (9.5)
h
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
2s 2 30000000
I
Topt = = = 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.
9. Elemente de teoria stocurilor 203
Figura 9.5
Figura 9.6
INVENTORY MODEL
204 Modele i algoritmi de optimizare
***************
INVENTORY POLICY
****************
OPTIMAL ORDER QUANTITY 6,928.20
ANNUAL INVENTORY HOLDING COST $519,615,242.27
ANNUAL ORDERING COST $519,615,242.27
TOTAL ANNUAL COST $1,039,230,484.54
MAXIMUM INVENTORY LEVEL 6,928.20
AVERAGE INVENTORY LEVEL 3,464.10
REORDER POINT 1,200.00
NUMBER OF ORDERS PER YEAR 17.32
CYCLE TIME (DAYS) 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).
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 ) pn cnd intr t
t T
cantitatea a n stoc.
Figura 9.7 arat 0 t
comportarea acestui
model de stocare. Dup ce
se recupereaz lipsa de Figura 9.7
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 Modele i algoritmi de optimizare
1 S aS
C= s + h t '+ d t" .
T 2 2
Se exprim membrul drept al relaiei precedente n funcie de S, T innd seama c
a S S Tr S
T = , t ' = , t" = T = ,
r r r r
astfel c
s hS 2 d (rT S ) 2
C (S , T ) = + + .
T 2rT 2rT
Se determin min C(S,T):
C hS d (rT S )
S = 0 rT rT
=0
C
1 hS 2 d 2r (rT S )T (rT S ) 2
=0 2 s + + =0
T T 2r 2r T2
2s h+d 2rs d d
Topt
II
= II
, S opt = II
, C opt = 2rsh .
rh d h h+d h+d
Deoarece
2C 2C 2C 2 2C
> 0 i 2 >0
2 S 2 T ST S (S optII ,ToptII )
(S opt ,Topt )
II II
Deoarece
II II II
S opt S opt S opt
= r = =
II
Topt r Topt
II
a
se numete i indice de lips de stoc. n (1)% din cazuri, pe perioada T,
stocul se epuizeaz.
Probabilitatea epuizrii stocului este
h 1
=1 = d= h.
d +h
Aceast relaie arat c, dac se accept drept cunoscut probabilitatea epui-
zrii 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
1 Topt
II
S opt = S opt
I
, a opt
II
= a opt
I II
, Topt = ,
adic
II
S opt < S opt
I II
, a opt > a opt
I II
, Topt > Topt
I
.
Rezolvare
3500 10141.85
= = 0.875 ; = 0.93541 ; II
a opt = 7407 ;
500 + 3500 0.93541
I
Topt
S II
= a 6481 ; Topt
II II
= 18.51 ; Copt
II
= Copt
I
3 240 370.34 .
opt opt
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 7,406.56
ANNUAL INVENTORY HOLDING COST $425,298,608.33
ANNUAL ORDERING COST $486,055,552.38
ANNUAL BACKORDER COST $60,756,944.05
TOTAL ANNUAL COST $972,111,104.76
MAXIMUM INVENTORY LEVEL 6,480.74
AVERAGE INVENTORY LEVEL 2,835.32
MAXIMUM BACKORDERS 925.82
REORDER POINT 274.18
NUMBER OF ORDERS PER YEAR 16.20
CYCLE TIME (DAYS) 18.52
u , dac u a . kc a , i
i i i
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
Avantaje Dezavantaje
-preuri reduse -stocuri mari
-mai puine hrtii de completat -cheltuieli sporite de stocare
-transport mai ieftin -riscul deteriorrii
Cumprtor -mai puine momente cu lips de stoc -nvechirea produselor
-produse uniforme
-securitate sporit (ar putea s creasc
preurile)
-transport mai ieftin -pre unitar sczut
Vnztor -mai puine hrtii de completat -putere sczut de
-producie mai mare tranzacionare cu clienii
Se disting dou cazuri :
9. Elemente de teoria stocurilor 211
Rezolvare
i) Vom folosi modelul lotului economic fr lips de stoc i nu vom lua n seam
reducerea furnizorului. Pentru acest caz avem : Q=10012=1200 becuri pe an,
h=0.258=2 u.m. , s=27 u.m. , p=8 u.m. (p=preul de achiziie al unui bec).
Folosind formulele (9.4)-(9.5) obinem valoarea optim pentru comanda de
reaprovizionare
2Qs 2 27 1200
a opt = = = 180 ,
h 2
costul total anual de stocare
Q a opt 27 1200 180 2
CT = s+ h= + = 180 ,
a opt 2 180 2
iar costul becurilor este Qp=12008=9600.
Aadar, fr reducere, municipalitatea ar cheltui 9600+360=9960 u.m.
ii) Vom reface calculele innd seama de reducerea oferit de furnizor pentru un lot
de 600 becuri. n acest caz vor fi doar dou lansri de comenzi de reaprovizionare
i atunci costul de lansare total ar fi de 54 u.m. Costul unitar anual de pstrare
devine h=0.980.258=1.96 u.m., iar costul total anual de pstrare este
600 1.96
= 588 . Costul de achiziie devine 9600 9600 0.02 = = 9408 . n acest
2
caz municipalitatea ar plti 9408+588+54=1050 u.m. n concluzie, oferta de
reducere trebuie respins pentru c, dac ar fi acceptat, municipalitatea ar fi n
dezavantaj !
212 Modele i algoritmi de optimizare
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.
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)
Pas 2. Se compar a opt cu intervalul corespunztor preului 2.50. 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.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)
a opt = = = 9615385 = 3101 .
h 0.52
( 2 `)
Se compar a opt cu intervalul corespunztor preului 2.60.
( 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,
2Qs 2 50 50000
( 3)
a opt = = = 9090910 = 3015 .
h 0.55
9. Elemente de teoria stocurilor 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.
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
acestor intervale, preurile unitare reduse ( pu )1k n .
Pas 2. k:=n;
Determin cantitatea optim aopt comandat cu modelul lotului economic pen-
tru 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;
Dac a k [q k ,1 , q k , 2 ] atunci sw:=4; an+1:=aopt ; Cn+1, costul total
optim cu modelul lotului economic pentru aopt ;
Dac sw=4, atunci
Pentru k:=1,n
Calculeaz Ck costul total optim cu modelul lotului economic
Determin C n +1 := min C k ; a n +1 := min a k ;
1 k n +1 1 k n +1
1 4999 2.75
q := 5000 9999 pu := 2.60
10000 106
2.50
s
Lotul optim de reaprovizionare aopt ( h ) := 2 Q
h
Mn ( x) := m x
1
i1
for k 1 .. last ( x)
if m > x
k
m x
k
ik
m
i
9. Elemente de teoria stocurilor 215
Discount ( Q , s , pu , ) := k last ( pu )
nk
sw 1
Q qk, 1
CT n+ 1 s + pu k + Q pu k
qk, 1 2
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
Q ak
CT n+ 1 s + h k + Q pu k
ak 2
a n+ 1 a k
sw 4
if sw = 4
for k 1 .. n
Q qk, 1
CT k s + h k + Q pu k
qk, 1 2
Ao Mn ( CT )
CT n+ 1 Ao1
i Ao2
a n+ 1 ai
a n+ 1
CT n+ 1
Discount ( Q , s , pu , ) =
.
216 Modele i algoritmi de optimizare
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,
9. Elemente de teoria stocurilor 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 Rezultat
Reducerea nivelului de Scade costul de stocare al stocului de siguran i crete
reaprovizionare costul lipsei de stoc
a
Reducerea lotului de Scade costul de stocare al stocului mediu ( ) i cresc costul
reaprovizionare 2
lipsei de stoc i costul total de lansare comenzi
Creterea nivelului de Crete costul de stocare al stocului de siguran i scade
reaprovizionare costul lipsei de stoc
Creterea lotului de Crete costul de stocare al stocului mediu i descrete costul
reaprovizionare total de lansare comenzi
Creterea cos-
turilor
Q
(1 F ( P0 )) d
a
Costul neadugrii
unei uniti
O
P0 opt P0
Figura 9.9
(R P ) f ( R)dR
P0
0 numrul mediu de uniti de stoc lips din stoc pe un ciclu
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:
h a d P0 f ( P0 ) + a d [F ( P0 ) + P0 f ( P0 ) 1] = 0
CT Q Q
P = 0
0
Q h
. (9.7)
CT = 0 2 s + d (R P0 ) f ( R )dR + = 0
a a P0
2
Prima relaie (9.7) se poate rescrie astfel:
Q Q
h d + d F ( P0 ) = 0 .
a a
Atunci
ah
F ( P0 ) = 1 P0 opt . (9.8)
d Q
2Q s + d (R P0 opt ) f ( R )dR
(9.9)
a opt = P0
.
h
220 Modele i algoritmi de optimizare
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
( )
repartizat N L m, L R . Notnd cu z , cuantila inferioar a
variabilei aleatoare N (0,1) , adic
z u2
1
=
2
e
2
du ,
P0 = L m + z L R .
R = r1 + ... + rL a Erlang ( , L)
P0
f ( x)dx = 1 = P( R < P )
0
0
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.
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.
Tabelul 9.6
Funcia empiric
Numr kilograme Numr de Probabilitatea
de
vndute (x) sptmni cererii
repartiie (P(xa))
160 4 0.08 0.08
170 10 0.2 0.28
180 12 0.24 0.52
190 15 0.3 0.82
200 9 0.18 1
Total 50
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
9. Elemente de teoria stocurilor 223
c_ 11 6
Pentru aceast problem = = 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 .
Exemplu de cerere cu repartiie continu
O reea de magazine comand la o fabric de ncminte un nou model de pantofi
brbteti de primvar-var. La sfritul sezonului (30 septembrie) patronul
magazinelor va avea lichidare de stoc pentru ce nu s-a vndut pn la acea dat.
Preul de achiziie de la fabric este de 40 u.m. perechea, iar magazinul i vinde cu
60 u.m. Preul de lichidare de stoc este de 30 u.m. perechea i se ateapt ca la
acest pre stocul s fie lichidat. Cte perechi de pantofi ar trebui s comande
patronul magazinelor pentru a obine profit maxim (pierderi minime) ? (Anderson
et al, 1994)
Rezolvare
Din experiena anilor trecui, cererea pentru pantofi brbateti, msura 42, este
uniform i cuprins ntre 350 i 650 perechi, avnd media 500. Se apeleaz la
analiza incremental pentru rezolvarea acestei probleme.
Fie: a cererea de aprovizionare cu pantofi brbteti mrimea 42,
c+ costul unitar al supraestimrii cererii, adic pierderea datorat comandrii
unei perechi de pantofi suplimentare, care apoi se constat c nu se poate vinde,
c- costul unitar al subestimrii cererii, adic pierderea datorat necomandrii
unei perechi de pantofi suplimentare, care apoi se constat c s-ar fi putut vinde,
D+ pierderea total datorat supraestimrii comenzii de aprovizionare
D- pierderea total datorat subestimrii comenzii de aprovizionare.
Tabelul 9.7
Mrimea Pierderea
Cazul Pierderea produs dac Probabilitatea
comenzii posibil
Cererea este supraestimat i o
I 501 c+=10 P(a500)
unitate nu poate fi vndut
Cererea este subestimat i o
II 500 c-=20 P(a>500)
unitate ar fi putut s fie vndut
iar aopt=550.
Ipotezele modelului
stocul este unic (un singur tip de produse, c=1),
variaia stocului este discret,
intervalul de timp dintre dou intrri n stoc este o variabil aleatoare
exponenial negativ de parametru ,
fiecare cerere este egal cu unitatea (r=1),
intervalul de timp dintre dou cereri este o variabil aleatoare exponenial
negativ de parametru ,
intrrile n stoc pot avea loc indefinit,
N(t) numrul unitilor din stoc este un proces aleatoriu staionar descris de
un proces de natere i deces.
Cu notaiile de la modelele de ateptare avem
9. Elemente de teoria stocurilor 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 ) .
C ( ) = c u M [ N (t )] + d p 0 = c u
1
Din condiia ca C() s fie minim ( C ( ) = 0 , C ( ) > 0) , se obine
cu
opt = 1
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
stocului.
Dar
c u
= = 1 .
d
Se poate determina probabilitatea ca nivelul stocului s depeasc o anume
valoare ,
P(N (t ) ) = p n = (1 ) j =
n = j =0
deoarece
p n = n (1 ) .
n p 0 pentru 1 n m
pn =
0 pentru n > m
m
i deoarece p
n =1
n = 1 se obine
1
p0 = .
1 m +1
Astfel
m m
(1 ) m
M [N (t )] = n p n = n n p 0 = n n 1 .
n =1 n =1 1 m +1 n =1
ns
m
1 m
n =
n =1 1
de unde rezult c
m
[1 (m + 1) ] (1 ) +
m m +1
n n1 =
n =1 (1 )2
.
Obinem
(1 ) [1 (m + 1) m ] (1 ) + m +1
N = M [N (t )] = =
1 m +1 (1 )2
=
[1 (m + 1) m + m m+1 ] .
(1 ) (1 m+1 )
nlocuind M[N(t)] n funcia de cost i punnd condiia de minim se obine
opt cu ajutorul cruia se pot determina elementele modelului.
De exemplu, numrul mediu de cereri ce urmeaz a fi satisfcute (adic
lungimea medie a cozii)
R = M [N (t ) 1] =
[
2 1 m m +1 + (m 1) m ]
(1 ) 1 m+1
.
( )
Se obine o nou funcie de cost dac se consider valorile medii N , R astfel
C1 ( ) = c u N + d R =
(1 ) (1 m+1 )
{cu [1 (m + 1) m + m m+1 ] + d [1 m m1 + (m 1) m ]} .
Din condiia de optim (min C1() ) rezult opt i acum se pot calcula
elementele modelului.
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 .
iar
c! 1
pn = p0 = c n p c , 1 n c,
(c n)! n
(c n ) !
unde
228 Modele i algoritmi de optimizare
= .
c
cn n
M[N(t)] = p c .
n =0 n
M[R] = cM[N(t)].
1
p0 = m +1
1
c 1
n
c
c (9.12)
n !
+
c !
n =0
1
c
Se pot determina acum:
numrul mediu de uniti existente n stoc
230 Modele i algoritmi de optimizare
c
M[N+(t)] = (c n ) p
n=0
n ,
Atunci
c +1 c +1+ m
C (c) C (c + 1) C (c) = h (c + 1 n) p n d (c + 1 n ) p n
n =0 n =c + 2
S S+L
h ( S n) p n + d ( S n) p n =
n =0 n = S +1
c c+m
= h (c + 1 n c + n ) p n d (c + 1 n c + n ) p n
n =0 n = c +1
Pas 0. Intrare m, d, h, ;
d
k := , c := 0 ;
d +h
Pas 1. c:=c+1;
Calculeaz p0 conform cu (9.12) i pn, 1 n c + m , conform cu (9.11);
:= p 0 ; i := 0 ;
Pas 2. i:=i+1 ; := +pi ;
dac <k i i<c+m mergi la Pasul 2;
Pas 3. Dac <k i i=c+m mergi la Pasul 1 ;
Pas 4. Dac k i i c + mL atunci c este optim. Stop!
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.
Tabelul 9.8
Cantitate Pre unitar
0 99 36
100 199 32
200-299 30
300 28
ANEX
Noiuni generale de probabiliti i statistic
matematic
A.1.2. Probabilitate
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 1 2 3 4
p 0.2 0.3 0.1 0.3 0.1
0 x0
0.2 0 < x 1
0.2 + 0.3 1< x 2
F ( x) =
0.2 + 0.3 + 0.1 2< x3
0.2 + 0.3 + 0.1 + 0.3 3< x 4
1 4< x
Deci, pentru variabila aleatoare discret, F ( x) = P( X < x) = P ( X = x i ) .
xi < 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 Modele i algoritmi de optimizare
a) F( x1 ) F( x2 ) , x1 < x2 ;
b) lim F ( x) = F (+) = 1 ; lim F ( x) = F () = 0 ;
x x
c) F( x 0) = F( x ) (continuitate la stnga).
x
Dac exist o funcie nenegativ f( y ) astfel nct F ( x) = f ( y )dy ,
Proprieti
a) f ( x ) 0 , () x R ;
x2
b) () x1 , x2 R , P(x1 X < x 2 ) = f ( x)dx ;
x1
c)
f ( x ) dx = 1 .
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.
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] .
Repartiia Poisson
O variabil aleatoare discret X urmrete repartiia Poisson de parametru
dac
n
P ( X = n) = f ( n) = 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 .
2
1 1
Dac Y a Exp( ) , atunci M [Y ] = , iar D 2 [Y ] = .
Repartiia Erlang(,n)
Fie Y1, Y2,..., Yn , n variabile aleatoare repartizate Exp() i independente, iar
n
X = Yi . Variabila aleatoare X este repartizat Erlang(,n) i are densitatea de
i =1
repartiie
n
f ( x) = x n1e x ,
( n)
iar este funcia gama (funcia lui Euler de spea a II-a)
(a) = x a 1 e x dx .
0
n n3
Dac X a Erlang ( ) atunci M [ X ] = , iar D 2 [ X ] = .
2
A.3.3. Repartiia normal unidimensional a lui Gauss
Anex 239
P( (t ) ( s ) = n ) = e (t s )
[ (t s ]
n
, ()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
1. Enunarea ipotezei;
2. Se specific i . Pe baza acestora se va determina numrul de observaii
care trebuie fcute pentru a calcula statistica aleas;
3. Se determin care valori ale unei anumite statistici, valori ce formeaz regiunea
critic, determin respingerea ipotezei i care determin acceptarea ipotezei;
4. Se calculeaz valoarea statisticii de selecie;
5. Se accept sau nu ipoteza, dup cum valoarea obinut pentru statistic este n
afara sau n interiorul regiunii critice.
Acest test este datorat lui K. Pearson care a artat c, n cazul unui sondaj
nonexhaustiv n populaia chestionat, cnd probabilitile pi nu sunt aproape de 0
sau 1, iar produsele N i = Np i , unde p i = f ( x i ) , ()i = 1, n , calculate dup
n
(N i N i )2
estimarea parametrilor, nu sunt prea mici ( N i > 5 ), atunci c2 =
i =1 N i
are repartiia cu = n 1 k , n fiind numrul de valori observate, iar k ,
2
n
n
244 Modele i algoritmi de optimizare
Funcia K(u) se numete funcia lui Kolmogorov i exist tabele cu cuantilele ei.
u
Pas 7. Dac d < , se accept ipoteza H0 , altfel se respinge. Stop!
n
BIBLIOGRAFIE
I SBN 9 7 3 - 8 4 6 6 - 7 6 - 8
9 789738 466760