Vous êtes sur la page 1sur 252

Romic TRANDAFIR

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.

MODLES ET ALGORITHMES DOPTIMISATION


Cet ouvrage prsente un ensemble de modles, de mthodes et dalgorithmes
doptimisation. Le premier chapitre, Introduction, o lobjet de loptimisation et les
principaux domaines dapplication sont fournis, est suivi de Graphes en optimisation,
Programmation convexe, Programmation linaire, le Problme de transport,
Programmation dynamique, Programmation quadratique, lments de la thorie files
dattente, lments de la thorie de stockes et une Annexe.
Ces chapitres reprsentent un minimum de connaissances ncessaires dans les
activits pratiques de management des ingnieurs et conomistes.
La plupart des rsultats sont dmontrs, mais il y a des rsultats (thormes,
propositions) qui sont accepts sans dmonstration, pour lesquelles on indique
louvrage o ils sont dmontrs. Les mthodes et les algorithmes correspondants sont
illustrs par exemples compltement rsolus. On a donn galement les solutions
obtenues en utilisant les logiciels Management Scientist, Excel et MathCAD. Presque
tous les chapitres finissent par des problmes proposs rsoudre.
Louvrage sadresse aux ingnieurs, conomistes, mathmaticiens et tudiants des
facults techniques et conomiques, tant un outil pour rsoudre les problmes
pratiques.

Romic Trandafir

MODELE I ALGORITMI
DE OPTIMIZARE
Seria Matematic

Editura AGIR
Bucureti, 2004

ASOCIAIA GENERAL A INGINERILOR DIN ROMNIA


Copyright EDITURA AGIR, 2004
Editur acreditat de CNCSIS
Toate drepturile pentru aceast ediie sunt rezervate.
All rights reserved.

Adresa: Calea Victoriei nr. 118, sector 1, Bucureti, cod 010071;


telefon: 40 21 212 81 04; 40 21 212 81 06 (redacie);
40 21 211 83 50 (difuzare); fax: 40 21 312 55 31;
e-mail: editura@agir.ro; Internet: http://www.agir.ro

Refereni tiinifici:
prof. univ. dr. Ion Vduva;
prof. univ. dr. tefan Mititelu

Redactor: ing. Adina Negoi


Coperta: Rzvan Drghici
Bun de tipar: 25.08.2004; Coli de tipar: 15,5
ISBN 973-8466-76-8
Imprimat n Romnia

PREFA

Lucrarea de fa este o reuit sintez, care trateaz n mod concis, dar i


riguros din punct de vedere matematic, problemele de optimizare.
Dup o Introducere n care se formuleaz conceptele de baz ale construciei modelelor matematice i ale descrierii problemelor de optimizare, lucrarea trateaz sistematic o mare varietate de modele i algoritmi de optimizare, care intervin n rezolvarea diverselor tipuri de probleme ridicate de practica
inginereasc, n particular n construcii. Astfel, un prim capitol este dedicat
formulrii i tratrii unor modele i algoritmi de optimizare din teoria
grafurilor, legate de determinarea drumurilor minime, a fluxurilor minime/maxime sau a arborilor de acoperire de cost minim. Apoi, n cinci capitole distincte, sunt tratate la nivel teoretic evoluat, diverse probleme de programare matematic, cum sunt: programarea convex programarea liniar, problema de
transport, programarea ptratic i programarea dinamic. n aceste capitole se
fac remarcate construcia i analiza aprofundat a numeroi algoritmi generali,
dar i a unor particulariti ale acestora de un real interes practic.
Un capitol special este dedicat analizei unor modele de teoria matematic
a ateptrii, modele care au ca scop reglarea ateptrilor i fluxurilor n sistemele
de servire n condiii de incertitudine. Sunt tratate modele de ateptare pentru sisteme cu o staie de servire, cu coada finit sau infinit, sau sisteme de ateptare cu
mai multe staii paralele. n toate aceste modele se presupune c venirile i duratele serviciilor sunt aleatoare, de repartiii cunoscute.
n sfrit, ultimul capitol al crii trateaz modelele reprezentative de teoria matematic a stocurilor. Sunt tratate modele clasice care determin politici de
reaprovizionare optime pentru stocarea unuia sau mai multor produse, precum i
unele modele aleatoare.
Aproape toate metodele i algoritmii descrii sunt ilustrate prin exemple
preluate cu precdere din practica activitilor de construcii, exemple ce sunt prelucrate cu ajutorul unor pachete de programe, fapt care mrete mult utilitatea i
atractivitatea lucrrii.
ntruct n tratarea unor modele intervin noiuni i metode ale teoriei probabilitilor i statisticii matematice, anexa crii prezint tocmai noiunile de baz
necesare nelegerii acelor modele.
n concluzie, avem de-a face cu o carte bine construit, interesant prin
acurateea, claritatea i rigurozitatea problemelor tratate i care ofer posibiliti
de aplicare la rezolvarea multor probleme practice, ea prezentnd deci un interes
deosebit pentru o clas larg de cititori.
Bucureti, 20 iulie 2004
Prof. univ. dr. Ion Vduva

Modele i algoritmi de optimizare

CUPRINS
1. Introducere .....................................................................................................................11
1.1. Obiectul optimizrii ..................................................................................................11
1.1.1. Construcia modelului.....................................................................................11
1.1.2. Concepte de baz n modelare ........................................................................12
1.2. Tipuri de probleme ...................................................................................................14
1.2.1. Dimensiunea problemelor...............................................................................16
1.2.2. Algoritmi iterativi i convergen ...................................................................16
2. Grafuri n optimizare.....................................................................................................17
2.1. Definiii i algoritmi..................................................................................................17
2.1.1. Grafuri orientate..............................................................................................17
2.1.2. Grafuri neorientate..........................................................................................19
2.2. Cutarea unui arbore de acoperire de lungime minim ............................................20
2.2.1. Algoritmul lui Kruskal....................................................................................21
2.2.2. Algoritmul lui Prim.........................................................................................22
2.3. Algoritmul lui Dijkstra .............................................................................................25
2.4. Metoda PERT ...........................................................................................................29
2.5. Probleme propuse .....................................................................................................35
3. Programare convex ......................................................................................................43
3.1. Mulimi i funcii convexe........................................................................................43
3.2. Extreme condiionate ................................................................................................45
3.2.1. Cazul restriciilor egaliti...............................................................................48
3.2.2. Cazul restriciilor inegaliti ...........................................................................49
4. Programare liniar ........................................................................................................51
4.1. Exemple de probleme de programare liniar ............................................................51
4.1.1. Utilizarea optim a resurselor .........................................................................51
4.1.2. Problema de transport .....................................................................................52
4.1.3. Alocarea optim a fondurilor financiare .........................................................54
4.1.4. Gestionarea optim a unui depozit..................................................................54
4.1.5. Problema dietei ...............................................................................................55
4.2. Diferite forme ale problemelor de programare liniar ..............................................56
4.3. Algoritmul simplex ...................................................................................................57
4.4. Fundamentele algoritmului simplex .........................................................................59
4.5. Enunul algoritmului simplex ...................................................................................62
4.6. Tabelul simplex i transformarea sa .........................................................................63
4.7. Exemplu....................................................................................................................65
4.8. Convergena algoritmului simplex. Degenerare i ciclare ........................................72
4.9. Interpretarea geometric a algoritmului simplex ......................................................74
4.10. Interpretarea economic a algoritmului simplex.....................................................76
4.11. Metoda celor dou faze...........................................................................................77
4.12. Dualitatea n programarea liniar............................................................................82
4.13. Teorema fundamental a dualitii..........................................................................84

Modele i algoritmi de optimizare


4.14. Algoritmul simplex dual .........................................................................................89
4.15. Interpretarea economic a algoritmului simplex dual.............................................92
4.16. Determinarea unei soluii dual admisibile ..............................................................94
4.17. Probleme propuse ...................................................................................................95

5. Problema de transport.................................................................................................102
5.1. Fundamentele algoritmului de transport .................................................................102
5.2. Enunul algoritmului de transport ...........................................................................107
5.3. Determinarea soluiei iniiale de baz.....................................................................108
5.4. Exemplu..................................................................................................................109
5.5. Problema atribuirii sarcinilor ..................................................................................119
5.6. Probleme propuse ...................................................................................................119
6. Programare ptratic ..................................................................................................122
6.1. Exemple de probleme care conduc la programare ptratic ......................................122
6.1.1. Utilizarea optim a resurselor .......................................................................122
6.1.2. Problema investiiei ......................................................................................123
6.1.3. Regresii liniare..............................................................................................123
6.2. Definiii. Proprieti................................................................................................124
6.3. Fundamentarea algoritmului lui Wolfe...................................................................127
6.4. Forma scurt a algoritmului lui Wolfe....................................................................132
6.5. Probleme propuse ...................................................................................................141
7. Programare dinamic ..................................................................................................143
7.1. Generaliti .............................................................................................................143
7.2. Analiza retrospectiv ..............................................................................................146
7.2.1. Rezolvarea n cazul aditiv.............................................................................147
7.2.2. Problema repartiiei investiiilor ...................................................................148
7.2.3. Problema gestiunii stocului...........................................................................152
7.2.4. Problema alocrii optime a resurselor...........................................................155
7.3. Probleme propuse ...................................................................................................157
8. Elemente de teoria ateptrii.......................................................................................161
8.1. Introducere n teoria ateptrii ................................................................................161
8.2. Caracterizarea procesului N(t) ca proces de natere i deces..................................162
8.3. Modelul Po()/Exp()/1:(,FIFO)........................................................................165
8.4. Modelul Po()/Exp()/1:(m, FIFO).......................................................................170
8.5. Modelul Po()/Exp()/c:(, FIFO) ........................................................................174
8.6. Modelul P0()/Exp()/c:(m,FIFO).........................................................................180
8.7. Simulare..................................................................................................................185
8.8. Probleme propuse ...................................................................................................188
9. Elemente de teoria stocurilor ......................................................................................194
9.1. Introducere n teoria stocurilor ...............................................................................194
9.1.1. Punerea problemei ........................................................................................194
9.1.2. Concepte utilizate n teoria stocurilor ...........................................................195
9.2. Modelul clasic al lotului economic .........................................................................199
9.3. Modelul clasic al lipsei de stoc ...............................................................................204

Cuprins

9.3.1. Modelul de stocare considernd influena preului de cumprare ................209


9.3.2. Modelul de stocare considernd influena costului de producie ..................209
9.4. Extensii ale modelului clasic al lotului economic...................................................210
9.5. Model pentru stocarea mai multor tipuri de produse ..............................................216
9.6. Modele stochastice de stocare.................................................................................216
9.6.1. Determinarea nivelului optim de reaprovizionare.........................................217
9.6.2. Modele de stocare pe o singur perioad cu cerere aleatoare .......................221
9.6.3. Modele stochastice de stocare bazate pe modele de ateptare ......................224
9.6.4. Modelul P0()/Exp()/1:(, FIFO)...............................................................224
9.6.5. Modelul cu mai multe staii paralele i cu timp de avans L aleatoriu ...........226
9.7. Probleme propuse ...................................................................................................230
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
2
A.5.2. Testul de concordan ..........................................................................243
A.5.3. Testul Kolmogorov ......................................................................................243
Bibliografie .......................................................................................................................245
Index alfabetic ..................................................................................................................247

10

Modele i algoritmi de optimizare

1. INTRODUCERE

1.1. Obiectul optimizrii


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.

1.1.1. Construcia modelului


Dup ce decidentul a identificat factorii critici ai problemei concrete pe care o
are de rezolvat, acetia trebuie combinai n mod logic formnd astfel modelul. Un
model este reprezentarea simplificat a problemei reale. Prin modelare, fenomenului
natural complex i se reproduce comportarea esenial cu mai puine variabile i care
sunt legate ntre ele mai simplu. Avantajele unui model simplu sunt:
1) economia de timp de concepere
2) poate fi neleas realitatea de ctre decident
3) dac este necesar, modelul poate fi modificat repede i eficient.

12

Modele i algoritmi de optimizare

Un model ct mai apropiat de realitate cere un timp excesiv n construcie.


Decidentul dorete ca modelul simplificat s prezic rezultate rezonabile i s fie
consistent cu aciunea efectiv. Dup ce modelul a fost construit se pot obine
concluziile prin intermediul aciunilor logice. Decidentul i bazeaz aciunile sau
deciziile pe aceste concluzii. Dac deducerea concluziilor din modelul abstract este
corect i dac variabilele importante au fost abstractizate atunci soluia modelului
ar servi ca o soluie efectiv pentru problema empiric.
Exist dou surse de erori n folosirea modelului pentru factorul de decizie:
1) omiterea unor variabile importante din model
2) erori n definirea relaiilor dintre variabile.
Tehnica abordat pentru descrierea i stabilirea legturilor variabilelor selectate
depinde de natura variabilelor. Dac variabilele pot fi date n reprezentare
cantitativ atunci modelele matematice sunt cele mai indicate. Matematica
mpreun cu calculatoarele moderne fac posibil rezolvarea problemelor care cer
modele de mare complexitate i atunci cnd analiza cantitativ se poate aplica ea
faciliteaz procesul de luare a deciziilor.
n luarea unei decizii, se stabilete criteriul de decizie, se selecteaz
alternativele, se construiete un model, se evalueaz alternativele folosind modelul
apoi se selecteaz cea mai bun alternativ.
Un model este o abstracie i o simplificare a unei probleme reale, ncorpornd
ideal elementele eseniale i relaiile din problema real.
Rezolvarea unui model nseamn obinerea concluziilor logice care rezult,
concluzii ce constituie un ghid efectiv n luarea deciziei dac modelul este proiectat
i rezolvat corect. Luarea deciziei implic informaia cantitativ obinut din model
cu judecarea intuitiv a factorilor calitativi.

1.1.2. Concepte de baz n modelare


Primul pas n construirea unui model este stabilirea factorilor i variabilelor pe
care decidentul le consider importante. Acestea pot fi clasificate n cinci categorii:
variabile de decizie, variabile exogene, restricii, msuri ale performanei i
variabile intermediare.
Variabilele de decizie sunt acele variabile pe care le controleaz decidentul, ele
reprezentnd alegerile alternative pentru decident. De exemplu: trebuie s se
introduc un nou produs n fabricaie. Decidentul poate alege: s se introduc sau
nu, preul, culoarea, suma alocat reclamei etc.
Variabilele exogene sau externe sunt acelea care sunt importante n problema
de decizie, dar sunt controlate de factori externi sferei decidentului. De exemplu:
preul materiilor prime pentru realizarea noului produs.

1.Introducere

13

Restriciile pot fi legate de capacitile de producie, resurse, limitri


legislative, politica firmei etc.
Msuri ale performanei. n luarea unei decizii decidentul are un scop, un
obiectiv pe care ncearc s-l ating. Criteriile sau msurile performanei sunt
expresii cantitative ale acestor obiective.
Variabilele intermediare sunt necesare pentru includerea tuturor factorilor
importani n problema de decizie. Adesea ele leag factorii de cost i de ctig. Se
folosesc s lege variabilele de decizie i exogene de msurile de performan.
*
* *
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.
Cuvintele a optimiza, optimizare etc. sunt presupuse s reflecte aceast idee
de cel mai bine posibil . n viaa curent alegerile posibile se limiteaz adesea la
dou (atunci le numim alternative) sau cteva uniti, de tipul c algoritmul care ia
decizia se reduce la a nfia, explicit sau nu, toate posibilitile, s considere i s
evalueze consecinele lor probabile i s rein pe cea care pare cea mai bun
(dar cea mai bun are sens doar n msura n care un criteriu de alegere a fost
definit mai nainte).
n problemele tehnice, alegerile posibile reprezint adesea un continuu (de
exemplu: ce dimensiune s se dea unei grinzi ?) i o enumerare exhaustiv a
posibilitilor este de neconceput. Atunci trebuie gsit un algoritm mai performant,
adic o metod pentru a gsi drumul spre soluia cea mai bun dintre toate soluiile
posibile.
Optimizarea poate fi definit ca tiina determinrii celei mai bune soluii la
anumite probleme definite matematic, care sunt adesea modele ale realitii fizice.
Ea implic studiul criteriilor de optimalitate pentru probleme, determinarea soluiei
cu metode algoritmice, studiul structurii acestor metode i experimentarea pe
calculator a metodelor cu date experimentale i cu date reale.
Metodele de optimizare au o larg aplicabilitate n aproape orice activitate n
care sunt prelucrate informaiile numerice: tiin, inginerie, matematic, economie,
comer etc.
O selecie a domeniilor n care apar probleme de optimizare ar cuprinde:
proiectarea reactoarelor chimice, a aparatelor aerospaiale, a cldirilor, a podurilor,
n comer n probleme de alocarea resurselor, planificarea produciei, a stocurilor,
n diferite ramuri ale analizei numerice, n ajustarea datelor, principii variaionale

14

Modele i algoritmi de optimizare

n sisteme de ecuaii difereniale i cu derivate pariale, funcii de penalitate etc.


(Cohen, 1995).
Se optimizeaz o funcie obiectiv care cuantific produsul unui proces
economic sau profitul rezultat n urma aplicrii sistemului.
Conceptul de optimizare este bine ncetenit ca principiul de baz n analiza
problemelor complexe de decizie sau alocare. Folosirea optimizrii se bazeaz pe
concentrarea ateniei asupra unui singur obiectiv conceput s cuantifice performana
i calitatea deciziei ntr-o problem ce ar necesita determinarea valorilor unui numr
mare de variabile interconectate. Acest obiectiv este maximizat sau minimizat supus
unor restricii care s limiteze alegerea variabilelor de decizie. Dac un aspect al
problemei poate fi identificat i caracterizat printr-un obiectiv (de exemplu: profitul
ntr-o afacere) atunci optimizarea poate s ofere un cadru adecvat pentru o astfel de
analiz. Optimizarea ar trebui privit ca un instrument de concepere i analiz, i nu
ca un principiu care s duc la soluia corect din punct de vedere filozofic.
Formularea problemei implic ntotdeauna gsirea unui echilibru ntre
construirea unui model suficient de complex pentru a descrie ct mai bine
problema i uurina de rezolvare a acestuia.

1.2. Tipuri de probleme


Termenul programare, n aceast lucrare va fi sinonim cu optimizare i i are
originea n planificarea optimal.
Cnd variabilele sunt supuse unor restricii (relaii) avem de-a face cu
programare cu restricii, care face obiectul acestei lucrri. n lipsa restriciilor
spunem c avem programare far restricii (Luenberger, 1989).
Problemele fr restricii par lipsite de proprieti structurale astfel nct
aplicabilitatea lor n probleme practice este redus.
Problemele cu restricii permit modelarea fenomenelor complexe prin
descompunerea n subprobleme i fiecare subproblem avnd mai multe restricii.
Forma general a unei probleme de programare cu restricii este
min f ( x ) x R n

(1.1)
g i ( x) = 0 i E
g ( x) 0 i I
i

unde: f este funcia obiectiv,


gi sunt funciile care dau restriciile asupra variabilelor x1, x2, , xn,
E este mulimea indicilor pentru restriciile cu egalitate, iar
I este mulimea indicilor pentru restriciile cu inegalitate.
Restriciile de forma g i ( x ) bi pot fi puse sub forma g i ( x ) bi 0 .

1.Introducere

15

Definiia 1.1. Un punct x R n care verific restriciile (1.1) se numete punct


admisibil (realizabil) sau soluie admisibil i mulimea tuturor acestor puncte R,
formeaz regiunea admisibil (realizabil).
Definiia 1.2. O soluie admisibil x * R este o soluie optim pentru problema
(1.1) dac f ( x * ) f ( x ) , ()x R .
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.
Programarea liniar permite rezolvarea unei game largi de probleme cu un efort
redus. Popularitatea programrii liniare se datoreaz n principal etapei de
formulare, i nu celei de rezolvare numeric, deoarece multe dintre restriciile i
obiectivele care apar n practic sunt liniare prin definiie.
Optimizarea sistemelor reale cu evoluie n etape constituie obiectul
programrii dinamice, care are la baz pricipiul de optimalitate al lui Bellman
(Kaufmann, II, 1967), care poate fi exprimat astfel: Orice politic optim nu poate
fi alctuit dect din subpolitici optime.
Fenomenele de ateptare se optimizeaz cu modele de ateptare care dau
informaii asupra organizrii sistemului n vederea reducerii timpilor de ateptare n
sistem, a reducerii cheltuielilor de funcionare a sistemului de ateptare etc.
Asigurarea unui regim optim de funcionare a unui proces de producie sau
aprovizionarea optim cu anume sortimente a cererilor pieei se realizeaz cu
ajutorul modelelor de stocare.
Ca o aplicaie practic a teoriei grafurilor este prezentat organizarea i
planificarea proiectelor complexe i stabilirea duratei minime de realizare a acestora.
Toate aceste modele fac obiectul acestei lucrri, fiind prezentate soluiile
modelelor, exemple practice rezolvate fie manual, fie cu ajutorul Solver-ului din
EXCEL, fie cu ajutorul pachetului de programe specializat n rezolvarea
problemelor de optimizare, Management Scientist (MS), fie cu ajutorul pachetului
de programe MathCAD.

16

Modele i algoritmi de optimizare

1.2.1. Dimensiunea problemelor


O msur a complexitii problemei de programare este dimensiunea acesteia
exprimat prin numrul de necunoscute i de restricii (Luenberger, 1989).
Dimensiunea problemelor care pot fi rezolvate a crescut o dat cu dezvoltarea
teoriei i a tehnicilor de calcul.
Se pot distinge acum trei categorii de probleme: de dimensiune redus (cu cel
mult 5 variabile sau restricii), de dimensiune medie (ntre 5 i 100 de variabile sau
restricii) i de dimensiuni mari (cu peste 100 de variabile i restricii). Aceast
clasificare reflect nu numai diferene de dimensiuni, dar i de abordare. Astfel
problemele de dimensiuni mici pot fi rezolvate de mn sau cu un calculator de
buzunar. Problemele de dimensiuni medii pot fi rezolvate pe un calculator, folosind
programe matematice generale. Problemele de dimensiuni mari necesit programe
sofisticate care exploateaz caracteristicile particulare ale problemei i de obicei se
ruleaz pe calculatoare de mare capacitate.
Teoria iniial a optimizrii s-a concentrat asupra obinerii rezultatelor teoretice,
ignornd aspectele de calcul ale metodelor propuse. Abordrile recente se axeaz pe
exploatarea caracteristicilor calculatoarelor, obinnd soluia prin metode iterative.

1.2.2. Algoritmi iterativi i convergen


Cea mai important caracteristic a calculatoarelor este capacitatea lor de a
efectua operaii repetitive ntr-un mod eficient i din aceast cauz majoritatea
algoritmilor de rezolvare a problemelor de optimizare sunt iterativi (Luenberger,
1989). n cutarea unei soluii se alege un vector iniial x0 i algoritmul determin
un vector x1 care conduce la o valoare mai bun a funciei obiectiv; procesul se
repet obinndu-se un ir de vectori x0, x1, , xk, , fiecare mbuntind
valoarea funciei obiectiv, fa de precedentul. Acest ir converge ctre x* , soluia
problemei. n problemele de programare liniar soluia se obine dup un numr
finit de pai. n probleme de programare neliniar irul nu atinge niciodat soluia,
dar converge ctre ea. Practic, algoritmul se oprete cnd s-a obinut un punct
suficient de aproape de soluie.
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
2.1. Definiii i algoritmi

2.1.1. Grafuri orientate


Definiia 2.1. Se numete graf orientat o pereche de mulimi G=(X,U), unde: X
este o mulime finit i nevid, ale crei elemente se numesc noduri (vrfuri) , iar
U este o mulime format din perechi ordonate (x,y), x, y X , numit mulimea
arcelor (muchii). Dac ( x, y ) U , x se numete extremitatea iniial (originea) a
arcului, iar y, extremitatea final (extremitatea).
Grafurile permit modelarea unui numr mare de situaii (Henry-Labordere, 1995).
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
(4, 2), (4, 3)}. Grafic se
poate reprezenta ca n
Figura 2.1. Individul 1 l
apreciaz pe individul 2,
3
individul 2 nu l apreciaz
pe individul 1, individul 4
l apreciaz pe individul
Figura 2.1
2, iar indivizii 3 i 4 se
apreciaz reciproc.
Definiia 2.2. Se numete drum ntr-un graf orientat un ir de arce
D = u1 ,..., uk ui U , i = 1, k 1 cu proprietatea c extremitatea final a arcului ui

coincide cu extremitatea iniial a arcului ui+1 , i = 1, k 1 .

18

Modele i algoritmi de optimizare

Dac extremitatea final a arcului uk coincide cu extremitatea iniial a arcului


u1 atunci drumul se numete circuit.
Un circuit format dintr-un singur arc se numete bucl.
Dac nodurile arcelor drumului sunt distincte dou cte dou, drumul se numete
elementar.
Exemplu. n Figura 2.1 (1, 2, 4, 3) este un drum, iar (1, 2, 3) nu este drum.
Definiia 2.3. Un nod x dintr-un graf orientat G se numete precedentul altui
nod y din G dac exist arcul (x, y ) U .
Un nod y dintr-un graf orientat G se numete succesorul altui nod x din G
dac exist arcul (x, y ) U .
Un nod x dintr-un graf orientat G se numete ascendentul altui nod y din G
dac exist un drum de origine x i extremitate y.
Un nod y dintr-un graf orientat G se numete descendentul altui nod x din G
dac exist un drum de origine x i extremitate y.
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.4. Se numete gradul exterior al lui x i se noteaz d +(x) numrul de
noduri succesoare lui x.
Se numete gradul interior al lui x i se noteaz d (x) numrul de noduri
precedente lui x.
Se numete gradul lui x i se noteaz cu d(x) numrul d +(x)+ d (x),
(d(x)=d +(x)+ d (x)).
Definiia 2.5. Fie G=(X,U) un graf orientat i fie U U , G = ( X , U ) se
numete graf parial al lui G.
Fie A X i UA={uU astfel nct cele dou extremiti ale lui u s fie n A} .
GA =(A, UA) se numete subgraf al lui G.
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 .
Definiia 2.7. Se numete arborescen un graf tare conex i fr cicluri,
orientat, a crui orientare este astfel nct fiecare vrf al su cu excepia unuia
singur, numit rdcin, este extremitatea terminal a unui arc i numai unul.

2. Grafuri n optimizare

19

Definiia 2.8. Se numete graf ponderat sau valuat i se noteaz G=(X, U, l) un


graf (X, U) cruia i se asociaz o funcie l : U R + numit ponderea arcelor.
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.9. Se numete reea de transport un graf orientat, G=(X,U), fr
bucle, cu proprietile urmtoare:
exist un nod x0 unic, numit originea reelei, i care nu are ascendeni;
exist un nod xf unic, numit destinaia reelei, i care nu are descendeni;
fiecrui arc u U i este asociat un numr l (u ) 0 numit capacitatea
arcului u .

2.1.2. Grafuri neorientate


Definiia 2.10. Se numete graf neorientat i se noteaz G=(X,U) o pereche de
mulimi, unde: X este o mulime finit i nevid, iar U este o mulime de perechi
neordonate (x, y) cu x, yX . Elementele lui X se numesc vrfurile (nodurile)
grafului, iar elementele lui U se numesc muchiile (arcele) grafului. Dac
u = (x, y ) U , x i y se numesc extremitile muchiei u.
Definiia 2.11. Un graf G=(X, U), n care, dac
numete graf simetric.

( x, y ) U

atrage

( y, x ) U ,

se

Definiia 2.12. Un graf neorientat, G=(X, U), se numete graf complet dac
pentru ( )x, y X avem ( x, y ) U .
Definiia 2.13. ntr-un graf neorientat, G=(X,U), se numete lan o mulime de
vrfuri

L = x1 ,..., xk xi X , i = 1, k

cu proprietatea c oricare dou vrfuri

consecutive sunt adiacente, adic (xi , xi +1 )U , i = 1, k 1 . Vrfurile x1 , xk se


numesc extremitile lanului, iar numrul de muchii care intr n componena sa
se numete lungimea lanului. Dac x1,..., xk sunt distincte dou cte dou, lanul
se numete elementar, altfel se numete neelementar.

Modele i algoritmi de optimizare

20

Definiia 2.14. Un graf G=(X,U) se numete simplu conex sau conex dac pentru
orice pereche de vrfuri x, y X exist un lan de extremiti x i y .
Definiia 2.15. Se numete ciclu ntr-un graf

L = x1 ,..., xk xi X , i = 1, k
1,

} cu proprietatea c x =x
1

G=(X,U),

un lan

i muchiile (x1, x2), ... , (xk-

xk) sunt distincte dou cte dou.

Definiia 2.16. Se numete ponderea unui lan, drum, ciclu sau circuit valoarea
P=

l ( x, y ) .

( x , y )( x1 , x 2 ,..., x n )

De exemplu, n cadrul metodei PERT, ponderea unui drum este durata sa total.
Definiia 2.17. Un lan, drum, ciclu sau circuit se numete hamiltonian dac el
trece o dat i numai o dat prin toate vrfurile grafului. Un lan, drum, ciclu sau
circuit se numete eulerian dac el trece o dat i numai o dat prin toate arcele
grafului.
Definiia 2.18. Un arbore este un graf conex i fr cicluri.
Se disting la un arbore dou tipuri de vrfuri : vrfuri la care mai multe muchii
sunt incidente i alte vrfuri la care o singur muchie este incident. Acestea din
urm se numesc vrfuri pendante sau frunze.

2.2. Cutarea unui arbore de acoperire de lungime minim

Fie G=(X, U, l) un graf conex (ipotez necesar pentru a asigura existena cel
n = X (numrul
puin a unui arbore) ponderat neorientat. S notm cu
elementelor lui X). Se pune problema gsirii arborelui de acoperire de lungime
minim, adic, folosind arce ale grafului s se lege ntre ele toate nodurile astfel
nct lungimea total a arcelor folosite (suma ponderilor) s fie minim. O astfel de
problem apare n proiectarea reelelor de comunicaii, unde obiectivul este s se
minimizeze lungimea cablului necesar conectrii tuturor nodurilor care trebuie s
comunice ntre ele, n proiectarea reelelor de drumuri, benzi rulante, sisteme de
canalizare etc. n continuare sunt prezentai doi algoritmi care rezolv aceast
problem.

2. Grafuri n optimizare

21

2.2.1. Algoritmul lui Kruskal


Algoritmul lui Kruskal permite cutarea unui arbore de acoperire de lungime
minim. Vom presupune c graful G are lungimile muchiilor diferite dou cte
dou (dac uv , u, v muchii, atunci l(u)l(v) ).
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}.

Demonstrm prin absurd c Vn1 este arborele minim cutat (HenryLabordere, 1995). Fie VVn1 arborele minim i s presupunem c are cele n1
muchii ordonate astfel nct lungimile lor sunt n ordine cresctoare la fel ca i cele
ale lui Vn1 i c uk este prima muchie a lui V care nu este n Vn1 .
Vn1

v1

v2

vk1

vk

vk+1

vp

vn

Vn

v1

v2

vk1

uk

uk+1

up

un

l(v1)<l(v2)<< l(vk1)
V vk conine un singur ciclu (graful este conex i dac se adaug o muchie el
va conine un singur ciclu i numai unul). Acest ciclu conine cel puin o muchie
up Vk1 . Din construcia lui Vk , vk nu creeaz un ciclu cu Vk1. Deoarece lista
muchiilor lui V este ordonat cresctor dup lungimile muchiilor l(uk)l(up),
avem de asemenea l(vk)<l(uk) deoarece vkuk, i atunci l(vk)<l(up). Graful Vvk
up are n1 muchii i este fr cicluri deoarece suprimarea lui up nltur singurul
ciclu al lui Vvk . Acesta este, aadar, un arbore i lungimea sa este inferioar
aceleia a lui V , ceea ce contrazice faptul c VVn1 este arborele de lungime
minim. Rezult astfel c Vn1 este arborele minim.
Exemplu. Fie G=(X, U, l) un graf conex ponderat neorientat, ca n Figura 2.2,
X = 5 i U = 7 . Pe arce sunt trecute ponderile. S se construiasc un arbore de
acoperire de lungime (pondere) minim, folosind algoritmul lui Kruskal.

Modele i algoritmi de optimizare

22

16

16
15

14
19

17
3

10

18
4

15

14

10
5

Figura 2.2

Figura 2.3

Pas 1. Se consider V1={v1=[3,4]} deoarece l ([3,4]) = min{l (vi )} .


1 i 7

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

V3={[3,4]; [2,5]; [1,3]}.


k=4. Dintre muchiile rmase cea care are pondere minim i care nu formeaz
cicluri prin adugare la V3 este [1,2]. Se obine V4={[3,4]; [2,5]; [1,3]; [1,2]}
arborele de lungime minim. Lungimea minim a grafului este Lmin=l([3,4])+
l([2,5])+ l([1,3])+ l([1,2])=10+14+15+16=55 .
Algoritmul se ncheie furniznd arborele de acoperire de lungime minim V4
(Figura 2.3) i lungimea minim a arborelui gsit Lmin=55.

2.2.2. Algoritmul lui Prim


Algoritmul lui Prim determin arborele de acoperire de lungime minim
ntr-un graf conex ponderat G=(X, U, l) i, spre deosebire de algoritmul lui
Kruskal, nu cere ca ponderile a dou muchii diferite s fie diferite. Se noteaz
nodurile lui G cu numere de la 1 la n . Sunt folosii trei vectori de
dimensiune n astfel:
= ( 1 , 2 ,..., n ) , cu componentele

2. Grafuri n optimizare

23

1 dac nodul iniial i este n arbore


0 altfel ,

i =

j dac muchia [i, j ] este n arbore


p = ( p1 , p 2 ,..., p n ) , cu componentele pi =
0 pentru nodul iniial
l ([i, pi ]) ponderea muchiei [i, pi ]
,
c = (c1 , c 2 ,..., c n ) , cu componentele ci =
pentru nodul iniial
0

pentru i = 1, n .
Algoritmul Prim
Pas 1. Se iniializeaz cu 0 cei trei vectori. Se d nodul de start s ( 1 s n ) i
s = 1 ; A={ s } arborele parial.
Pas 2. Repet
Determin muchia [i,j], cu ponderea minim, care are o extremitate n
arborele parial, i A i cealalt j X A . Atunci j = 1 , pj=i i

cj=l([i,j]) .

pn cnd i = 1 () i = 1, n .
Pas 3. Arborele de acoperire de lungime minim este dat de muchiile [pi,i] , iar
n

lungimea minim este Lmin = ci . Stop!


i =1

Algoritmul furnizeaz arborele de acoperire de lungime minim prin nlocuirea


muchiilor unui arbore oarecare obinut cu vrfurile grafului G cu muchiile
arborelui de lungime minim.
Exemplu. S se aplice algoritmul lui Prim grafului din exemplul precedent.
Pas 1. s=1; A={1}
nodul

1
1

2
0

3
0

4
0

5
0

p
c

0
0

0
0

0
0

0
0

0
0

Pas 2.
Iteraia I: min{l([1,2]), l([1,3]), l([1,4])}= l([1,3])=15
nodul

1
1

2
0

3
1

4
0

5
0

p
c

0
0

0
0

1
15

0
0

0
0

Modele i algoritmi de optimizare

24

Iteraia a II-a: min{ l([1,2]), l([1,4]), l([3,2]), l([3,4]) , l([3,5]) }= l([3,4])=10


nodul

1
1
0
0

p
c

2
0
0
0

3
1
1
15

4
1
3
10

5
0
0
0

Iteraia a III-a: min{ l([1,2]), l([3,2]), l([3,5])}= l([1,2])=16


nodul

1
1
0
0

p
c

2
1
1
16

3
1
1
15

4
1
3
10

5
0
0
0

Iteraia a IV-a: min{ l([2,5]), l([3,5]) }= l([2,5])=14


nodul

p
c

1
1
0
0

2
1
1
16

3
1
1
15

4
1
3
10

5
1
2
14

i = 1 , i = 1,4 i se trece la pasul urmtor.


Pas 3. Arborele de acoperire de lungime minim este {[1,2]; [2,5]; [1,3]; [3,4]} i
are lungimea Lmin=55 .
Problema gsirii arborelui de acoperire de lungime minim este rezolvat n
Management Scientist de modulul Minimal Spanning Tree (arbore de acoperire de
lungime minim). Pentru aplicarea acestui modul exemplului de mai sus se
procedeaz astfel. Dup lansarea pachetului de programe se selecteaz modulul
Minimal Spanning Tree ca n Figura 2.4.

Figura 2.4

2. Grafuri n optimizare

25

Dup apsarea butonului OK apare o fereastr din care se selecteaz File i, de


aici, New. Apar succesiv ferestrele din Figura 2.5 n care se introduc numrul de
noduri, numrul de muchii i apoi muchiile i ponderile lor.

Figura 2.5

Pentru rezolvare i afiarea rezultatului se selecteaz Solution i, de aici, Solve.


Rezultatele sunt date de Figura 2.6 .

Figura 2.6

2.3. Algoritmul lui Dijkstra

Se pune adesea problema determinrii unui plan de transport printr-o reea


rutier (de transport) astfel nct cheltuielile de transport sau duratele de transport
s fie minime. Este necesar s se determine drumul cel mai scurt dintre dou
noduri oarecare ale reelei rutiere. Acest tip de problem se mai ntlnete i n
proiectarea reelelor de calculatoare, n stabilirea traseelor mijloacelor de transport
n comun etc. (Henry-Labordere, 1995).
Algoritmul lui Dijkstra permite calcularea lungimilor celor mai scurte drumuri
de la un vrf s la toate vrfurile x ale unui graf conex G=(X,U,l), dac lungimile
tuturor arcelor sunt nenegative.

Modele i algoritmi de optimizare

26

Fie (x) lungimea celui mai scurt drum de la s la x . Fie S mulimea


def

vrfurilor pentru care se calculeaz . Atunci, (x) = {lungimea celui mai scurt
drum de la s la x , care are toate vrfurile n S cu excepia lui x }. Se noteaz cu
+ (x) = {mulimea arcelor care pornesc din nodul x}, iar cu (x) = { mulimea
arcelor care intr n nodul x}. Dac graful este neorientat + (x) = ( x) = ( x) =
mulimea arcelor incidente n nodul x.
Algoritmul Dijkstra
Pas 1. {Iniializri}
S :={s} ; s nodul de start, (s) :=0 ;
Pentru orice x X S dac x (s ) atunci (x) :=l(s,x) altfel
(x) :=+ ;
Pas 2. {Iteraia curent}
Repet
Determin y X S astfel nct (y) = min (z) ;
zS

Dac (y)< atunci S := S { y} ;


Pentru z + ( y) (z) :=min {(z), (y)+l(z,y)} ;
pn cnd S=X sau (y)=.
Pas 3. Stop.
Se observ c valorile (z) rmn nemodificate pentru z S , lucru ce poate
fi exploatat n transpunerea pe calculator a algoritmului.
Exemplu. n Figura 2.7 sunt date 7 localiti numerotate de la 1 la 7 i timpul (n
ore) necesar parcurgerii distanei pe arterele care le leag. S se determine ruta pe
care se realizeaz timpul minim ntre localitile 1 i 7.
Rezolvare. Se aplic algoritmul Dijkstra grafului reprezentat de Figura 2.7.

4
1

4
2

Figura

7
1

2. Grafuri n optimizare

27

Pas 1. s=1, S={1}, (1) = {2,4} ,


y
(y)

1
0

2
1

4
4

Pas 2.
Iteraia I . { ( y )} = min { ( z )} = min{(2), (3), (4), (5), (6), (7)} = (2) ,
z X S

y=2, S={1,2}, (2) = {1,3,4} . (2)=l([1,2])=1


(3)=min{(3), (2)+l([2,3])}=min{,1+4}=5
(4)=min{(4), (2)+l([2,4])}=min{4,1+2}=3
y
(y)

1
0

2
1

3
5

4
3

Iteraia a II-a
( y ) = min { ( z )} = min{(3), (4), (5), (6), (7)} = (4) , y=4,
zX S

S={1,2,4},

(4) = {1,2,3,5,6} .
(3)=min{(3), (4)+l([3,4])}=min{5,3+5}=5
(5)=min{(5), (4)+l([4,5])}=min{,3+2}=5
(6)=min{(6), (4)+l([4,6])}=min{,3+9}=12
y
(y)

1
0

2
1

3
5

4
3

5
5

6
12

Iteraia a III-a
{( y )} = min {( z )} = min{(3), (5), (6), (7)} = (3) , y=3, S={1,2,3,4},
zX S

(3) = {2,4,5,6} .
(5)=min{(5), (3)+l([3,5])}=min{5,5+2}=5
(6)=min{(6), (3)+l([3,6])}=min{12,5+3}=8
y
(y)

1
0

2
1

3
5

4
3

5
5

6
8

Iteraia a IV-a
{( y)} = min {( z )} = min{(5), (6), (7)} = (5) , y=5, S={1,2,3,4,5},
z X S

(5) = {3,4,6,7} .
(6)=min{(6), (5)+l([5,6])}=min{8,5+6}=8
(7)=min{(7), (5)+l([5,7])}=min{,5+7}=12
y
(y)

1
0

2
1

3
5

4
3

5
5

6
8

7
12

Modele i algoritmi de optimizare

28

Iteraia a V-a

{( y)} = zmin
{( z )} = min{(6), (7)} = (6) , y=6,
X S

S={1,2,3,4,5,6},

(6) = {3,4,5,7} .
(7)=min{(7), (6)+l([6,7])}=min{12,8+1}=9
y

(y)

Iteraia a VI-a

{( y)} = zmin
{( z )} = min{(7)} = (7) , y=7,
X S

S={1,2,3,4,5,6,7},

Pentru nodurile din mulimea S ( y ) nu s-au mai evaluat (y).


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.
n Management Scientist modulul Shortest Route determin cel mai scurt
drum dintre dou noduri ale reelei i precizeaz muchiile care realizeaz acest
drum. Pentru rezolvarea problemei din exemplul precedent cu Management
Scientist, dup lansarea sistemului se selecteaz modulul Shortest Route (Figura
2.4) i se introduc datele n ferestrele prezentate n Figurile 2.8. i 2.9 .

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

2.4. Metoda PERT

Metoda PERT (Program Evaluation and Review Technique) sau CPM


(Critical Path Method metoda drumului critic) este un instrument pentru
gestionarea (planificarea i controlul) proiectelor mari cu multe activiti separate
care necesit coordonare. n realizarea unui proiect unele activiti trebuie s aib o
anume succesiune, altele se defoar n paralel. Tehnica PERT a fost conceput
pentru a oferi factorului de decizie un ajutor n planificarea i controlul unui astfel
de proiect. Ea permite stabilirea timpului necesar realizrii ntregului proiect,
asigurnd controlul evoluiei procesului i atrage atenia asupra acelor ntrzieri n
realizarea activitilor care ar determina o ntrziere n realizarea proiectului
(Bonini et al, 1997).

Modele i algoritmi de optimizare

30

Sunt necesare dou tipuri de informaii pentru fiecare activitate din proiect:
a) succesiunea activitilor care preced o activitate,
b) timpul necesar realizrii activitii, care poate fi determinist sau aleatoriu.
Diagrama activitilor este reprezentarea grafic a ntregului proiect (graf
orientat valuat). Activitile sunt arcele, iar nodurile, momentele de nceput i
sfrit ale activitilor.
Drumul critic este o mulime de activiti din proiect care are cea mai mare
durat de timp asociat.
Pentru prezentarea metodei se va considera un exemplu simplu n care duratele
activitilor sunt presupuse deterministe i cunoscute.
Exemplu. n Tabelul 2.1 sunt trecute activitile unui proiect i duratele lor. Graful
corespunztor este dat n Figura 2.11. n acest exemplu, pentru o nelegere mai
uoar, se vor nota activitile i duratele lor n noduri, sgeile indicnd
succesiunea activitilor.

Activitate
A
B
C
D
E
F

Talelul 2.1
Activitate
Timpul necesar
precedent
realizrii (n zile), ti
Nici una
2
A
3
A
4
B, C
6
Nici una
2
E
8

B3

A
2

D
6
C
4

STO
P

START

E
2

F
8
Figura 2.11

2. Grafuri n optimizare

31

Sunt posibile doar trei drumuri: l (ABD)=11 zile , l (ACD)=12 zile, l (EF)=10
zile. Drumul critic este cel care are cea mai mare durat, i anume ACD.
Lungimea drumului critic determin timpul minim n care proiectul poate fi
terminat.
Drumul critic este important pentru c arat c:
timpul necesar pentru realizarea complet a proiectului nu poate fi redus sub
valoarea dat de drumul critic,
orice ntrziere n realizarea activitilor de pe drumul critic va produce ntrziere
n realizarea proiectului.
Pentru reducerea duratei totale a proiectului trebuie reduse duratele activitilor
incluse n drumul critic.
Aflarea drumului critic
O cale de aflare a drumului critic este descris n continuare. Se noteaz cu:
DSi momentul cel mai devreme de ncepere a activitii i,
DFi momentul cel mai devreme de terminare a activitii i,
TSi momentul cel mai trziu de ncepere a activitii i,
TFi momentul cel mai trziu de terminare a activitii i.
Momentul cel mai devreme de ncepere a unei activiti este cel mai devreme
moment posibil la care acea activitate poate s nceap, presupunnd c toate
activitile care o preced au nceput la cel mai devreme moment posibil.
Momentul cel mai devreme de terminare a unei activiti este suma
momentului de nceput cel mai devreme posibil cu timpul necesar realizrii
activitii respective.
Momentul cel mai trziu de terminare a unei activiti reprezint cel mai trziu
moment posibil de terminare a activitii respective fr ntrzierea proiectului,
presupunnd c toate activitile sunt desfurate conform planului iniial.
Momentul cel mai trziu de ncepere a unei activiti este diferena dintre cel
mai trziu moment posibil de terminare a activitii respective i timpul necesar
realizrii acestei activiti.
Procedeu pentru determinarea momentelor DS , DF , TS i TF
1. Pentru prima activitate se ia DS egal cu zero. Dac se adaug la DS timpul t
necesar realizrii primei activiti se obine DF pentru prima activitate.
2. Pentru o activitate oarecare i, care pentru toate activitile care o preced imediat
are determinate DS i DF , se ia
DSi=max{DFk | activitatea k precede imediat activitatea i} i DFi=DSi+ti,
deoarece activitatea i nu poate ncepe pn cnd toate activitile care o preced
nu sau terminat.
3. Pentru ultima activitate se ia TF=DF al acestei activiti. Atunci TS=TFtn , tn
fiind timpul necesar realizrii ultimei activiti.
4. Pentru o activitate oarecare i, avnd pentru activitile care o succed imediat
determinate TS i TF , se ia
TFi=min{TSk | activitatea k succede imediat activitatea i} i TSi=TFiti,.

Modele i algoritmi de optimizare

32

Marja, M, a unei activiti reprezint numrul de zile cu care o activitate


poate ntrzia fr ca termenul de ncheiere al proiectului s fie afectat. Dup
determinarea valorilor DS, DF, TS, TF pentru toate activitile, se pot calcula
marjele ca fiind
Mi= DSi TSi sau Mi= DFi TFi .
Dac proiectul are termenul de finalizare egal cu lungimea drumului critic,
atunci orice ntrziere n realizarea unei activiti incluse n drumul critic va cauza
ntrziere n finalizarea proiectului. n schimb, activitile care au marja pozitiv
pot fi decalate cu un numr de zile egal cu marja, fr ca termenul de finalizare a
proiectului s se modifice.
Pentru exemplul de mai sus se consider c proiectul dureaz 12 zile i s-a luat
TF pentru activitatea D egal cu 12. n Tabelul 2.2 sunt trecute momentele DS,
DF, TS, M i TF pentru acest exemplu obinute n urma aplicrii procedeului de
mai sus.

Activitate
A
B
C
D
E
F

Tabelul 2.2
Durata D DF
S
2
0
2
3
2
5
4
2
6
6
6
12
2
0
2
8
2
10

TS

TF

0
3
2
6
2
4

2
6
6
12
4
12

0
1
0
0
2
2

Exemplul de mai sus poate fi rezolvat i cu ajutorul pachetului de programe


Management Scientist. Dup lansarea pachetului de programe se selecteaz
modulul PERT/CPM (Figura 2.4). Din fereastra care apare se selecteaz File, apoi
New i se precizeaz faptul c duratele activitilor sunt deterministe i numrul
acestor activiti, ca n Figura 2.12.

Figura 2.12

Se afieaz o fereastr n care se introduc duratele activitilor i activitile


care le preced imediat, ca n Figura 2.13. Activitile se codific folosind literele
alfabetului n ordine cresctoare. O activitate care precede o alta trebuie s fie deja
definit atunci cnd este definit ca preceden.

2. Grafuri n optimizare

33

Figura 2.13

Selectnd Solution, i de aici Solve, se obine soluia sub forma dat de


Figura 2.14.

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.

Modele i algoritmi de optimizare

34

n continuare se consider cazul, mai apropiat de realitate, cnd duratele


activitilor sunt aleatoare. Atunci, trebuie s se cunoasc despre aceste variabile
aleatoare care sunt densitile lor de probabilitate. n practic se cunosc anumite
date despre duratele activitilor, cum ar fi:
ai cea mai optimist durat pentru activitatea i,
bi cea mai pesimist durat pentru activitatea i,
mi cea mai probabil durat pentru activitatea i (modul repartiiei).
Repartiia Beta(a,b) ar putea caracteriza aceste durate deoarece este o
repartiie continu, unimodal i cu valori n intervalul (a,b). Un estimator pentru
1
valoarea medie a unei variabile aleatoare Beta(a,b) este t = (a + 4m + b ) i
6
1
pentru abaterea medie standard = (b a ) .
6
Pentru exemplul precedent, n Tabelul 2.3, sunt trecute duratele activitilor
cele mai optimiste, cele mai pesimiste, cele mai probabile (ca rezultat al
experienelor anterioare), estimrile duratelor medii, ale abaterilor medii ptratice
i ale dispersiilor.
Se caut drumul critic cu duratele activitilor ti i se obine acelai drum
critic (duratele medii ti coincid cu duratele activitilor n cazul determinist).

Activitate

ai

A
B
C
D
E
F

1
1
2
4
1
1

Tabelul 2.3
bi
mi ti
3
5
6
8
3
15

2
3
4
6
2
8

2
3
4
6
2
8

i2

0.33
0.67
0.67
0.67
0.33
2.33

0.11
0.45
0.45
0.45
0.11
5.43

Dac se presupune c duratele activitilor sunt variabile aleatoare independente,


atunci dispersia drumului critic ACD este suma dispersiilor activitilor
2
= 0.11 + 0.45 + 0.45 = 1.01 , iar abaterea medie standard
componente, adic ACD
este ACD = 1.01 = 1.005 .
Dac drumul critic conine multe activiti (peste 30) durata total poate fi
considerat repartizat normal. Se va considera i n acest caz repartiia duratei
drumului critic ca fiind N (12, 1.005) i atunci se poate s se determine
probabilitatea ca durata drumului critic s fie mai mic dect o valoare (de
exemplu, 14 zile), folosind tabela repartiiei normale standard, astfel:
T
14 12
P(T < 14) = F
= F
= F (2) = 0.977 .

1.005

2. Grafuri n optimizare

35

2.5. Probleme propuse


1. O firm de construcii are antiere n 6 locuri diferite. Transportul zilnic de oameni,
utilaje, materiale de la sediu la antiere i invers este destul de costisitor. Reeaua
artat n Figura 2.15 prezint strzile i distana dintre antiere i sediul firmei.
Nodurile reprezint antierele numerotate de la 1 la 6, iar muchiile, strzile. Numerele
de pe muchii reprezint distana n kilometri. Dac se dorete minimizarea distanei
dintre sediul firmei i antierul 6, care este drumul care trebuie parcurs i lungimea sa?
17
2

15

7
6

5
4

Sediul firmei (1)

4
10
4

Figura 2.15

R. Lmin=22 , obinut pe traseul D={[1,3], [3,5], [5,6], [6,7]} .


2. O firm de Internet Cafe trebuie s aib linii speciale pentru legarea
calculatoarelor instalate la cele 5 centre ale sale n diferite locuri din ora la
serverul central. Deoarece liniile sunt scumpe, proprietarul dorete ca lungimea
total a cablurilor folosite s fie minim. n Figura 2.16 sunt prezentate cele
5 centre i serverul central (n noduri), iar muchiile reprezint traseele posibile i
lungimile cablurilor ntre server i centrele firmei. S se stabileasc legturile care
s conduc la cel mai mic cost (lungimea total a cablurilor s fie minim).
2

5
4

2
5

4
3
Serverul
central (1)

1
4

4
2

6
Figura 2.16

R. Arborele

de acoperire

Modele i algoritmi de optimizare

36

de lungime minim este dat de muchiile {[1,2], [1,4], [4,6], [4,3], [4,5]} (Figura
2.17), iar lungimea minim a cablurilor este de Lmin=11.
3
3

2
6

2
2
Figura 2.17

3. Trebuie s se construiasc o autostrad care s treac prin apropierea localitilor


notate n Figura 2.18 cu numere de la 1 la 14.
8

11
2

5
8

2
8

11

3
12

2
1

3
3

10

6
4

7
8

14

13

4
11

Figura 2.18

Costurile (lucrrilor propriu-zise, lucrrilor de art, de expropriere, sociale etc.)


sunt trecute pe muchiile acestui graf.
S se stabileasc traseul autostrzii care unete localitile 1 i 14 i care s
implice costuri minime (Kaufmann, 1967).
R. Traseul de cost minim care leag localitatea 1 de localitatea 14 trece prin
localitile 1, 3, 5, 9, 12, 14 i cost 19 u. m (uniti monetare).
4. Fie un proiect ale crui date sunt trecute n Tabelul 2.4.
Tabelul 2.4

2. Grafuri n optimizare

37

Activitate
A
B
C
D
E
F

Activitate
precedent
Nici una
A
Nici una
B, C
B
D, E

Timpul necesar
realizrii (n zile), ti
5
4
7
3
4
2

a) S se traseze diagrama grafului asociat proiectului.


b) S se calculeze DS, DF, TS, TF pentru fiecare activitate, presupunnd c DF
i TF pentru ultima activitate coincid.
c) S se precizeze activitile incluse n drumul critic.
R. a) Diagrama grafului asociat este dat n Figura 2.19.

B4
E4

F2

Figura 2.19

b) n Tabelul 2.5 sunt trecute valorile corespunztoare. Durata proiectului este de


15 zile.

Activitate
A
B
C
D
E
F

Tabelul 2.5
DS
DF
0
5
5
9
0
7
9
12
9
13
13
15

TS
0
5
3
10
9
13

TF
5
9
10
13
13
15

c) Drumul critic este format din activitile A, B, E, F.


5. n problema 4 se consider c timpul necesar realizrii activitii C este de
9 zile.

Modele i algoritmi de optimizare

38

a) S se precizeze dac se modific drumul critic n acest caz.


b) Dar dac activitii C i sunt necesare 11 zile, se modific drumul critic?
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.
6. Un depozit angro dorete s se modernizeze i s se extind. Activitile
necesare sunt trecute n Tabelul 2.6 . S se stabileasc durata minim i care sunt
activitile critice ale acestei iniiative.

Activitate
A
B
C
D
E
F
G
H
I

Tabelul 2.6
Activitate
Descriere activitate
precedent
Proiectul de arhitectur
Nici una
Identificarea chiriailor poteniali
Nici una
Dezvoltarea prospectului
A
Selectarea antreprenorului
A
Pregtirea autorizaiei de
A
construcie
Obinerea autorizaiei de
E
construcie
Construcia
D,F
Finalizarea contractelor cu
B,C
chiriaii
Instalarea chiriailor
G,H

Timpul necesar
Realizrii (n sptmni), ti
5
6
4
3
1
4
14
12
2

R. Activitile critice sunt A, E, F, G, I, iar durata minima a iniiativei este de


26 sptmni.
7. Se consider un proiect avnd datele despre activiti trecute n Tabelul 2.7

Activitate
A
B
C
D
E

Tabelul 2.7
Activiti
precedent ai
e

6
A
1
C
1
B
6

bi

mi

6
10
15
9
10

4
8
5
5
8

unde:
ai cea mai optimist durat pentru activitatea i,
bi cea mai pesimist durat pentru activitatea i,

2. Grafuri n optimizare

39

mi cea mai probabil durat pentru activitatea i (modul repartiiei).


a) S se calculeze timpul mediu ti i dispersia i2 pentru timpul necesar realizrii
fiecrei activiti.
b) S se traseze diagrama grafului asociat. Care este lungimea medie a drumului
critic?
c) Presupunnd c duratele activitilor drumului critic sunt independente i c
durata drumului critic este repartizat normal, s se calculeze probabilitatea ca
durata drumului ACD s fie mai mic dect 16 zile.
d) Care este probabilitatea ca proiectul s se termine n mai puin de 16 zile ?

R. a) Media duratelor i dispersia sunt trecute n Tabelul 2.8.


Tabelul 2.8
Activitate ti
i2
A
B
C
D
E

4
8
6
5
8

0.44
0.44
5.44
1.78
0.44

b) Diagrama asociat grafului este dat de Figura 2.20

A4

C6

D5

STO

STAR

B8

E
Figura 2.20

Lungimea drumului critic este 16 zile.


c) Pentru drumul ACD lungimea medie este 15 zile, iar dispersia este
0.44+5.44+1.78=7.67 , iar abaterea medie ptratic este 2.77 .
16 15
P(TACD < 16) = F
= 0.64 .
2 77
Pentru drumul BE dispersia este de 0.44+0.44=0.88 , iar abaterea medie ptratic
este 0.94 .

40

Modele i algoritmi de optimizare

16 15
P (TBE < 16) = F
= 0.50.
0,94

2. Grafuri n optimizare

41

d) Probabilitatea ca durata proiectului s fie mai mic de 16 zile este


P (T proiect < 16 ) = 0.64 0.50 = 0.32 .
8. Exploatarea unei cariere implic urmtoarele aciuni:
construirea drumurilor de acces (A)
cumprarea i livrarea utilajelor de excavare pentru nlturarea zonei fertile (B)
angajarea de personal: conductori de utilaje i mineri (C)
adncirea excavaiei (D)
pregtirea minerilor angajai n mineritul de suprafa (E).
Restriciile impuse de ordinea aciunilor:
excavarea nu poate ncepe dect dac:
utilajele au fost livrate;
conductorii de utilaje au fost angajai.
n Tabelul 2.9 sunt date duratele i condiionrile aciunilor acestui proiect.
Tabelul 2.9
Activitate

Activitate
precedent

Timpul necesar
realizrii (n luni), ti

A
B
C
D
E

Nici una
Nici una
Nici una
A, B, C
C

10
4
8
5
6

a) S se traseze diagrama grafului asociat proiectului.


b) S se calculeze DS, DF, TS, TF i marja pentru fiecare activitate, presupunnd
c DF i TF pentru ultima activitate coincid.
c) S se precizeze lungimea drumului critic i activitile incluse n drumul critic.
R. a) Diagrama este dat de Figura 2.21.

B4

STAR

D5

STO

A1

C8

E6
Figura 2.21

Modele i algoritmi de optimizare

42

b) Valorile cerute sunt coninute n Tabelul 2.10.

Activitate
A
B
C
D
E

Tabelul 2.10.
DS
DF
0
10
0
4
0
8
10
15
8
8

TS
0
6
2
10
15

TF
10
10
10
15
15

M
0
6
2
0
7

c) Drumul critic conine activitile A, D i are lungimea 15.


9. O firm productoare de aspiratoare i propune s introduc n fabricaie
aspiratoare portabile. Pentru aceasta iniiaz un proiect ale crui activiti i durate
sunt trecute n Tabelul 2.11 .
Tabelul 2.11
Activitate

A
B
C
D
E
F
G
H
I
J

Descriere activitate
Proiectarea
produsului
Cercetarea pieei de
defacere
Stabilirea procesului
tehnologic
Construirea
prototipului
Pregtirea brourii cu
instruciuni de
folosire
Estimarea costurilor
Testarea prototipului
Inspectarea pieei
Stabilirea preului i
estimarea vnzrilor
Raportul final

Activitate
precedent

Durata
realizrii (n sptmni)
cea mai
cea mai
cea mai
pesimist
probabil
optimist

Nici una

12

Nici una

1.5

11

C
D
B, E

1.5
1.5
2.5

2
3
3.5

2.5
4.5
7.5

1.5

2.5

F, G, I

S se precizeze activitile critice, duratele: cea mai optimist, cea mai probabil i
cea mai pesimist de realizare a acestui proiect.
R. Activitile critice sunt A, E, H, I, J i duratele cea mai optimist 14.28 , cea
mai probabil 17 i cea mai pesimist 19.72 .

3. PROGRAMARE CONVEX

3.1. Mulimi i funcii convexe


n acest capitol sunt prezentate cteva noiuni i rezultate (Fletcher, II, 1981) pe
care se bazeaz metodele i algoritmii urmtoarelor trei capitole.
Definiia 3.1. O mulime K R n se numete convex dac
() [0, 1] , atunci
x = (1 )x 0 + x1 K
sau, n general: ( )x 0 , x1 ,..., x m K , atunci
m

x = i x i K ,
i =0

() i [0,1]

i =0

( )x 0 , x1 K

(3.1)

=1

(3.2)

Definiia 3.2. x din Definiia 3.1 se numete combinaia liniar a punctelor x0,
x1 etc.
Definiia 3.3. Fie x 0 , x1 , ..., x n K . Mulimea punctelor x date de (3.2) se
numete nfurtoarea convex a mulimii {x 0 , x1 ,..., x n } .
Exemple de mulimi convexe: mulimea format dintr-un singur punct, o dreapt,
n

un segment de dreapt, un hiperplan (adic x R n ai xi = b ), un semiplan


i =1

(adic x R n ai xi b ), o bil nchis de centru a i raz r,


i =1

2
Br (a) = x R n x a 2 r = x R n (xi ai ) r ,

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.

Modele i algoritmi de optimizare

44

Demonstraie. Fie

() i = 1, m .

( )x 0 , x1 K ,

Atunci x
intersecia lor.

atunci rezult c x 0 , x1 K i

pentru

dat de (3.2) este n fiecare mulime Ki , deci i n

Consecina 3.1. Mulimea punctelor admisibile ntr-o problem de programare


(1.1) cu restricii liniare este o mulime convex.
Definiia 3.4. Fie K R n , o mulime convex. x se numete punct de extrem
pentru K dac, avnd x=(1 ) x0+ x1 , x 0 , x1 K i (0, 1) , atunci rezult
c x=x0=x1, sau, altfel spus, x nu cade n interiorul nici unui segment din K.
Exemple: vrfurile unui poligon regulat, punctele circumferiei unui cerc sunt
puncte de extrem pentru poligon, respectiv disc.
Definiia 3.5. Fie K R n , o mulime convex i f : K R
o funcie
continu. Funcia f se numete convex dac ( )x 0 , x1 K are loc relaia
f ((1 ) x 0 + x1 ) (1 ) f ( x 0 ) + f ( x1 ) , ( ) [0, 1] .
(3.3)
Dac f este difereniabil pe K i K este deschis, atunci se poate da
urmtoarea definiie a funciei convexe.
Definiia 3.5. Funcia f este convex pe K dac ( )x 0 , x1 K are loc relaia
f ( x1 ) f ( x 0 ) + ( x1 x 0 )' f ( x 0 )
(3.4)
unde cu prim s-a notat transpunerea, iar f este gradientul lui f.
Exerciiu. S se demonstreze echivalena Definiiilor 3.5 i 3.5.
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.
Definiia 3. 5 . Fie

f : K R , o funcie dublu difereniabil pe K, mulime

deschis i convex n R n. Funcia f este convex dac d 2 f ( x 0 ) este pozitiv


semidefinit (Definiia 6.2) pentru ( )x 0 K .
Definiia 3.6. Fie K R n , o mulime convex i f : K R o funcie continu.
f se numete strict convex dac
f ((1 ) x 0 + x1 ) < (1 ) f ( x 0 ) + f ( x1 ) , ( ) (0, 1) , x 0 x1
(3.4)

3. Programare convex

45

Definiia 3.7. Fie K R n , o mulime convex i f : K R


o funcie
continu. f se numete concav dac f este convex i f se numete strict
concav dac f este strict convex.
Exemple de funcii convexe: funciile liniare (sunt i concave), funciile ptratice
1
de forma f ( x ) = x ' Cx + c ' x + c 0 , unde C este o matrice pozitiv semidefinit
2
(xCx0 , ).
Lema 3.2. Fie

K Rn,

o mulime convex i funciile convexe

f i : K R , i = 1, m . Dac i 0 , i = 1, m , atunci

f = i f i

este o funcie

i =1

convex pe K.

3.2. Extreme condiionate

Problema minimizrii unei funcii convexe f pe o mulime convex K se


numete problema de programare convex i se poate scrie sub forma
min f ( x )
(3.6)
x R = x R n g ( x ) 0 , i = 1, m
i

unde: f i gi sunt funcii convexe pe Rn .

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] .
convexitatea lui g avem
g ( x ) (1 ) g ( x 0 ) + g ( x1 ) (1 ) a + a = a , adic g ( x ) R ( a ) .

Din

Vom nota R (0) = R . Mulimea R se mai numete i domeniul problemei


de programare convex (3.6) sau mulimea soluiilor admisibile (regiunea
realizabil) pentru problema de programare convex (3.6).
Consecina 3.2. Regiunea realizabil R dat de (3.6) este o mulime convex.
Definiia 3.8. Fie K R n , o mulime nevid i o funcie f : K R .

Modele i algoritmi de optimizare

46

Punctul x * K este un maxim (minim) global pentru f pe K dac pentru


()x K avem f ( x ) f( x * ) f ( x) f ( x * ) .

Punctul x K este un maxim (minim) local sau relativ pentru f dac ()r > 0
astfel nct pentru
*

()x Br ( x* ) = {x R n

avem

x - x* < r K

f ( x ) f( x * ) f ( x ) f ( x * ) .
Un minim global (local) pentru problema (3.6) se numete soluie global (local)
pentru problema (3.6) .

Teorema 3.1. Orice soluie local x* a unei probleme de programare convex


(3.6) este o soluie global i mulimea soluiilor globale, R, este convex.
Demonstraie. Fie x* o soluie local pentru problema (3.6), dar nu global.
Atunci ()x1 R astfel nct f ( x1 ) < f ( x * ) . Pentru [0, 1] se consider

x = (1 ) x * + x1 R
(din convexitatea lui R ). Din convexitatea lui f rezult

f ( x ) (1 ) f ( x * ) + f ( x1 ) = f ( x * ) + f ( x1 ) f ( x * ) < f ( x * ) .
Pentru suficient de mic, x se afl n vecintatea lui x i inegalitatea de
mai sus contrazice proprietatea de optim local a lui x*. Astfel, soluia local este i
global.
*

Pentru a arta c R este convex, se consider


x 0 , x1 R i [0, 1] , x = (1 ) x 0 + x1 .
Deoarece x0 , x1 sunt soluii globale, au loc relaiile
f(x0)=f(x1) i f ( x ) (1 ) f ( x0 ) + f ( x1 ) = f ( x0 ) ,
adic f ( x ) = f ( x 0 ) i astfel x R , ceea ce arat c R este convex.
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

Teorema 3.2. n problema (3.6) dac f i gi, i = 1, m sunt de clas C1(R ) i


dac
xL ( x * , * ) = 0 , gi ( x* ) = 0 , i E ; g j ( x* ) 0 , j I ;
(3.7)
j * 0, j I ; i * g i ( x * ) = 0 ; ()i E I
unde : L ( x , ) = f ( x ) + i g i ( x ) este funcia lagrangian, E

este mulimea

indicilor restriciilor egaliti, I este mulimea indicilor restriciilor inegaliti


din (3.7), atunci x* este o soluie global pentru problema (3.6).
Demonstraie. Fie x R , x x * . Atunci, deoarece 0 i g ( x ) 0 , f i
m

g sunt convexe, din ipotez avem c f ( x * ) + *i g i ( x * ) = 0 , *i g i ( x * ) = 0


i =1

i, innd cont i de relaia (3.4), avem


m

f ( x ) f ( x ) + *i g i ( x ) f ( x * ) + ( x x * )f ( x * ) +
i =1

+ *i g i ( x * ) + x x * g i ( x * ) =

i =1
m

= f ( x * ) + ( x x * ) f ( x * ) + *i g i ( x * ) = f ( x * ) .
i =1

*
*
Aadar, f ( x ) f ( x ) i astfel x este soluie global.
m

Definiia 3.9. O restricie inegalitate g i ( x ) 0 se numete activ ntr-un punct


admisibil x* dac g i ( x * ) = 0 i inactiv dac g i ( x * ) < 0 .
Urmtoarea teorem afirm c optimalitatea unei soluii a problemei de
programare convex (3.6) nu se modific dac se nltur restriciile pe care soluia
le transform n inegaliti stricte.
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 * ) .

Modele i algoritmi de optimizare

48

Mai nti s artm c x R , adic este un punct admisibil pentru problema


(3.6). Din convexitatea funciilor g i , i = 1, m , pentru orice (0, 1) avem

()
( )
g ( x ) g (x ) + (1 )g (x ) < 0 , () j E

g i ( x ) g i x + (1 )g i x * 0 , ()i E * i

()

( )

deoarece g j x 0 , g j x* < 0 , () j E * . Din convexitatea funciei f i din


(3.8) rezult

()

( ) ( )

(3.9)
f ( x ) f x + (1 ) f x * < f x *
*
Inegalitatea (3.9) este n contradicie cu proprietatea punctului x de a fi
soluie optim pentru problema (3.6). Aadar, un astfel de punct x nu exist.

Convenim ca orice restricie (3.6) cu egalitate, n punctele admisibile este o


restricie activ. Restriciile active ntr-un punct admisibil x restrng domeniul de
admisibilitate n vecintatea punctului x , n timp ce restriciile inactive nu au
influen n vecintatea punctului x . Aadar, n studiul proprietilor unui extrem
local atenia se poate concentra numai asupra restriciilor active. Dac s-ar cunoate
care restricii sunt active pentru rezolvarea problemei (3.6), soluia ar fi un minim
local al problemei obinute din (3.6) prin ignorarea restriciilor inactive i tratarea
restriciilor active ca egaliti. Astfel, pentru soluii locale, problema (3.6) poate fi
privit numai cu restricii egaliti.
Definiia 3.10. Un punct x * K care satisface restriciile g i ( x ) = 0 , i E

se

numete regulat dac vectorii g i ( x ) , i E sunt liniar independeni.


*

3.2.1. Cazul restriciilor egaliti


Acest caz reprezint bine cunoscuta problem a extremelor cu legturi (sau
extreme condiionate).
Teorema 3.4. n problema (3.6) considerm c gi(x)=0, i = 1, m i c f i gi
sunt difereniabile, iar matricea jacobian
g 1 ( x * )
g 1 ( x * )

L
x n
x1

J =
O
g ( x * )
*
g m ( x )
m
L
x
x n
1

3. Programare convex

49

are n x* rangul m , x* fiind un punct regulat care realizeaz un minim local.


Atunci exist numerele

m R ,

asfel nct

f ( x * ) + *i g i ( x * ) = 0 .
i =1

Numerele 1 ,..., m se numesc multiplicatorii lui Lagrange.

3.2.2. Cazul restriciilor inegaliti


Un rol esenial n rezolvarea problemei (3.6) cu I l au condiiile KuhnTucker.
Pentru demonstrarea condiiilor Kuhn-Tucker (cunoscute i sub denumirea de
condiii optimale de ordinul I) avem nevoie de lema Farkas-Minkowski a crei
demonstraie o omitem (Henry-Labordere, 1995).
Lema 3.4. (Farkas-Minkowski) Fie A M m,n (R ) , rang ( A) = m i presupunem
c
()x R m Ax 0 i c x 0 .
Atunci exist multiplicatorii i 0 , i = 1, n

forma c = A t , unde = (1 ,2 ,..., n ) .

astfel nct vectorul c se scrie sub

Definiia 3.11. Fie un punct x * R de extrem local (global) pentru problema


x , x ( k ) x = (k) s ( k ) , iar
(3.6) i un ir x ( k ) k 1 R astfel nct x ( k ) k

( )

( )

s ( k ) = 1 , ( k ) > 0 . Vectorul

s = lim s ( k )
k

se numete direcie admisibil

(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
(3.10)
Ca = Ct .
Se poate demonstra urmtoarea propoziie (Fletcher, 1981).
Propoziia 3.1. Ipoteza de calificare a restriciilor (3.10) are loc dac :
i) restriciile cu indicele i E * sunt liniar independente, sau
ii) vectorii g i ( x * ) , i E * sunt liniar independeni.

Modele i algoritmi de optimizare

50

Considerm c :
E , I i E+I=mn ,
x* punct admisibil d un minim local,
f, gi sunt difereniabile i
vectorii g i ( x * ) , i E g j ( x * ) g j ( x * ) = b j , j I

} {

} sunt independeni.

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)
g ( x * )
g ( x * )
f ( x * )
+ k k
+ k k
= 0 , ()i = 1, n
xi
xi
xi
kE
kI
(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) .

Se observ c pentru suficiena condiiilor Kuhn-Tucker nu mai este necesar


ipoteza calificrii restriciilor.
n capitolele 4, 5 i 6 funciile obiectiv sunt cazuri particulare de funcii
convexe, iar restriciile sunt liniare, deci convexe. Algoritmii prezentai n aceste
capitole se bazeaz pe particularitile fiecrui tip de problem.

4. PROGRAMARE LINIAR

4.1. Exemple de probleme de programare liniar


4.1.1. Utilizarea optim a resurselor
Un manager de agent economic trebuie s rezolve destul de des urmtoarea
problem (Zidroiu, 1983):
Resursele pe care le are la dispoziie (materie prim, for de munc, mainiunelte, resurse financiare etc.) sunt n cantiti limitate. Fie i numrul de ordine al
resursei i fie bi cantitatea disponibil din resursa i. Cu ajutorul acestor resurse se
pot desfura mai multe activiti (de exemplu: procese de producie).
Fie j numrul de ordine al activitii desfurate i fie xj nivelul (necunoscut)
la care trebuie s se desfoare aceast activitate. De exemplu, pentru procesul de
producie j, care const n fabricarea unui anumit produs, se noteaz cu xj
cantitatea ce va fi produs. Fie aij cantitatea din resursa i necesar producerii
unei uniti din produsul j. Se presupune c ai j nu depinde dect de tipul resursei
(i) i de tipul produsului realizat (j) i nu de cantitile produse, ceea ce constituie
evident o simplificare a situaiei reale.
Cu aceste notaii se pot determina mrimile urmtoare:
cantitatea din resursa i folosit pentru producerea cantitii xj, care este aij xj;
cantitatea total din resursa i folosit pentru producia total format din n
produse:
ai1 x1+ai2 x2+...+ain xn .
Deoarece nu se poate consuma din resursa i mai mult dect cantitatea de care
se dispune, trebuie s fie respectate condiiile:
ai1 x1+ai2 x2+...+ain xn bi , () 1 i m,
sau
n

a
j =1

ij

x j bi , i{1, 2,..., m}.

(4.1)

xj reprezentnd cantitatea ce trebuie produs din sortimentul j, ea nu poate fi


un numr negativ:
(4.2)
xj 0, j{1, 2,..., m}.
Inecuaiile (4.1) se numesc restriciile problemei, iar (4.2), condiiile de
nenegativitate.

Modele i algoritmi de optimizare

52

Sistemul de inecuaii liniare (4.1) i (4.2) poate avea o infinitate de soluii, o


soluie sau nici una. Pentru problemele corect puse, cel mai frecvent este cazul cu o
infinitate de soluii.
Adoptarea unei variante de plan (luarea unei decizii) se face pe baza unui
criteriu economic, ca de exemplu venitul sau profitul s fie maxim.
Dac se noteaz cu cj preul de vnzare al unei uniti din produsul j i cu dj
costul unitar pentru acelai produs (se presupune, pentru simplificarea problemei,
c att preul de vnzare ct i costul nu depind de cantitatea produs, ceea ce nu
n

prea este n concordan cu realitatea), atunci venitul total va fi:

c
j =1

cheltuielile de producie

d
j =1

c
j =1

x j , iar

x j , i deci profitul obinut va fi:

j =1

j =1

j x j d j x j = (c j d j )x j

(4.3)

Problema care se pune acum este de a determina acea variant de plan, adic
acea soluie a sistemului de inegaliti (4.1), (4.2) care d pentru profitul (4.3)
valoarea maxim. n acest moment, din acea problem economic s-a obinut
urmtoarea problem matematic:
n

max
(c j d j ) x j

n j =1

(4.4)
a ij x j bi
j =1
x j 0

Aceasta este o problem de programare liniar, sau program liniar.

4.1.2. Problema de transport


Se consider c exist m centre de aprovizionare (depozite) i n centre de
consum (puncte de lucru, uzine, magazine etc.). Se pune problema s se determine
un plan de transport pentru un produs omogen care se afl n cantitatea ai la
depozitul i (1 i m) i este cerut n cantitatea bj la centrul j (1 j n). Se
noteaz cu xij cantitatea necunoscut ce va fi transportat de la depozitul i la
centrul de consum j i cu cij costul transportului unei uniti din produsul
considerat de la depozitul i la centrul j (pentru simplificare se presupune c acest
cost unitar nu depinde de cantitatea transportat pe ruta respectiv).
Se pot exprima atunci urmtoarele mrimi:
cantitatea cerut de la depozitul i la toate cele n centre de consum
(4.5)
ai = xi1 + xi2 + ... + xin = cantitatea aflat la depozitul i,
cantitatea transportat de la toate cele m depozite la centrul de consum j

4. Programare liniar

53

bj = x1j + x2j + ...+ xmj = necesarul la centrul de consum j,


(4.6)
costul transportului de la depozitul i la centrul de consum j este cijxij.
O condiie evident este
(4.7)
xij 0, 1 i m, 1 j n .
Costul total al transportului de la toate cele m depozite la toate cele n centre
de consum este
m

c
i =1 j =1

ij

xij .

Pentru a putea efectua transportul este necesar ca


n

a = b
i

i =1

j =1

egalitate numit i condiia de balansare sau de echilibru.


Sistemul de ecuaii (4.5), (4.6) are o infinitate de soluii. Dintre acestea trebuie
alese cele care dau costului total de transport valoarea minim. Se obine astfel un
program liniar:
m

min c ij x ij

(4.8)

i =1 j =1

x
j =1

ij

= ai , 1 i m

(4.9)

ij

= bj , 1 j n

(4.10)

x
i =1

xij 0,
1 i m, 1 j n,
care se numete program de transport.

(4.11)

Programe liniare de acelai tip pot s apar i n urmtoarea situaie.


Trebuie aprovizionat un grup de uzine dirijate de un centru comun, avnd la
dispoziie m centre de aprovizionare, n puncte de consum i se cere determinarea
unui plan de transport (xij), 1 i m, 1 j n, care s minimizeze cheltuielile
totale de transport:
m

min c ij x ij ,

(4.12)

i =1 j =1

n condiiile
n

x
j =1

ij

x
i =1

xij 0,

ij

ai , 1 i m

(4.13)

bj , 1 j n

(4.14)

1im,

1 j n,

(4.15)

Modele i algoritmi de optimizare

54

unde ai , 1 i m, sunt capacitile centrelor de depozitare, bj , 1 j n, sunt


cantitile necesare uzinelor, iar cij este costul unitar de transport de la depozitul i
la uzina j. Pentru a avea soluii trebuie ca
m

a b
i =1

j =1

Problema se poate pune i invers, considernd problema unui plan de transport


de la mai multe uzine i la punctele de desfacere j.
Dac ai , 1 i m, reprezint acum capacitile de producie ale uzinelor, bj ,
1 j n, capacitile de depozitare ale punctelor de desfacere, se obine un model
similar n care grupurile de inecuaii (4.13), (4.14) i schimb sensul.

4.1.3. Alocarea optim a fondurilor financiare


Avnd la dispoziie o sum total S care poate fi investit n diverse activiti
j, 1 j n, fiecare producnd un anumit profit unitar aj , 1 j n, se pune
problema determinrii sumei xj , 1 j n, investit pentru activitatea j, astfel
nct s se obin un profit maxim, adic:
n

max a j x j

(4.16)

j =1

n condiiile:
n

x
j =1

xj 0,

=S

1jn.

(4.17)
(4.18)

Problema mai poate fi complicat dnd anumite reguli suplimentare n legtur


cu posibilitatea de investiie, cu existena unui risc al investiiilor i neliniaritatea
profitului total.

4.1.4. Gestionarea optim a unui depozit


S considerm problema funcionrii unui depozit care cumpr i vinde un
anumit produs cu scopul maximizrii profitului pe o anumit durat de timp.
Depozitul are o anumit capacitate fix S i un cost unitar de stocare h . Preul
produsului fluctueaz de-a lungul perioadei de analiz, dar pe durata unei uniti de
timp preul de achiziie i preul de vnzare sunt aceleai. Depozitul este iniial gol
i trebuie s rmn gol la sfritul perioadei de analiz.
Modelarea problemei. Fie

4. Programare liniar

xi
di
bi
pi

55

stocul din depozit la nceputul perioadei i,


cantitatea achiziionat n perioada i,
cantitatea vndut n perioada i i
preul pe perioada i.
Dac sunt n intervale de timp avem:
n

max ( pi bi hxi )
i =1

xi +1 = xi + d i bi , i = 1, n 1

xn + d n bn = 0

xi + d i S
x = 0 , x , d , b 0
i
i
i
1

(4.19)

Se obine astfel o problem de programare liniar.

4.1.5. Problema dietei

Se presupune c exist n alimente diferite, cu preul unitar ci pentru


alimentul i, din care trebuie s se pregteac o diet. Dieta trebuie s conin
zilnic m ingrediente nutritive i din fiecare ingredient j, minimum bj uniti. Se
presupune c o unitate din alimentul i conine aji uniti din ingredientul j. S
se determine cea mai economic diet care satisface minimul nutriional cerut.
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
b1
a11 x1 + a12 x 2 + ... + a1n x n
a x + a x + ... + a x
b2
22 2
2n n
21 1

M
M

a x + a x + ... + a x b
m2 2
mn n
m
m1 1
x i 0 , i = 1, n
Problema care a rezultat este tot o problem de programare liniar. Acelai tip
de problem poate aprea n realizarea amestecurilor de tip mortar, beton etc.

Modele i algoritmi de optimizare

56

4.2. Diferite forme ale problemelor de programare liniar


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

1
2
3
(4.20)
A21 x + A22 x + A23 x = b2
1
2
3
A x + A x + A x b
32
33
3
31
1
2
3
x 0, x oarecare, x 0
unde x1 este vectorul variabilelor asupra crora se impun condiii de
nenegativitate, x2 vectorul variabilelor asupra crora nu se impun condiii de
semn, x3 vectorul variabilelor asupra crora se impun condiii de nepozitivitate,
Aij submatrice a matricei A , ale crei elemente sunt coeficienii componentelor
vectorului xj , iar bi sunt subvectori ai vectorului b (1 i, j 3) . Prin x 0 se
va nelege c fiecare component a vectorului x este nenegativ.
Se spune c o problem are forma standard dac toate restriciile sunt ecuaii
i tuturor variabilelor li se impun condiii de nenegativitate
min(max)c x

Ax = b
x 0
(4.21)

cx = ci xi
i =1

Se spune c o problem are forma canonic dac toate restriciile sunt inegaliti
de acelai sens i tuturor variabilelor li se impun condiii de nenegativitate
min c x

(4.22)
Ax b
x 0

max c x

Ax b
x 0

(4.22)

Observaia 4.1. Orice problem de forma (4.20) poate fi adus la forma standard
(4.21) sau forma canonic (4.22) folosind urmtoarele transformri:
i) transformarea maximului n minim i invers se bazeaz pe urmtoarea
egalitate:
max f ( x ) = min{ f ( x )}
xX

xX

ii) transformarea sensului unei inegaliti se realizeaz prin nmulirea cu 1

4. Programare liniar

57

iii) o variabil x creia nu i se impun condiii de semn se nlocuiete cu


diferena a dou variabile nenegative
x = x1x2 , x1 0 , x2 0
iv) o variabil x 0 se nlocuiete cu o variabil nenegativ x
v) transformarea ecuaiilor n inecuaii
a x b
a x = b
a x b
vi) transformarea inecuaiilor n ecuaii
a'x b se poate scrie ca o ecuaie
a'x+y=b,
introducnd o variabil y 0 numit variabil ecart;
a'x b se poate scrie ca o ecuaie
a' x y=b, y 0.
Variabilele ecart nu apar n funcia obiectiv (sau apar cu coeficieni nuli).

4.3. Algoritmul simplex

Acest algoritm (datorat lui G. B. Dantzig, 1951) se aplic problemelor de


programare liniar sub forma standard. Sunt necesare cteva noiuni de baz pentru
prezentarea algoritmului (Zidroiu, 1983).
Fie sistemul de ecuaii Ax = b, AMm,n(R), rang A = m. Fie BMm,n(R) o
matrice ptratic nesingular extras din A i notm xB vectorul variabilelor
corespunztoare coloanelor lui B. Notm cu S partea din matricea A care mai
rmne i cu xS variabilele corespunztoare. Sistemul Ax = b devine:
B
[BS ] x S = b sau BxB + SxS = b.
(4.23)
x
Astfel, n (4.23) lum xB variabile principale i celelalte xS , variabile
secundare i avem
(4.24)
xB = B1bB1S xS .
Anulnd variabilele secundare avem
(4.25)
xB = B1b , xS=0.
O astfel de soluie se numete soluie de baz (deoarece B fiind nesingular,
coloanele sale constituie o baz n R m).
Variabilele principale se numesc variabile de baz.
Se numete soluie nedegenerat o soluie de baz care are exact m
componente nenule.
Se numete soluie degenerat o soluie de baz care are i componente nule.
Se numete soluie admisibil sau program o soluie a sistemului de ecuaii
i inecuaii (4.1) ce verific i condiia de nenegativitate (4.2).
Notm R = {x R n x program}, z* = min{c'xx Rn } .

58

Modele i algoritmi de optimizare

Convenim s punem z* = + dac R = .


Dac z* = , spunem c problema are optim infinit.
Dac z* este finit, atunci x* R cu proprietatea c z* = c' x* se numete
soluie optim sau program optim.
Notm cu R * mulimea soluiilor optime.
Soluia de baz a problemei de programare liniar sub forma standard se
numete program de baz (x = 0 este program de baz dac x=0 este program).
Teorema fundamental a programrii liniare st la baza algoritmului simplex
(Luenberger, 1989).
Teorema 4.1.
(i) Dac problema de programare liniar sub forma standard (4.21) are un
program, atunci are cel puin un program de baz.
(ii) Dac problema de programare liniar sub forma standard (4.21) are un
program optim, atunci are i un program de baz optim.
Demonstraie.
(i) Se noteaz coloanele matricei A cu a1, a2, , an i se presupune c x=(x1, x2,
, xn) este o soluie admisibil i atunci are loc relaia
x1a1+x2a2++xnan=b.
Se presupune c exact p m dintre variabilele xi sunt diferite de zero i c acestea
sunt chiar primele. Atunci
(4.26)
x1a1+x2a2++xpap=b.
Coloanele a1, a2, , ap pot fi liniar independente sau liniar dependente.
Cazul I. Presupunem c a1, a2, , ap sunt liniar independente. Dac p=m
atunci soluia este de baz i demonstraia se ncheie. Dac p<m , atunci, deoarece
A are rangul m, se pot gsi mp coloane din cele np rmase, astfel nct cele
m coloane s fie liniar independente. Atribuim valoarea zero variabilelor
corespunztoare celor mp componente i obinem o soluie de baz degenerat.
Cazul II. Presupunem c a1, a2, , ap sunt liniar dependente. Atunci exist o
combinaie liniar a acestor vectori egal cu zero
(4.27)
y1a1+y2a2++ypap=0
n care cel puin o constant yi este pozitiv. Scdem din relaia (4.26) relaia
(4.27) nmulit cu i avem
(4.28)
(x1y1)a1+(x2y2)a2++(xpyp)ap=b
Notnd cu y=(y1, y2,,yp, 0, 0,,0) observm c pentru orice
(4.29)
xy
este o soluie a sistemului de ecuaii Ax=b. Pentru =0 aceasta se reduce la
soluia iniial admisibil. Deoarece am presupus c mcar o component yi este
pozitiv, atunci cel puin o component va deveni zero o dat cu creterea lui .
Alegem
x

= min i y i > 0 .
yi

Pentru orice valoare soluia dat de (4.29) este admisibil i are cel mult
p1 componente pozitive. Repetnd acest proces dac este necesar, putem elimina

4. Programare liniar

59

componentele pozitive pn cnd avem o soluie admisibil corespunztoare


coloanelor care sunt liniar independente. Am ajuns n cazul I i se poate aplica
acesta n continuare.
(ii) Fie x=(x1, x2, , xn) o soluie admisibil optimal care are exact p
componente pozitive x1, x2, , xp . Din nou pot fi dou cazuri: coloanele
corespunztoare componentelor nenule pot fi liniar independente sau liniar
dependente.
Cazul I. Coloanele sunt liniar independente. Este exact ca i la (i).
Cazul II. Coloanele sunt liniar dependente. Este ca i n cazul II de la (i) numai
c trebuie s artm c pentru orice soluia dat de (4.29) este optimal. Pentru
aceast soluie, valoarea funciei obiectiv este
(4.30)
cxcy
Pentru suficient de mic, xy este o soluie admisibil pentru valori
pozitive sau negative ale lui . Astfel putem concluziona c cy=0. Dac cy0
se poate determina un mic i semnul acestuia, astfel nct (4.30) s conduc la o
valoare mai mic pentru funcia obiectiv. Contradicie cu faptul c x este soluie
optimal i astfel trebuie s presupunem c cy=0. Avnd stabilit c noua soluie
admisibil cu mai puine componente pozitive este optimal, restul demonstraiei

este ca la (i).

4.4. Fundamentele algoritmului simplex

Din Teorema 4.1 rezult c putem determina soluia problemei de programare


liniar sub forma standard astfel: pentru toate bazele B din matricea A (acestea
sunt, evident, n numr finit), calculm soluia de baz corespunztoare B 1 b ,
reinem dintre acestea doar pe acelea care sunt programe de baz (B1b 0) i
alegem pe aceea care d funciei obiectiv valoarea optim (cea mai mic sau cea
mai mare).
Dezavantajul ce apare const n volumul mare de calcule, chiar i atunci cnd
problemele sunt de dimensiuni mici.
Algoritmul simplex d o metod de explorare sistematic i economic a
programelor de baz, mai precis de trecere de la un program de baz la altul care d
funciei obiectiv o valoare mai mare sau mai mic, dup cum problema este de
maximizare sau minimizare. De asemenea, algoritmul furnizeaz criterii pentru
cazurile n care problema de programare liniar nu are programe sau are optim
infinit.
Astfel, dac B este o baz (s presupunem c B1b 0), sistemul Ax=b se
poate scrie (Zidroiu, 1983)
xB=B1bB1SxS
sau

Modele i algoritmi de optimizare

60

x B = x y Bj x j

(4.31)

xiB = xiB y ijB x j , i B,

(4.31)

x B = B 1 b

(4.32)

y Bj = B 1 a j

(4.33)

jS

sau pe componente
jS

unde

iar: aj este coloana j a matricei A ,


S={indicii variabilelor secundare},
B={indicii variabilelor de baz}.
Observaie 4.2. Pentru j B, y Bj = B 1 a j = e j , ej fiind vectorul unitate.
Folosind (4.31), putem exprima funcia obiectiv cu ajutorul variabilelor
secundare xS astfel
n

z = c j x j = c j x j + ci xiB yijB x j = ci xiB ci yijB c j x j


j =1
jS
iB
jS
jS iB

iB

sau

z = z B z Bj c j x j ,

(4.34)

z B = ci xiB = c B x B ,

(4.35)

z Bj = ci y ij = c B y Bj ,

(4.36)

jS

unde
iB

iB

j = ( z j c j )

sunt numii coeficieni de cost redus sau coeficieni de cost

relativ.
Pentru simplificarea scrierii renunm la indicele superior B, nelegndu-se c
este vorba de elementele corespunztoare bazei.
La baza algoritmului simplex stau urmtoarele observaii ce rezult din
teoremele prezentate n continuare (Zidroiu, 1983).
Teorema 4.2. Dac zjcj 0, () j S, atunci programul de baz corespunztor
bazei B, (xB=B1b, xS =0) este optim.

4. Programare liniar

61

Demonstraie. Pentru acest program valoarea funciei obiectiv este z B . Pentru


orice alt program x , deoarece xj0 rezult c
z Bj ci x j 0

jS

i atunci z > z B .

Teorema 4.3. Dac ()k S cu zkck > 0, atunci programul asociat bazei B nu
este optim (cu excepia cazului n care programul este degenerat) i poate fi
mbuntit dac xk ia valori pozitive.
Demonstraie. Dac exist k S cu proprietatea c zkck>0, atunci programul
asociat bazei B nu este optim
z Bj ci x j > 0 , iar z < z B

jS

(cu excepia cazului n care programul este degenerat) i poate fi mbuntit dac
xk>0.

Teorema 4.4. Dac ()k S , cu zkck > 0, i dac yik 0, pentru () iB,
atunci problema are optim infinit.
Demonstraie. Dac yik 0 () iB atunci xiB = xiB y ik x k , ( xj=0 pentru
jS {k}), iar creterea lui xk nu face negativ nici o component de baz.
Atunci
z = z B ( z k c k ) x k

xk
Teorema 4.5. Dac zkck > 0, dar () yik > 0, atunci xk poate crete pn la
valoarea:
x
x
min i = l ,
(4.37)
i yik > 0 y
y lk
ik
~
pentru care se obine un nou program de baz, asociat bazei B , dedus din B
prin nlocuirea coloanei al cu coloana ak.
Demonstraie. Dac yik > 0 ()iB, atunci pentru a pstra xi 0 , tiind c
x i = x i y ik x k 0 ,
x
atunci x k i , ()i B cu proprietatea c yik > 0 . Atunci creterea maxim a
y ik
lui xk este dat de (4.37).

Observaia 4.3. Dac exist mai muli indici k pentru care zkck > 0, ar fi
preferabil s se aleag acela pentru care
xl
(z k c k )
y lk

Modele i algoritmi de optimizare

62

are cea mai mare valoare, ceea ce asigur, n general, o scdere mai rapid a
funciei obiectiv i d un numr mai mic de iteraii (o iteraie reprezint o trecere
de la un program de baz la altul).
Practic, se ia drept criteriu de alegere a lui k , acel k pentru care
zkck=maxim.
Acest criteriu se mai numete i criteriu de intrare n baz.
Criteriul dat de (4.37) reprezint criteriul de ieire din baz.

4.5. Enunul algoritmului simplex


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:
x
xl
= min i .
i
y
>
0
ik
y lk
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 .
Observaia 4.4. Pentru o problem de maximizare:
max c x

Ax = b
x 0

trebuie modificat criteriul de intrare n baz astfel:


a'1) dac toi zjcj 0, programul este optim.
a'2) dac ()j pentru care zjcj < 0, se determin k astfel nct
zkck= min{zjcj}.

4. Programare liniar

63

4.6. Tabelul simplex i transformarea sa

Presupunem c pentru o baz B am calculat x i , z , zjcj, yij i le dispunem


ntr-un tabel numit tabel simplex (Tabelul 4.1). Presupunem c baza B este
format din primele m coloane ale matricei A.
Prima coloan (CVB) conine coeficienii din funcia obiectiv ai variabilelor de
baz.
A doua coloan (VB) conine variabilele de baz.
A treia coloan (VVB) conine valorile variabilelor de baz, ultima linie fiind
valoarea funciei obiectiv pentru programul de baz corespunztor bazei B, adic
zB.
Coloanele urmtoare conin vectorii y Bj (avnd grij ca pentru variabilele de
baz y Bj =ej), iar ultima linie conine diferenele zjcj= c B yicj.
Observaia 4.5. Pentru variabilele de baz, zjcj= cB ejcj=cjcj=0.
Pentru calculul elementelor

z Bj cj i

zB

ale primului tablou este util s

trecem coeficienii cj din funcia obiectiv n partea de sus a coloanelor respective.


S presupunem c ak trebuie s intre n baz n locul lui al. Elementul ylk se
numete pivot i l evideniem ncercuindu-l.
Pentru fiecare baz se alctuiete cte un tabel simplex (Tabelul 4.1).
Cum se calculeaz elementele noului tablou corespunztor noii baze ?
Elementele liniei k se mpart la pivot
~
~
y lj
x
x kB = l ; y kjB =
y lk
y lk

(4.38)

Elementele celorlalte linii se calculeaz cu regula dreptunghiului cu diagonala


principal cea a pivotului.
~
~
y lj
x
(i l )
x iB = x i y ik l (i l ) ; y ijB = y ij y ik
(4.39)
y lk
y lk
Modificarea funciei obiectiv se face dup formulele de mai jos.
~
~
y lj
x
z B = z B (z k c k ) l ; z Bj c j = (z j c j ) ( z k c k )
y lk
y lk

(4.40)

Modele i algoritmi de optimizare

64
Tabelul 4.1

Coeficienii funciei obiectiv

Coeficienii variabilelor de baz n


funcia obiectiv

CVB

VB VVB

c1

cl

cm

cm+1

ck

cn

alegem min

x1

xl

xm

xm+1

xk

xn

xi
y ik

y1,m+1

... y1,k ...

y1,n

yl,m+1

... yl,k ...

yl,n

ym,m+1

... ym,k ...

ym,n

c1

x1

x1

cl

xl

xl

cm

xm

xm

valoarea
funciei
obiectiv

...

...

M
...

...

M
...

...

alegem max
0

0 zm+1cm+1

zjcj>0

n noul tabel n loc de xl este trecut xk n coloana VB.


~
~
Deoarece xk este variabil de baz, y kB = e k , z kB c k = 0 , aa cum rezult i
din (4.39) i (4.40).
n problemele practice m, numrul liniilor matricei A, este mult mai mic
dect n, numrul coloanelor, i atunci efortul de calcul trebuie redus la coloanele
care sunt necesare n gsirea soluiei optime.
n algoritmul simplex revizuit se fac calcule doar pentru elementele tabloului
strict necesare.
O variant a algoritmului simplex revizuit se bazeaz pe reprezentarea inversei
matricei de baz B ca un produs de matrice elementare E (Luenberger, 1989),
obinute din matricea unitate, care au elementele coloanei p date de relaiile:
y
1
,
vi = ik , i l i v l =
yl k
yl k
yl k fiind pivotul.
nmulirea lui E la dreapta cu orice coloan a tabelului simplex este
echivalent cu aplicarea regulii dreptunghiului. Dac baza iniial n algoritmul
simplex este cea canonic (B=In), atunci la iteraia a p-a, inversa matricei B este
B 1 = E p E p 1 ...E 2 E1 , unde Ep este o matrice elementar de forma dat mai jos

4. Programare liniar

65

0 L 0
1 0 L 0 v1

0 L 0
0 1 L 0 v2
L L L L L L L L

0 0 L 1 v l 1 0 L L
E =
.
0 L 0
0 0 L 0 vl
0 0 L 0 v l +1 1 L 0

L L L L L 0 L 0
0 0 L L v
0 L 1
m

~
Astfel, yk coloana a k-a din noua baz B va fi calculat direct cu formula
yk=(Ep.Ep-1E1ak) .

4.7. Exemplu

S-a observat c n fiecare lun, mainile M1, M2, M3 , ce lucreaz ntr-o


secie a unei ntreprinderi, nu sunt folosite 8 ore, 24 de ore i respectiv 18 ore
(Vduva et al, I, 1974). Se ia hotrrea s se foloseasc i acest timp, punndu-le s
lucreze la fabricarea a 2 produse suplimentare, P1 i P2 , ca produse anexe ale
seciei, care aduc un profit la unitatea de produs fabricat de 4 i respectiv 3 u. m.
Timpul necesar de lucru la fiecare main este, pe fiecare produs, dat de Tabelul
4.2.
Tabelul 4.2
Maina P1
M1
2
M2
3
M3
1

P2
1
2
3

S se determine planul de producie al seciei pentru produsele P1 i P2 care


s dea un profit maxim.
Rezolvare
a) Modelarea problemei. Fie x1, x2 cantitile din produsele P1 i P2 ce trebuie
fabricate. Formularea matematic a problemei este
max z = 4 x1 + 3 x 2
max z = max{4 x1 + 3x2 }
2 x + x + x = 8
3 x + 2 x 24
2
3
2
1
1
sau
3
2
x
x
x
+
+
x
x
3
18
+

1
1
2
4 = 24
2
x + 3 x + x = 18
x , x 0
2
5
1
1 2
2 x1 + x2 8
xi 0, i 1,5
dup adugarea variabilele de compensare

Modele i algoritmi de optimizare

66

b) Tabelul simplex i calculele aferente


Calculele corespunztoare primei iteraii sunt pezentate n Tabelul 4.3.
4

Tabelul 4.3
3
0

alegem min
xi
y ik

CVB

VB

VVB

x1

x2

x3

x4

x5

x3

x4

24

x5

18

valoarea
funciei
obiectiv z

1
2

1
2

24

28
5

8
=4
2

24
3
18
1

=8

= 18

alegem min

x1

x4

12

x5

14

5
2

valoarea
funciei
obiectiv z

16

1
2

zjcj<0

alegem min
2

zjcj<0

La prima iteraie a ieit din baz x3 i a intrat x1 , iar la iteraia a doua a ieit
din baz x5 i a intrat x2 . Iteraia a doua este prezentat n Tabelul 4.4.
c) Culegerea rezultatelor din tabelul simplex final
Maximul funciei de optimizat este 21.6 i se obine pentru
x1=1.2 ; x2=5.6 ; x3=0 .
Soluia de baz este nedegenerat. Valorile variabilelor auxiliare
x3=0 ; x4=9.2 ; x5=0 ,
arat c soluia optim face egaliti doar restriciile 1 i 3 , adic se folosete
integral timpul la aceste maini, iar cea de-a doua inegalitate arat c prin aceast
soluie nu se utilizeaz integral timpul celei de-a doua maini.

67

4. Programare liniar

Tabelul 4.4
3

alegem min

x1

x2

x3

x4

x5

xi
yik

3
5

1
5

1
5

24

CVB

VB

x1

x4

46
5

2
5

x2

28
5

1
5

2
5

21.6

2
5

valoarea
funciei
obiectiv z

VVB

6
5

9
5

28
5
alegem min
zjcj < 0

Vom rezolva aceast problem utiliznd pachetul de programe Management


Scientist. La lansarea programului se afieaz pe ecran fereastra de prezentare apoi
dup apsarea butonului Continue apare fereastra care permite selectarea modulului
pentru rezolvarea problemelor de programare liniar ca n Figura 2.4.
Selectm acest modul i n fereastra care apare din submeniul File alegem
New. n fereastra Problem Features precizm numrul de variabile, de restricii i
tipul problemei, ca n Figura 4.1.

Figura 4.1

Dup apsarea butonului OK, apare fereastra n care se introduc coeficienii


funciei obiectiv i restriciile problemei, ca n Figura 4.2.

Modele i algoritmi de optimizare

68

Figura 4.2

Dup ce sau introdus datele, pentru rezolvare se apas butonul Solve i apare
fereastra cu rezultate ca n Tabelul 4.5.
Tabelul 4.5
Objective Function Value =

21.600

Variable
-------------X1
X2

Value
--------------1.200
5.600

Reduced Costs
-----------------0.000
0.000

Constraint
-------------1
2
3

Slack/Surplus
--------------0.000
9.200
0.000

Dual Prices
-----------------1.800
0.000
0.400

OBJECTIVE COEFFICIENT RANGES


Variable
-----------X1
X2

Lower Limit
--------------No Lower Limit
No Lower Limit

Current Value
--------------4.000
3.000

Upper Limit
--------------No Upper Limit
No Upper Limit

Current Value
--------------8.000
24.000
18.000

Upper Limit
--------------No Upper Limit
No Upper Limit
No Upper Limit

RIGHT HAND SIDE RANGES


Constraint
-----------1
2
3

Lower Limit
--------------No Lower Limit
No Lower Limit
No Lower Limit

Rezultatele sunt cele obinute i n urma aplicrii algoritmului simplex.


Informaia din coloana Reduced Costs arat cu ct ar trebui s se modifice
coeficientul variabilei respective n funcia obiectiv pentru ca variabila s fie
pozitiv n soluia optim (Anderson et al, 1998). Astfel, dac o variabil este deja
pozitiv, atunci costul redus este zero.

69

4. Programare liniar

Informaiile despre restricii (Constraint) din Tabelul 4.5 se refer la:


Slack/Surplus aceast coloan d valorile variabilelor auxiliare. Dac restriciile
sunt verificate cu inegaliti stricte, atunci variabilele auxiliare sunt nenule, altfel
vor fi nule.
Dual prices conine informaii despre valorile marginale ale resurselor. n
Management Scientist un pre dual nseamn mbuntirea valorii optime a
funciei obiectiv corespunztoare creterii cu o unitate a termenului liber al
restriciei . Pentru restriciile verificate cu egalitate aceste preuri vor fi nenule.
Pentru restriciile cu inegaliti stricte aceste preuri sunt nule, din cauza nefolosirii
integrale a resurselor disponibile.
Seciunea Objective Coefficient Ranges (intervalele coeficienilor n funcia
obiectiv) d intervalul n care pot varia coeficienii funciei obiectiv astfel nct
soluia s rmn optim.
Ultima seciune Right Hand Side Ranges (intervalele termenilor liberi) conine
intervalele n care ar trebui s se menin termenii liberi pentru ca preul dual
asociat restriciei s rmn nemodificat.
Observaia 4.6. Analiza sensibilitii prezentat mai sus se bazeaz pe faptul c un
singur termen liber variaz la un moment dat, ceilali rmnnd la valorile
iniiale.
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

Modele i algoritmi de optimizare

70

Pentru rezolvarea acestei probleme folosind Solver-ul trebuie urmrii paii:


1. Se selecteaz celula coninnd formula cu funcia de optimizat (D3).
2. Se selecteaz din meniul bar principal Tools (Instrumente) i, de aici,
Solver (Rezolvitor). Apare caseta de dialog Solver Parameters
(Parametrii Rezolvitor), care are n caseta de text Set Target Cell
(Setare Celul int) celula de optimizat (D3).
Se selecteaz tipul de optim max sau min; pentru acest caz, max.
3. n caseta de text By Changing Cells (Prin modificarea celulelor) se
selecteaz celulele care reprezint variabilele problemei (D13D14).
4. n caseta de text Subject to the constraints (Se supune restriciilor) se
impune condiia de nenegativitate asupra variabilelor x1 x2 i
celelate restricii ale modelului, astfel (Figura 4.4):

Figura 4.4

5.

Se aps butonul Add (Adugare) i apare caseta de dialog Add


Constraint (Adugare restricie), Figura 4.5. Se selecteaz celule
D13D14 n Cell Reference, apoi se alege simbolul , iar n caseta
Constraint (Restricii) celulele F7F8. Se apas butonul OK.

Figura 4.5

6. Adugarea celorlalte restricii se face apsnd butonul Add, iar n


caseta Add Constraint se trec celulele n care s-au nscris formulele cu
restriciile (H7H9). Se alege semnul i se selecteaz n caseta
Constraint celulele cu termenii liberi (D7D9). Cnd s-au introdus
toate restriciile se selecteaz butonul OK.
7. Se apas butonul Solve (Rezolvare) i apare caseta de dialog Solver
Results (Rezultate rezolvitor), iar n Reports (Rapoarte) se pot alege

71

4. Programare liniar

formele de prezentare a rezultatelor. Se apas butonul OK dup


precizarea tipurilor de rapoarte.
Se creeaz Answer Report (Raport rspuns), Sensitivity Report (Raport
sensibilitate), Limits Report (Raport limite) ca n Tabelele 4.6, 4.7 i
respectiv 4.8.
Tabelul 4.6
Microsoft Excel 10.0 Answer Report
Worksheet: [Programare liniara.xls]Sheet1
Report Created: 7/23/2002 7:38:01 AM

Cell
$D$3

Target Cell (Max)


Original
Final Value
Value

Name
Functia de
optimizat

21.6

AdjusTable Cells
Original
Value
Final Value

Cell

Name

$B$13

x1 Produsul P1

1.2

$B$14

x2 Produsul P1

5.6

Constraints
Cell

Name

Cell Value

Formula

Status

Slack

$G$13

2x1+x2<=8

$G$13<=$D$7

$G$14

3x1+2x2<=24

14.8

$G$14<=$D$8

Binding
Not
Binding

$G$15

x1+3x2<=18

18

$G$15<=$D$9

$B$13

x1 Produsul P1

1.2

$B$13>=$E$13

$B$14

x2 Produsul P1

5.6

$B$14>=$E$14

Binding
Not
Binding
Not
Binding

9.2
0
1.2
5.6

Tabelul 4.7
Microsoft Excel 10.0 Sensitivity Report
Worksheet: [Programare liniara.xls]Sheet1
Report Created: 7/23/2002 7:38:02 AM
AdjusTable Cells
Cell
$B$13
$B$14

Name
x1 Produsul
P1
x2 Produsul
P1

Final

Reduced

Objective

Allowable

Allowable

Value

Cost

Coefficient

Increase

Decrease

1.2

5.6

Modele i algoritmi de optimizare

72
Constraints
Final

Shadow

Constraint

Allowable

Allowable

Cell

Name

Value

Price

R.H. Side

Increase

Decrease

$G$13

2x1+x2<=8

1.8

6.57142857

$G$14

3x1+2x2<=24

14.8

24

1E+30

9.2

$G$15

x1+3x2<=18

18

0.4

18

14

Tabeleul 4.8
Microsoft Excel 10.0 Limits Report
Worksheet: [Programare liniara.xls]Limits Report 1
Report Created: 7/23/2002 7:38:02 AM
Target
Cell

Name

Value

$D$3

Functia de optimizat

21.6

AdjusTable

Lower

Target

Upper

Target

Cell

Name

Value

Limit

Result

Limit

Result

$B$13

x1 Produsul P1

1.2

16.8

1.2

21.6

$B$14

x2 Produsul P1

5.6

4.8

5.6

21.6

Se obin aceleai rezultate pentru funcia obiectiv i pentru valorile


necunoscutelor ca i cu Management Scientist.

4.8. Convergena algoritmului simplex. Degenerare i ciclare

Dac n cursul aplicrii algoritmului simplex valoarea funciei obiectiv scade la


fiecare iteraie, atunci nici o baz nu se poate repeta (fiecrei baze i corespunde un
program de baz, deci o valoare bine determinat a funciei obiectiv). Deoarece
numrul bazelor este finit (cel mult C nm ), rezult (Zidroiu, 1983) c ntr-un
numr finit de iteraii se ajunge la una din situaiile a.1) sau b.1) din enunul
algoritmului simplex.
Dac valoarea funciei obiectiv nu se modific n cursul ctorva iteraii
succesive, este posibil s revenim la una din bazele prin care am trecut deja, i
atunci procesul devine infinit fr a conduce la soluie. Aceast situaie se numete
ciclare.
xl
(z k c k ) i aceast expresie
Variaia funciei obiectiv la o iteraie este
y lk
este nul dac i numai dac x l =0, adic dac programul este degenerat.

73

4. Programare liniar

Pentru o problem nedegenerat, convergena algoritmului simplex, mai precis


faptul c el conduce la o soluie ntr-un numr finit de iteraii, este asigurat.
Pentru o problem degenerat, adic avnd cel puin un program degenerat,
este posibil, n principiu, ciclarea.
Observaia 4.7. Degenerarea nu implic n mod necesar ciclarea: cu toate c
foarte multe probleme practice sunt degenerate, exemplele de ciclare se
construiesc cu destul dificultate (exemplul dat de Beale n Hadley G. 1962 Linear
Programming, AddisonWesley, Reading, Mass.).
Degenerarea apare, n afara cazului n care vectorul b are componente nule,
atunci cnd criteriul de ieire al algoritmului simplex, mai precis minimul (4.37),
nu definete n mod unic variabila care iese din baz. Presupunem c acest minim
se atinge pentru doi indici, l i h, adic
xl
x
= h ,
y lk y hk
i presupunem c alegem variabila xl s prseasc baza. Atunci
~
y
x hB = x h xl hk = 0 ,
y lk
i deci noul program de baz va fi degenerat.
Dac programul iniial nu va fi degenerat, degenerarea poate aprea numai n
acest caz.
Pentru demonstrarea valabilitii generale a algoritmului simplex este totui
necesar o regul care s fac posibil nlturarea ciclrii.
Regula lui Bland de nlturare a ciclrii (Luenberger, 1989):
a) se selecteaz coloana q = min q z q c q > 0 , adic, cel mai mic indice

de coloan favorabil pentru a intra n noua baz,


b) pentru ieirea din baz se ia coloana candidat cu indicele cel mai mic.
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

Modele i algoritmi de optimizare

74

din baz i atunci b=0, deoarece toate coloanele sunt n ciclu, iar aip0 , ( )i n .
S considerm cazul cnd an este n situaia de a intra n baz. Partea a) a regulii
lui Bland ne asigur c rn = z n c n > 0 i ri = z i c i 0 pentru ( )i n .
Aplicm formula

ri = c B B 1 S c i

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 .
ndeprtarea situaiei de ciclare se poate face i cu metoda perturbrii a lui A.
Charnes, sau cu cea lexicografic a lui Dantzig i Wolfe .
Observaia 4.8. O regul practic de evitare a ciclrii este urmtoarea: se divid
liniile corespunztoare variabilelor nule din Tabelul simplex prin pivoii posibili,
mergnd de la stnga spre dreapta; n momentul cnd unul dintre rapoarte este
mai mic dect celelalte, precizm variabila care iese din baz ca fiind cea care
corespunde raportului minim (Zidroiu, 1983).

4.9. Interpretarea geometric a algoritmului simplex

Rezolvarea problemelor simple de programare liniar (n=2 sau n=3) se poate


face i geometric. Pentru exemplificare considerm urmtoarea problem (Mihil,
Popescu, 1978).
Realizarea a dou produse P1 i P2 se face folosind patru materii prime M1, M2,
M3, M4 . Disponibilul de materii prime, consumul specific i profitul unitar pentru
fiecare tip de produs sunt date de tabelul 4.9.
Tabelul 4.9
Produsul
Materia
prim
M1
M2
M3
M4
Profit unitar

Consum specific
P1

P2

2
1
4
0
2

2
2
0
4
3

Disponibil

12
8
16
12

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
(d2) , 4x=16 x=4 (d3) , 4y=12
x+y=6 y=6x (d1) , x+2y=8 y=4
2
y=3 (d4) , x0 , y0 .
Reprezentarea grafic a
restriciilor
conduce
la
poligonul OABCD, ale crui
puncte constituie soluii ale
fmax
problemei de programare
4
R
a
liniar (mulimea
punctelor
admmisibil
e).
Din
d4
acest motiv se numete
D
C
poligonul soluiilor. Rezult
g
c realizarea practic a
B
2
produciei celor dou produse
din cele patru materii prime
se poate face ntr-o infinitate
d3
de moduri. S alegem dintre
A
aceste soluii pe cele care dau
O
0
2
4
6
valoarea
maxim
pentru
funcia obiectiv. Punem funcia
Figura 4.6
obiectiv sub forma
f 2
(d) y = x ,
3 3
care reprezint un fascicul de drepte, considernd f ca parametru ( (g) o dreapt
din fascicul). Funcia f va avea maximul o dat cu ordonata la origine a dreptei (d).
Astfel, trebuie gsit acea dreapt din fasciculul (d) care are ordonata la origine
cea mai mare i care trece printr-un punct din poligonul soluiilor. Se observ c
acea dreapt trebuie s treac prin punctul B, un vrf al poligonului soluiilor.
d1

Modele i algoritmi de optimizare

76

{B} = y = 4 x I {y = 6 x}

x
=6x x=4 , y=2
2
2

Valoarea funciei obiectiv este f(4, 2)=14 . n Tabelul 4.10 se prezint starea
sistemului de restricii i gradul de utilizare a resurselor pentru soluia optim.
Materia
prim
M1
M2
M3
M4

Tabelul 4.10
Cantitatea folosit pentru
Cantitatea
programul optim
disponibil
12
24+22=12
8
14+22=8
16
44+02=16
12
04+42=8

Gradul de
folosin
100%
100%
100%
66.67%

Problema are soluie unic, deoarece dreapta (d) nu este paralel cu nici o latur a
poligonului soluiilor. Dac, de exemplu, se modific profitul unitar pentru
produsul P2 , devenind 4, atunci dreapta (d) devine
f x
(d) y = ,
4 2
fiind paralel cu dreapta corespunztoare celei de-a doua restricii (latura BC a
poligonului soluiilor). n acest caz, toate punctele segmentului BC sunt soluii
optime ale problemei date. Avem de-a face cu o problem cu o infinitate de soluii
optime. Se pot introduce alte criterii suplimentare pentru a putea selecta o soluie.
Metoda geometric s-ar mai putea aplica i n cazul a trei necunoscute, n locul
poligonului soluiilor obinndu-se poliedrul soluiilor. Pentru n > 3 nu mai pot fi
reprezentate grafic hiperpoliedrele soluiilor i deci metoda devine impracticabil.

4.10. Interpretarea economic a algoritmului simplex

Revenim la problema "utilizarea optim a resurselor" i presupunem c


restriciile sunt sub form de egaliti, Ax=b (Dragomirescu i Malia, 1968).
Observm c cele n activiti de producie se asociaz cte m, n grupe de
activiti de baz, corespunztoare programelor de baz. Deoarece programul optim
este un program de baz, rezult concluzia interesant c ntr-o organizare optim a
produciei nu se vor desfura toate cele n activiti posibile (deci, nu se vor
produce toate cele n sortimente), ci cel mult m (cazul programului nedegenerat).
Aceast concluzie este dedus din considerente pur matematice i n afara oricror
considerente economice.
Presupunem c activitatea k nu face parte din grupul activitilor de baz
corespunztoare unei baze B (adic xk nu este variabil de baz, xk=0, adic n
aceast variant sortimentul nu se produce). Dac dorim s mrim nivelul acestei

77

4. Programare liniar

activiti, adic s producem sortimentul k n cantitatea xk > 0, produciile


celorlalte sortimente de baz se vor modifica n conformitate cu (4.39); unele vor
trebui reduse i, cum nu pot fi reduse dect cel mult pn la 0, rezult c xk poate
crete cel mult pn la valoarea dat de (4.37), pentru care activitatea de baz l
atinge nivelul 0. Aceasta este interpretarea criteriului de ieire.
Creterea lui xk cu o unitate implic variaii de yik ale celorlalte activiti i
deci i o variaie a funciei obiectiv

z = c k + ci ( y ik ) = c k z k ,
iB

adic o cretere a lui xk cu o unitate aduce, n acelai timp, un profit suplimentar


ckzk. Dac zkck < 0 (pentru problema de maximizare a beneficiilor), atunci
z>0 i, deci, introducerea activitii k n baz, adic producerea sortimentului
k, aduce o mbuntire a funciei obiectiv, ceea ce revine la o sporire a profitului
total. Regsim astfel criteriul de intrare n baz al algoritmului simplex.
Aplicarea algoritmului simplex const astfel ntr-o explorare sistematic a
diverselor variante de m activiti de baz; la fiecare iteraie se nlocuiete o
activitate l printr-o activitate k, obinndu-se o cretere a profitului total, pn
cnd, pentru toate activitile care nu sunt n baz, avem zkck 0, i deci nici o
cretere a profitului nu mai este posibil.

4.11. Metoda celor dou faze

Metoda celor dou faze permite obinerea unui program de baz de plecare n
rezolvarea problemei de programare iniial sub forma standard, adic (Zidroiu,
1983) :
min c x

(4.41)
Ax = b
x 0

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

(4.42)
x 0
x a 0

Problema (4.41) are programe dac (4.42) are programe (x, xa), cu xa = 0.
Dac se obine un astfel de program de baz cu xa = 0, atunci x corespunztor
este un program de baz pentru (4.41).

Modele i algoritmi de optimizare

78

n faza I pentru a obine un program de baz al sistemului (4.41) se rezolv


problema de programare liniar
min x ia = W

a
Ax + Ix = b

x i 0, 1 i n
x aj 0, 1 j m

(4.43)

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

Faza a IIa
Ax = b .
x 0

Observaia 4.9. Faza I const din eliminarea din baz a variabilelor artificiale x ia
i nlocuirea lor cu variabilele xj. Cnd toate variabilele au fost eliminate din
baz, adic la sfritul fazei I, coloanele acestora sunt terse din tabelul simplex
i se ncepe faza a II-a, pornind de la acest tabel simplex, n care calculm doar
elementele liniei zjcj corespunztoare funciei obiectiv din faza a IIa.
n cele prezentate pn acum am presupus c rang A = m. Introducerea
variabilelor artificiale face ca rangul matricei [A, I] s fie sigur m.
Dac rang A < m sau dac problema este degenerat, atunci cnd se ajunge la
min x ia = 0, este posibil s mai rmn n baz cteva variabile artificiale,
desigur cu valoarea 0. Faza I se consider ncheiat atunci cnd toate variabilele
x ia au fost eliminate, i anume:
(i) dac rang A = m (dar problema este degenerat), variabilele x ia = 0 pot fi
ntotdeauna nlocuite cu variabilele xj care intr n baz tot cu valoarea 0, fr
s produc vreo modificare n funcia obiectiv.
(ii) dac rangA < m, nu este posibil eliminarea tuturor variabilelor x ia (cteva
rmn n baz cu valoarea 0). n acest caz, liniile corespunztoare ale matricei

4. Programare liniar

79

A sunt combinaii ale celorlalte, adic restriciile corespunztoare a'i x = bi


sunt consecine ale celorlalte i se pot elimina.
Aceast discuie arat c nu este necesar s se impun rang A = m.
Dac n problema (4.42) cu b 0 exist xj care apare ntr-o singur ecuaie i
cu coeficient pozitiv, adic matricea A conine un vector unitate, atunci n ecuaia
respectiv nu este necesar introducerea unei variabile auxiliare, variabila xj putnd
fi luat n baza iniial. Desigur c dac exist k astfel de variabile, vom introduce
doar nk variabile artificiale, ceea ce scurteaz faza I.
Uneori este necesar cunoaterea inversei bazei curente a problemei de
programare. n acest caz, la sfritul fazei I nu mai nlturm din tabel coloanele
corespunztoare variabilelor artificiale. n fiecare tabel al fazei a IIa, n aceste
coloane se gsete matricea B1I = B1, adic inversa bazei curente B.
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
de sortare
S1

A1

A2

Profit

S2

S3

5 u.
m.
4 u.
m.
6 u.
m.

Cantitatea ce
trebuie sortat

300
tone

372
tone

S se determine repartiia optim pe liniile de sortare a agregatului astfel nct


profitul obinut s fie maxim.
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 .

Modele i algoritmi de optimizare

80

Trebuie determinat maximul acestei funcii cu restriciile


2 x1 + 3x 2 + x3 = 300

x1 + 2 x 2 + 2 x3 = 372 .
x , x , x 0
1 2 3
2 3 1
a restriciilor nu are o baz evideniat, se
Deoarece matricea A =
1 2 2
aplic metoda celor dou faze.

b) Metoda celor dou faze


i) Faza I
Se aplic algoritmul simplex problemei
min x1a + x 2a

2 x1 + 3 x 2 + x3 + x = 300

x1 + 2 x 2 + 2 x3 + x = 372
x , x , x , xa , xa 0
2
1 2 3 1
a
1
a
2

Calculele fazei I sunt trecute n Tabelul 4.12 .


La prima iteraie a ieit din baz x1a i a intrat x2 , iar la iteraia a doua a ieit
3 1
are inversa n tabelul final
din baz x 2a i a intrat x3. Baza obinut B =
2 2
1
1

-1
4 .
al fazei I sub variabilele artificiale, B = 2
3
1

2 4
ii) Faza a II-a
Se aplic algoritmul simplex problemei
max {5x1+4x2+6x3 }
3
4 x1 + x 2 = 57
1
x1 + x3 = 129
4
x1 , x 2 , x3 0

Calculele fazei a IIa sunt trecute n Tabelul 4.13.

c) Culegerea i interpretarea rezultatelor


Algoritmul se oprete cu optim finit, anume, profitul maxim este 1268,
obinut pentru x1=76 , x2=0 , x3=148 , care constituie o soluie de baz
nedegenerat.

4. Programare liniar

81

Tabelul 4.12

CVB

VB

VVB

x1

x2

x3

x1a

x 2a

alegem min

xi
y
300

ik
= 100

x1a

300

x 2a

372

672

2
3

1
3

1
3

100
= 300
1
3

172
= 129
4
3

valoarea
funciei
obiectiv z

x2

100

x 2a

172

172

x2

57

x3

129

valoarea
funciei
obiectiv z

372
= 186
2

alegem max

valoarea
funciei
obiectiv z

1
3

1
2

3
4

3
4

4
3

1
3

1
4

5
3

1
2

zjcj>0

alegem max
0

1
4

zjcj>0
8

24

alegem max
0

zjcj>0

Modele i algoritmi de optimizare

82

CVB

VB

VVB

x2

57

x3

129

valoarea
funciei
obiectiv z

1002

Tabelul 4.13
5
4

x1

x3

3
4

1
4

7
2

x1

76

x3

148

1268

Valoarea
funciei
obiectiv z

x2

alegem min
xi
y

ik

228
= 76
3

alegem min

zjcj<0
4
3
1
3

14
3

alegem min
0

zjcj<0

4.12. Dualitatea n programarea liniar

Oricrei probleme de programare liniar (numit problem primal) i se


asociaz o problem de programare liniar dual pornind de la aceleai costuri i
coeficieni ai restriciilor, dar n timp ce o problem este de minim, cealalt este de
maxim. Vom demonstra c dac valorile optime ale funciilor obiectiv sunt finite,
atunci ele sunt egale.Variabilele problemei duale pot fi interpretate ca preuri
asociate cu restriciile problemei primale i aceast asociere permite o interpretare
economic a problemei duale.
Fie problema de programare liniar sub forma general (4.20).
Problema dual asociat problemei (4.20) este urmtoarea problem de
programare liniar

4. Programare liniar

83

max b1 u1 + b2 u 2 + b3 u 3
t 1
2
3
t
t
A11 u + A21 u + A31 u c1
t 1
2
3
t
t
A12 u + A22 u + A32 u = c 2
A t u1 + A t u 2 + A t u 3 c
23
33
3
13
u1 0, u 2 arbitrar, u 3 0

(4.44)

Duala dualei este chiar problema iniial. De aceea, (4.20) i (4.44) formeaz
un cuplu de probleme duale.
Din examinarea cuplului de probleme duale rezult c una dintre probleme se
obine n urmtorul mod:
a) termenii liberi din problema primal devin coeficieni ai funciei obiectiv n
problema dual,
b) coeficienii funciei obiectiv din problema primal devin termeni liberi n
problema dual,
c) o problem de maximizare (minimizare) se transform ntr-o problem de
minimizare (maximizare),
d) matricea coeficienilor sistemului de restricii pentru problema dual este
transpusa matricei coeficienilor sistemului de restricii ale problemei primale,
e) variabilele duale (primale) asociate unor restricii primale (duale) concordante
sunt supuse condiiei de nenegativitate,
f) variabilele duale (primale) asociate unor restricii primale (duale), care sunt
ecuaii, nu sunt supuse nici unei condiii privind semnul.
Din definiia dat rezult c:
duala unei probleme de programare sub forma standard
min c x

Ax = b
x 0

este problema de programare liniar


max bu
t
A u c
u arbitrar

duala unei probleme de programare sub forma canonic


max c x

Ax b
x 0

(4.45)

(4.46)

(4.47)

84

Modele i algoritmi de optimizare

este urmtoarea problem de programare liniar, care are tot forma canonic:
max b u
t
(4.48)
A u c .
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
t 2
(4.50)
A1 u + A2 u c
u1 0 , u 2 arbitrar

duala problemei de transport (4.8)-(4.11) este problema


n

max a i u i + b j v j ,
j =1

i =1

1 i m ; 1 j n ,
u i + v j c ij ,
u , v
oarecare .
j
i

(4.51)

n continuare sunt prezenate teoremele care stabilesc conexiunile fundamentale


ntre cele dou probleme duale.

4.13. Teorema fundamental a dualitii

Fie problema primal sub forma standard (4.45) i duala sa (4.46).


Definiia 4.1. O baz B din matricea A se numete primal admisibil pentru
problema (4.45) dac verific relaia
(4.52)
B 1 b 0
O baz B din matricea A se numete dual admisibil pentru problema (4.45)
dac verific relaia
(4.53)
c B 1 A c 0

4. Programare liniar

85

Nu vom presupune c A are rangul maxim. Lema urmtoare stabilete o


relaie important ntre cele dou probleme.
Lema slab a dualitii. Dac x i u sunt soluii admisibile pentru problemele
(4.45) i respectiv (4.46), atunci xc bu (Luenberger, 1989).
Demonstraie. Deoarece
bu =(Ax)u =xAtu , dar Atu c i x0 ,
atunci rezult c
bu xc.

Aceast lem arat c o soluie admisibil a oricreia dintre cele dou probleme
este o limit pentru valoarea funciei obiectiv a celeilalte probleme.
Corolarul 4.1. Dac x0 i u0 sunt soluii admisibile pentru problemele (4.45) i
respectiv (4.46) i dac cx0 = u0 b , atunci x0 i u0 sunt soluii optime pentru
problemele respective.
Corolarul 4.1 arat c dac poate fi gsit o pereche de soluii admisibile care
s produc aceeai valoare pentru funciile obiectiv ale problemelor (4.45) i
(4.46), atunci acestea sunt amndou optime.
Vom enuna i demonstra Teorema fundamental a dualitii, care afirm c i
reciproca Corolarului 4.1 este adevrat (Luenberger, 1989). Pentru aceasta avem
nevoie de urmtorul rezultat (demonstrat n Fletcher, II, 1981).
Lema de separare. Exist un hiperplan care separ un con convex nchis C de un
vector nenul v C .

Teorema fundamental a dualitii. Dac una dintre problemele (4.45) sau (4.46)
are o soluie optim finit, atunci i cealalt are soluie optim finit i valorile
corespunztoare ale funciilor obiectiv sunt egale. Dac una dintre cele dou
probleme are optim infinit, atunci cealalt problem nu are nici o soluie admisibil.
Demonstraie. A doua afirmaie este o consecin a lemei slabe a dualitii. Dac
problema primal are optim infinit i u este o soluie admisibil a problemei
duale, atunci n mod necesar u b M pentru un M suficient de mare, ceea ce
este imposibil.
Observm c, dei cele dou probleme nu formeaz un cuplu de probleme
duale simetrice, pentru a demonstra prima afirmaie este suficient s presupunem c
problema primal are o soluie optim finit i apoi s artm c problema dual
are o soluie cu aceeai valoare pentru funcia obiectiv. Acest lucru este posibil
deoarece ambele probleme pot fi rescrise n form standard i rolurile celor dou
probleme se pot inversa.
S presupunem c problema (4.46) are o soluie optim z* finit. Considerm
urmtoarea mulime convex n spaiul Rm+1 :
C = (r , w ) r = tz * c' x , w = tb Ax , x 0, t 0 .

Modele i algoritmi de optimizare

86

Se poate arta c C este un con convex nchis. Vom arta c vectorul (1, 0,
, 0) nu este n C.
x
Dac w= t0bAx0 = 0 , unde t0>0 i x0 0 , atunci x = 0 este o soluie
t0
admisibil pentru problema (4.46) i deci
r
= z * c' x 0 ,
t0
ceea ce implic r0 (nu poate astfel s ia valoarea 1).
Dac w= Ax0 = 0 (t=0), unde x0 0 i cx0 = 1 i dac x este o soluie
admisibil oarecare a problemei (4.46), atunci x+ x0 este o soluie admisibil
pentru problema (4.45) pentru orice 0 i d valori din ce n ce mai mici pentru
funcia obiectiv, pe msur ce crete. Aceasta contrazice ipoteza existenei unui
optim finit i rezult c un astfel de x0 nu exist. Deci (1, 0,, 0) nu aparine lui
C.
Cum C este o mulime convex nchis, exist un hiperplan care separ
vectorul (1,0,,0) de C. Aadar, exist un vector nenul (s, u)Rm+1 i o
constant c astfel nct :
s < c = inf {sr + u' w (r , w ) C }.

C fiind con, rezult c c0. Altfel, dac ar exista (r,w)C astfel nct sr+uw<0,
atunci (r,w) nu ar verifica inegalitatea hiperplanului pentru valori mari ale lui
. Pe de alt parte, deoarece (0,0)C, trebuie ca s avem c0. Aadar, c=0. Prin
urmare s<0 i putem presupune, fr a restrnge generalitatea, c s = 1. Astfel
am demonstrat c exist uRm cu proprietatea
r+uw 0
pentru orice (r,w)C. Din definiia lui C avem c
(cuA)xtz*+tub 0
oricare ar fi x0 i t0.
Alegnd t=0 rezult uAc, ceea ce nseamn c u este o soluie admisibil
pentru problema dual.
Punnd x=(0,0,,0) i t=1, obinem c ub z*. Din lema slab a dualitii
i din corolarul su rezult c u este o soluie optim a problemei duale.

Corolarul 4.2. Dac ntr-un cuplu de probleme duale, una dintre probleme are un
program optim, atunci i cealalt problem are un program optim i valorile
optime ale funciilor obiectiv sunt egale.
Fie problema de programare liniar sub forma standard (4.45) i duala sa (4.46)
i x=(xB,0) o soluie optim de baz corespunztoare bazei B , iar xB=B1b i
xS=0. Atunci vectorul costurilor relative
r = c B B 1 S c S 0 c B B 1 S c S .
Considerm u = c B B 1 i artm c acest u este soluie a problemei duale:
u A = [u B u S ] = c B c B B 1 S [c B c S ] = c u A c ,
adic uA este soluie admisibil pentru problema dual. Pe de alt parte

4. Programare liniar

87

u b = c B B 1 b = c B x
i astfel valoarea funciei obiectiv a problemei duale este pentru acest u egal cu
valoarea funciei obiectiv a problemei primale. Atunci, din Corolarul 4.1 rezult c
u este soluia optim a problemei duale. Am demonstrat urmtoarea teorem.
Teorema 4.6. Dac problema de programare standard are soluie de baz optim
corespunztoare bazei B, atunci u = c B B 1 este soluie optim a problemei
duale asociate. Valorile optime ale funciilor obiectiv corespunztoare celor dou
probleme asociate sunt egale.
Teorema ecarturilor complementare pentru cuplu de probleme duale asimetrice.
O condiie necesar i suficient ca programele x* i u* s fie optime pentru
problemele duale (4.45) i (4.46) este ca pentru orice i s avem:
a) xi > 0 u a i = ci
b) u a i < ci xi = 0 .
Demonstraie. Dac au loc relaiile a) i b) atunci (uAc)x=0, adic ub=cx ,
i, din Corolarul 4.1, rezult c x i u sunt soluii optime pentru perechea de
probleme (4.45) i (4.46). Invers, dac x i u sunt soluii optime pentru perechea
de probleme (4.45) i (4.46), atunci din Teorema fundamental a dualitii rezult
c ub= cx i astfel (uAc)x=0. Deoarece fiecare component a lui x este
nenegativ i fiecare component a lui uAc este nepozitiv, rezult condiiile
a) i b) din teorem.

Teorema ecarturilor complementare pentru cuplu de probleme duale simetrice. O


condiie necesar i suficient ca programele x* i u* s fie optime pentru un cuplu
de probleme duale simetrice este ca pentru orice i i j s avem:
a) xi > 0 u a i = ci
b) u a i < c i xi = 0
c) u j > 0 a j x = b j
d) a j x > b j u j = 0 ,
unde a j reprezint linia j din matricea A.
Demonstraia este similar demonstraiei teoremei precedente.

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.

Modele i algoritmi de optimizare

88

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
A t u c . ns

pentru

u( ) b = u B b ib = z B x iB i atunci

1 j n .

Aadar,

lim u( ) b = + ,

adic problema dual are optim infinit i din Teorema fundamental a dualitii,
rezult c i problema primal are optim infinit.

Lema substituiei. Fie A o matrice ptratic nesingular A M n (R ) i B o

matrice obinut din A prin nlocuirea coloanei ar cu vectorul nenul b R n i


c = A 1 b . Atunci:
a) condiia necesar i suficient ca s existe B-1 este ca c r 0 ;
b) Dac c r 0 , atunci B 1 = E r ( ) A 1 , unde E r ( ) se obine din
matricea unitate de ordinul n prin nlocuirea coloanei r cu vectorul
= cr1 ( c1 ,...,cr 1 ,1,cr +1 ,...,cr ) .
Demonstraie. Din forma lui c rezult c
b = c1 a 1 + ... + c n a n .
(4.54)
a) Necesitatea condiiei. Dac cr=0 , atunci din definiia lui c rezult c
vectorii a 1 ,..., a r 1 , b, a r +1 ,..., a n sunt liniar dependeni i B nu este inversabil.
Suficiena condiiei. Presupunem c B nu este inversabil i atunci rangul ei
este mai mic dect n, adic vectorii coloan ai matricei B sunt liniar dependeni.
Fie i , i = 1, n , astfel nct

i =1

2
i

0 i

a
i =1
ir

+ r b = 0 .

ns din (4.54) avem

(
n

i =1
ir

+ ci r a i + r c r a r = 0 ,

ceea ce nseamn c A are coloanele liniar dependente i astfel nu este inversabil.


Atunci, trebuie ca c r r = 0 . Sunt posibile dou cazuri.
i) cr=0 i suntem n cazul a) al lemei, sau
ii) r = 0 i atunci din (4.54) rezult c vectorii a1,, ar-1, ar+1,, an, sunt
liniar dependeni , iar matricea A nu este inversabil. Contradicie!
n

b) Din (4.54) avem a r = c r1 b c r1 ci a i , adic a r = B . Cum


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
=

B
j yljB <0
y lkB
y lj
~
atunci matricea B obinut din matricea B prin nlocuirea coloanei al cu
coloana ak este o baz dual admisibil, iar programul dual asociat u B~ este cel

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
B
B
B
z j c j = z j c j z k ck B , j S .
y lk

) (

B fiind o baz dual admisibil, rezult c z Bj c j 0 pentru

() j S

pentru

care y 0 .
B
lj

Din definiia lui kS

rezult c i z Bj c j 0 pentru

() j S

pentru care

y < 0 . Pentru j=l avem


B
lj

z lB c l = z kB c k

Aadar,

z Bj c j 0

are loc pentru

)1

<0.
y lkB
() j S~ , adic

~
B

este o baz dual

admisibil.
Din relaiile (4.40) rezult c

~
B

z = z z ck
B

B
k

xr
. Dar
y lkB

z B = uB~ b i atunci u B~ este cel puin la fel de bun ca i uB.

z B = u B b i

4.14. Algoritmul simplex dual

Prin aplicarea algoritmului simplex la problema dual se obine un nou


algoritm pentru problema iniial, numit algoritmul simplex dual.
Algoritmul simplex primal exploreaz bazele primal admisibile ale problemei
(4.45) pn la obinerea unei baze primal admisibile care s fie i dual admisibil
( z Bj c j 0 , 1 j n ), sau pn la punerea n eviden a faptului c problema
primal are optim infinit.

Modele i algoritmi de optimizare

90

Algoritmul simplex dual exploreaz bazele dual admisibile ale problemei (4.46)
pn la obinerea unei baze dual admisibile care s fie i primal admisibil ( B 1b 0 ),
sau pn la punerea n eviden a faptului c problema dual nu are programe.
n algoritmul simplex primal se obine o succesiune de programe de baz
1
( B b 0 ), iar n algoritmul simplex dual se obine o succesiune de soluii de baz
care nu sunt programe (B1b nu are toate componentele nenegative).
Pentru o problem de minimizare n algoritmul simplex funcia obiectiv descrete
spre minim, n timp ce n algoritmul simplex dual funcia obiectiv crete spre maxim.
Adesea, pentru problema de programare liniar se cunoate o soluie de baz,
dar care nu este i admisibil i pentru care multiplicatorii simplex sunt admisibili
pentru problema dual asociat. n tabelul simplex aceast situaie corespunde strii
n care ultima linie (zjcj) nu are elemente pozitive, dar soluia nu este admisibil.
O astfel de situaie apare, de exemplu, atunci cnd o problem de programare
liniar este rezolvat i din aceasta se construiete o problem nou prin
schimbarea vectorului termenilor liberi b (postoptimizare sau reoptimizare). n
aceast situaie, dispunnd de o soluie admisibil de baz pentru problema dual
este de preferat s continum s rezolvm problema dual.
Considerm problema de programare liniar sub forma standard i fie B o
baz cunoscut a acestei probleme, iar u = c B B 1 este admisibil pentru
problema dual. Dac xB=B1b0, aceast soluie este primal admisibil i atunci
ea este optim. Vectorul u este admisibil pentru problema dual i atunci are loc
inegalitatea uajcj pentru j = 1, n . Presupunnd c baza este format cu primele
m coloane ale lui A, atunci au loc egalitile uaj=cj , j = 1, m i, cu excepia

degenerrii, inegalitile uaj<cj , j = m + 1, n . ntr-o iteraie a metodei simplex


duale vom gsi un nou vector u , astfel nct una din egalitile de mai sus devine
inegalitate, iar una din inegaliti devine egalitate, n acelai timp valoarea funciei
obiectiv pentru problema dual crete. Cele m egaliti n noua soluie determin o
nou baz. Notm linia i a matricei B1 cu i . Atunci, pentru u = u i
avem u a j = u a j i a j . Astfel, notnd zj=uaj i observnd c uaj=yij ,
(elementele (i, j) din tabelul simplex), avem:
u a j = c j , j = 1, m ,

ji

u a i = c i
u a j = z j y ij

j = m + 1, n ,

(4.55)
ji

De asemenea,
u b = ub xiB
Pentru cuplul de probleme duale

(4.56)

4. Programare liniar

91

min c x

Ax = b
x0

max bu
t
A uc
u arbitrar

algoritmul simplex dual const din urmtorii pai.


Pas 0. Se determin o baz dual admisibil B , n matricea A , se calculeaz
B

x = B -1b , z = c B x

, y Bj = B -1a j , z j c j , 1 j n

aj fiind coloane ale matricei A.


Pas 1. a) Criteriu de ieire din baz
1) dac toi x i 0 , atunci programul este optim. Stop!
2) dac ()xi < 0 , atunci se determin l astfel nct

x l = min x i x i < 0

}.

b) Criteriu de intrare n baz


1) dac toi ylj 0 , atunci problema nu are programe. Stop!
2) dac () y lj < 0 , atunci se determin k astfel nct

0 =

zj cj
z k ck
= min
j ylj <0
y lk
y lj

(4.57)

Pas 2. Se nlocuiete n baza B coloana l cu coloana k , obinndu-se noua baz


~
B . Se calculeaz
~
~
~
~
y lj
B
x
x
x
x l = l , y ijB =
, x iB = x i y ik i (i l ) , y ijB = y ij y ik i (i l )
y lk
y lk
y lk
y lk
~
B

z = z B -( z k c k )

xl
,
y lk

~
B

1 i n , z j c j = z j c j (z k c k )

y lj
y lk

1 j n
~
i se trece la pasul 1, nlocuind B cu B .
n continuare sunt prezentate cteva observaii privind algoritmului de mai sus.
a) alegerea lui k n relaia (4.57) ne permite s afirmm c noua soluie va fi
din nou dual admisibil;
b) din relaia (4.56) i din alegerea lui x l < 0 (conform cu a2 din algoritmul
simplex dual) valoarea funciei obiectiv pentru problema dual va crete;
c) algoritmul nu se termin dect cu soluia optim i valoarea corespunztoare
pentru funcia obiectiv sau dac problema dual are valoarea nemrginit pentru
funcia obiectiv;
d) deoarece exist numai un numr finit de baze, optimul trebuie s fie obinut
ntr-un numr finit de iteraii.
Exemplu. S considerm problema dietei 4.1.5. particularizat astfel:

Modele i algoritmi de optimizare

92

min {3x1+4x2+5x3}
x1 + 2 x 2 + 3x 3 5

2 x1 + 2 x 2 + x 3 6
x 0
i = 1,3
i

min {3x1+4x2+5x3}
x1 + 2 x 2 + 3 x 3 x 4 = 5

2 x1 + 2 x 2 + x 3 x 5 = 6
x 0
i = 1,5
i

forma standard

duala corespunztoare

i aplicm algoritmul simplex dual problemei


min {3x1+4x2+5x3}
x1 2 x 2 3x 3 + x 4 = 5

2 x1 2 x 2 x 3 + x 5 = 6
x 0
i = 1,5
i
obinut din precedenta prin nmulirea primelor dou restricii cu 1.
Coloanele 4 i 5 din matricea coeficienilor restriciilor dau o baz dual
admisibil, deoarece valorile pentru x4 i x5 sunt negative, iar zjcj sunt
nepozitive. La prima iteraie iese din baz x5 i intr x1, iar la iteraia a doua iese
din baz x4 i intr x2. Rezultatele sunt trecute n Tabelul 4.14.
Valoarea funciei obiectiv este min f=10, obinut pentru x1=1 i x2=2 .

4.15. Interpretarea economic a algoritmului simplex dual

Pentru exemplificare ne vom referi la problema utilizrii eficiente a resurselor


(Dragomirescu i Malia, 1968)
max c x

Ax b
x 0

unde: xj este numrul de uniti din sortimentul j care trebuie produse i

a
j =1

ij

xj

reprezint cantitatea din resursa i care se consum n procesul de producie.


Problema dual asociat acesteia este
min b u
T
A u c
u 0

unde: ui este costul unitar intern (shadow price) al resursei i, iar

a
i =1

ij

u i reprezint

valoarea total a resurselor consumate pentru realizarea unei uniti din sortimentul j.
Tabelul 4.14

4. Programare liniar

93
3

alegem min
min

CVB

VB

VVB

x1

x2

x3

x4

x5

x4

x5

5
2

1
2

1
2

valoarea
funciei
obiectiv z

x4

x1

1
2

valoarea
funciei
obiectiv z

x2

5
2

1
2

x1

11

Valoarea
funciei
obiectiv z

zj cj

yij <0

y ij

3 4 5
,
,
2 2 1

1
,
1

7
1

2, 2
5
1

2
2

Problema dual se poate enuna astfel:


S se determine costurile interne unitare ale resurselor astfel nct profitul unitar
al fiecrei resurse s nu depeasc valoarea resurselor consumate pentru
realizarea lui, iar costul total al resurselor s fie minim.
Inegalitatea dat de Lema slab a dualitii pentru acest cuplu de probleme
duale ( c x b u ) are aici urmtoarea semnificaie: pentru nici un plan de

Modele i algoritmi de optimizare

94

producie x i nici un sistem de costuri interne u profitul total al ntreprinderii nu


poate depi costul total al resurselor; egalitatea se realizeaz doar pentru
programele optime de producie i pentru costuri interne optime.
Relaiile Teoremei ecarturilor complementare scrise sub forma
n

u i bi a ij x j = 0 , 1 i m i x j a ij u i c j = 0 , 1 j n
j =1
i =1

n acest caz au urmtoarea interpretare: ntr-un plan de producie optim nu se pot


produce sortimente pentru care consumurile de resurse calculate pe baza
costurilor interne depesc profiturile. n plus, costurile interne nenule se atribuie
numai resurselor folosite integral n cadrul acestui plan.

4.16. Determinarea unei soluii dual admisibile

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

nou problem care are toi coeficienii funciei obiectiv nenegativi:

4. Programare liniar

95

min(2 M + x 3 + x 5 + 2 x 6 )

x1 + 2 x 3 x 5 x 6 = 4 M
x 2 + 3x3 + x5 + 4 x 6 = 1 + 4M
x3 + x 4 + x 6 = M

x i 0 , 1 i 6
unde M este suficient de mare astfel nct 4M < 0 . Se obine o soluie dual
admisibi x1= 4M , x2 = 1+4M , x4 = M .

4.17. Probleme propuse

1. ntr-o staie de betoane se pot produce 3 tipuri de betoane (B150, B200, B300).
Staia este organizat astfel nct fiecare betonier poate produce orice marc de
betoane, capacitatea zilnic maxim a staiei este de 600 m3 . Betonul se transport
cu ajutorul a 20 de autobetoniere de 5 m3 capacitate fiecare, duratele ciclurilor de
transport pentru cele 3 mrci de betoane fiind de 0.1 ; 0.2 i 0.1 zile respectiv.
Consumurile normate de ciment pe cele trei mrci de beton sunt respectiv 200, 300
i 400 kg/m3 . Staia este aprovizionat zilnic cu o cantitate de 180 tone de ciment .
Ca urmare a organizrii staiei se obin urmtoarele economii pe mrci de beton: 1;
1.2 i 0.8 u.m. / m3 .
Se cere gsirea soluiei care aduce maximum de profit staiei, tiind c se cere
beton n cantiti mai mari dect posibilitile de preparare.
Rezolvare
a) Modelarea problemei
Notm cu x1 , x2 , x3 , cantitile de beton din fiecare marc ce se cer a fi
determinate astfel nct funcia obiectiv
z = f(x1 , x2 , x3 ) = 1x1 + 1.2x2 + 0.8x3 ,
s fie maxim sub restriciile
x1 + x2 + x3 600 (nu se poate depi capacitatea de producie a staiei)
0.1x1 +0.2x2 +0.1x3 205 (nu se poate depi capacitatea zilnic de
transport)
200x1 +300x2 + 400x3 600 (nu se poate depi cantitatea de ciment cu
care este aprovizionat zilnic staia)
S-a obinut urmtoarea problem de programare liniar:

Forma canonic

Forma standard

Modele i algoritmi de optimizare

96

max{x1 + 1.2 x 2 + 0.8 x 3 }


x + x + x 600
2
3
1
2
x
x
x 3 1000
+
+
1
2
2 x + 3x + 4 x 1800
2
3
1
x i 0 , i = 1, 2, 3

max{x1 + 1.2 x 2 + 0.8 x 3 }


x + x + x + x = 600
2
3
4
1
2
x
x
x
x 5 = 1000
+
+
+
1
2
3
2 x + 3x + 4 x + x = 1800
2
3
6
1
x i 0 , i = 1,6
dup introducerea variabilelor ecart

Se obin urmtoarele rezultate:


max f=680 realizat pentru x1=200 , x2=400 , x3=0 .
Variabilele auxiliare x4=0 , x5=0 , x6=200 , arat c primele dou restricii se
verific pentru soluia de mai sus cu egaliti, iar cea de-a treia cu inegalitate.
Profitul este maxim dac nu se produce beton de tipul B300.

2. ntr-o secie a unei ntreprinderi se produc trei tipuri de produse P1, P2 , P3 ,


folosind rezerve de for de munc (F) i resurse financiare (B) limitate conform
Tabelul 4.15.
Tabelul 4.15
Tip produs
P1 P2

P3

Disponibil

2
3
3

15
12

Rezerve
F
B
Profit

2
1
1.5

3
2
4

care conine i consumurile din aceste rezerve la unitatea de produs pentru fiecare
tip, precum i beneficiile aduse de o unitate de fiecare tip de produs. Datorit
condiiilor impuse de stocare ntreaga producie nu trebuie s depeasc 8 uniti.
S se determine planul optim de producie care n condiiile date s dea un
profit total maxim pe secie.
R. n urma modelrii acestei probleme se obine urmtorul program liniar:
max f = max{1.5x1+4x2+3x3}
2 x1 + 3x 2 + 2 x 3 15
x + 2 x + 3 x 12
1
2
3
.

8
+
+

x
x
x
2
3
1
x i 0 , i = 1,3
Se obine soluia max f=20.4 pentru x1 = 0 , x2 = 4.2 , x3 = 1.2 .
3. La o secie de producie a unei ntreprinderi de construcii, unde se lucreaz n
flux continuu de band, sunt necesare pentru fabricarea de panouri pentru cofraje 4
tipuri de materii prime (panel (P), scndur de brad (SB), dulapi (D), cuie (C)) care

4. Programare liniar

97

sunt prelucrate la 3 standuri. Repartiia materiilor prime i a cheltuielilor de munc


necesare prelucrrii pe cele 3 standuri este dat de Tabelul 4.16.
Tabelul 4.16
Materie prim
Stand

S1
S2
S3
Cheltuieli de munc

SB

1
1
0
6

1
2
1
8

0
1
1
12

1
0
1
10

Nr. necesar de
panouri
2
4
3

S se determine un plan de producie astfel nct cheltuielile s fie minime.


R. Modelnd problema se obine urmtorul program liniar:
min f = min {6x1+8x2+12x3+10x4}
x1 + x 2 + x 4 = 2
x + 2x + x = 4
1
2
4
.

x 2 + x3 + x 4 = 3
x i 0 , i = 1,4
Se obine soluia min f = 29 , pentru nivelurile de consum de materiale
x1=0 , x2=1.5 , x3=1 , x4=0.5 .

4. O secie a unei ntreprinderi are n fabricaie 7 tipuri de produse, P1P7 . Dou


materii prime (M1 , M2 ) necesare realizrii acestor produse sunt n cantiti limitate,
200 i respectiv 300 uniti, celelalte fiind n cantiti suficiente oricrui plan de
producie. Consumurile de materii prime M1 , M2 pe unitatea de produs pentru
fiecare tip, precum i beneficiile nete aduse de producerea unei uniti din fiecare
tip de produs sunt date n Tabelul 4.17.
Tabelul 4.17
Produs
Materie

M1
M2
Profit

P1

P2

P3

P4

P5

P6

P7

3
5
6

4
3
5

2
1
2

3
4
6

5
2
6

2
4
5

3
3
6

Datorit unei cereri mari de produse P1 , P2 s-a propus ca mcar 25% din
ntreaga producie a seciei s fie reprezentat de aceste produse. S se determine
un plan de producie care s respecte condiiile impuse i care s aduc un profit
total maxim n secia respectiv.
R. Trebuie rezolvat urmtoarea problem de programare liniar:
max f = max{6x1+5x2+2x3+6x4+6x5+5x6+6x7}

Modele i algoritmi de optimizare

98

3 x1 + 4 x 2 + 2 x 3 + 3x 4 + 5 x 5 + 2 x 6 + 3x 7 200
5 x + 3 x + x + 4 x + 2 x + 4 x + 3 x 300
1
2
3
4
5
6
7

3
3
0

+
+
+
+
+

x
x
x
x
x
x
x
1
2
3
4
5
6
7

x i 0 , i = 1,7
Se obine max f =430.77 pentru
x1=19.23 ; x2= x3= x4= x5=0 ; x2=30.77 ; x2=26.92 .

5. Problema dietei alimentare (problem de amestec)


Un meniu trebuie s asigure necesarul n substanele S1 , S2 , S3 , cu ajutorul
alimentelor A1 , A2 , A3 . Cantitile de substanele S1 , S2 , S3 , ce se gsesc ntr-o
unitate de aliment de fiecare fel, cantitile minime necesare organismului n cele 3
substane, precum i preurile celor 3 alimente sunt trecute n Tabelul 4.18.

Aliment
Substan
S1
S1
S1
Pre

Tabelul 4.18
A1
A2
A3
4
5
1
8

3
7
5
7

2
2
4
5

Necesar
24
35
40

S se determine cantitile ce trebuie incluse n meniu din cele 3 alimente,


astfel nct costul total al meniului s fie minim .
R. n urma modelrii se obine problema de programare liniar sub forma canonic
min f = min{8x1+7x2+5x3}
4 x1 + 3 x 2 + 2 x 3 24
5 x + 7 x + 2 x 35
1
2
3
.

x1 + 5 x 2 + 4 x 3 40
x i 0 , i = 1,3
Dup introducerea variabilelor de compensare se obine problema sub forma
standard, dar nu are o baz canonic evideniat. De aceea se aplic metoda n dou
faze.
min f = min{8x1+7x2+5x3}
4 x1 + 3x 2 + 2 x 3 x 4 = 24
5 x + 7 x + 2 x x = 35
1
2
3
5
.

x1 + 5 x 2 + 4 x 3 x 6 = 40
x i 0 , i = 1,6
Se obine min f = 56 , meniul const din 8 uniti din alimentul al doilea i
coninutul n substana S2 depete minimul necesar cu 21 uniti, adic
x1=0 , x2=8 , x3=0 , x4=0 , x5=21 , x6=0 .

4. Programare liniar

99

6. Substanele S1 , S2 , S3 , S4 conin n cantiti diferite elementele E1 , E2 , E3 , E4.


Din cele 4 substane trebuie fcut un amestec care s conin cel puin 28, 30, 25 i
respectiv 25 uniti din cele 4 elemente. Cte o unitate din fiecare tip de substan
cost 6, 3, 4 i respectiv 5 u. m.
Coninutul unei uniti din fiecare substan n cele 4 elemente este dat de Tabelul
4.19.
Tabelul 4.19
Substan S1
S2
Element
E1
E2
E3
E4

3
4
0
5

2
0
3
0

S3

S4

1
3
0
3

3
1
4
1

Coninutul substanelor S1 , S2 n alte elemente ce aduc amestecului anumite


proprieti speciale cer ca acest amestec s conin cel puin 3 uniti din S1 i cel
puin 3 uniti din S2 . S se determine cantitile ce trebuie amestecate din cele 4
substane astfel nct s fie ndeplinite toate condiiile impuse, iar costul total al
amestecului s fie minim.
R. Modelnd problema se obine
min f = min {6x1+3x2+4x3+5x4}
3 x1 + 2 x 2 + x 3 + 3 x 4 28
4 x + 3x + x 30
3
4
1
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
3
4
1
.
3 y 2 + 4 y 4 19
5 y + 3 y + y 10
3
4
1
y i 0 , i = 1,4
Dup aducerea la forma standard, se aplic metoda n dou faze i, dup
revenirea la variabilele xi , se obine soluia:
min f =65.416 , pentru x1=3 , x2=2 , x3=4.416 , x4=4.75 .

Modele i algoritmi de optimizare

100

7. O ntreprindere dorete s produc un nou aliaj format din 30% metal A i 70%
metal B. Pentru aceasta are la dispoziie alte 5 aliaje ale cror preuri i compoziii
sunt date n Tabelul 4.20.

Aliaj
%A
%B
Pre/kg

Tabelul 4.20
1
2
3
1
2
5
0
5
0
9
7
5
0
5
0
5
4
3

4
7
5
2
5
2

5
95
5
1.5

Aliajul dorit va fi produs prin combinarea unor cantiti din celelalte 5 aliaje. S se
determine cantitile necesare realizrii noului aliaj cu cost minim.
R. Notm cu xi cantitatea din aliajul i (i=1,2,...,5) care intr n alctuirea noului
aliaj. Trebuie rezolvat urmtoarea problem de programare liniar:
min {5x1+4x2+3x3+2x4+1.5x5 }
10 x1 + 25 x 2 + 50 x 3 + 75 x 4 + 95 x 5 = 30

90 x1 + 75 x 2 + 50 x 3 + 25 x 4 + 5 x 5 = 70
x ,..., x 0
5
1
care are soluia: x1=0 , x2=0.9 , x3=0 , x4=1 , x5=0 , iar valoarea funciei obiectiv
este min f = 3.8 .

8. O rafinrie de petrol are dou surse de aprovizionare cu petrol brut: petrol brut
uor la 35$/baril i petrol brut greu la 30 $/baril. Rafinria produce benzin, petrol
lampant i benzin superioar, obinnd dintr-un baril de petrol brut cantitile din
Tabelul 4.21.
Tabelul 4.21
Produs finit

Benzin

Petrol
lampant

Benzin
superioar

0.3
0.3

0.2
0.4

0.3
0.2

Materie prim
Petrol brut uor
Petrol brut greu

Rafinria s-a angajat s produc 900 000 barili de benzin, 800 000 barili de petrol
lampant i 500 000 barili de benzin superioar. Ce cantiti de petrol brut uor i
greu trebuie achiziionate pentru a se realiza angajamentul cu un cost minim?
R. Notm cu x1 , x2 , x3 cantitile de petrol brut uor folosite pentru obinerea de
benzin, petrol lampant i respectiv benzin superioar, i analog x4 , x5 , x6 ,
cantitile de petrol brut greu. Se ajunge la urmtoarea problem de programare
liniar:
min {35(x1 + x2 + x3 ) + 30(x4 + x5 + x6 )}

4. Programare liniar

101

0.3 x1 + 0.3x4 = 900 000


0.2 x + 0.4 x = 800 000

2
5

0.3 x3 + 0.2 x6 = 500 000


x1 , x2 , x3 , x4 , x5 , x6 0
Pentru realizarea planului de producie sunt necesare cantitile 1 666 666.67
barili petrol brut uor i 5 000 000 barili petrol brut greu, costul minim fiind
208 333 333.33 .

9. O firm produce cinci tipuri de piese de schimb pentru automobile. Fiecare pies
este turnat n oel la turntorie i apoi este trimis la secia de finisaj. Numrul de
ore munc necesare pentru 100 de uniti din fiecare tip de pies n cele dou secii
sunt date n Tabelul 4.22.
Tabelul 4.22
Tip pies 1
2
Secie
Turntorie
Finisaj
Profit / 100 uniti

2
3
3
0

1
2
2
0

3
2
4
0

3
1
2
5

1
1
1
0

Capacitatea de turnare i finisare pe parcursul unei luni este de 700, respectiv


1000 ore munc. S se determine numrul de piese din fiecare tip care trebuie
produse pentru a se obine un profit maxim.
R. Notnd cu xi numrul de sute de piese de tipul i, i = 1,5 , obinem urmtoarea
problem de programare liniar
max {30x1+20x2+40x3+25x4+10x5}
2 x1 + x 2 + 3 x 3 + 3 x 4 + x 5 7

3 x1 + 2 x 2 + 2 x 3 + x 4 + x 5 10
x 0 , i = 1,5
i

care are maximul egal cu 120, obinut pentru x1=0 , x2=4 , x3=1 , x4=0 , x5=0 .

10. O firm productoare de calculatoare prognozeaz c n urmtoarele n luni


cererea va fi di , i = 1, n . ntr-o lun firma poate produce r uniti cu un cost b.
Lucrnd peste program, firma poate produce calculatoare la un cost c > b . Costul
unitar de stocare al calculatoarelor de la o lun la alta este s . S se determine
planul de producie care minimizeaz costul.

5. PROBLEMA DE TRANSPORT

5.1. Fundamentele algoritmului de transport


Problema de transport (4.8) (4.11) are totdeauna o soluie admisibil, anume
m
n
ai b j
, unde S = a i = b j i care este o soluie mrginit de ai i bj .
xi j =
S
i =1
j =1
Exist n total n+m restricii (m ecuaii corespunztoare restriciilor date de
centrele de aprovizionare i cele n ecuaii corespunztoare restriciilor date de
m

centrele de consum) la care se adaug condiia de echilibru

a = b
i =1

j =1

. De aici

rezult c una dintre restricii este redundant. Orice restricie se poate exprima n
funcie de celelalte m+n1 rmase.
Teorema 5.1. Problema de transport are totdeauna soluie i o restricie este
redundant. nlturnd oricare dintre restricii, cele n+m1 rmase formeaz un
sistem liniar independent (Luenberger, 1989).
Demonstraie. Existena soluiei i redundana rezult din observaia de mai sus.
Deoarece suma restriciilor date de centrele de aprovizionare este egal cu suma
restriciilor date de centrele de consum, rezult c orice restricie poate fi exprimat
ca o combinaie liniar de celelalte m+n1 . Astfel, orice restricie poate fi
eliminat. S presupunem c am eliminat o restricie, fie ea ultima. Presupunem c
exist o combinaie liniar a ecuaiilor rmase egal cu zero. S notm cu
i , i = 1, m , coeficienii acestei combinaii liniare corespunztori primelor ecuaii

din problema de transport i cu

j , j = 1, n 1

coeficienii corespunztori

ultimelor n1 ecuaii. Fiecare variabil xin , i = 1, m , apare numai n a i - a


ecuaie, deoarece ultima ecuaie a fost nlturat. Astfel, i = 0 , i = 1, n . n restul
ecuaiilor

x ij

apare numai ntr-o ecuaie i astfel j = 0, j = 1, n 1 . Aadar,

sistemul de n+m1 ecuaii este liniar independent.

Din Teorema 5.1 rezult c o baz pentru problema de transport este


format din m+n1 vectori liniar independeni, iar soluia de baz admisibil are
m+n1 variabile. Problema dual asociat problemei de transport este dat de
(4.51) . Are loc urmtoarea teorem.

5. Problema de transport

103

Teorema 5.2. Cuplul de soluii duale

(x )
ij

(u , v )
i

este optim pentru

problemele (4.8)-(4.11), respectiv (4.51), dac i numai dac


n

xij = ai ;
j =1

x
i =1

ij

= b j ; x ij 0

c ij u i v j 0 ; x ij c ij u i v j = 0.
(rezult din Teorema ecarturilor complementare).
Din ultima condiie rezult c pentru x ij > 0 se obine c ij = u i + v j .
n cele ce urmeaz prin celul se nelege o pereche de indici (i,j), iar prin
ciclu se nelege un ir de celule notate
(i1 , j1 ) , (i1 , j 2 ) , (i2 , j1 ) , L , (it , jt ) , (it , j1 ) .
n continuare vom evidenia cea mai important proprietate structural a
problemei de transport: toate bazele sunt triunghiulare. Aceast proprietate
simplific rezolvarea unui sistem de ecuaii liniare a crui matrice a coeficienilor
are o astfel de baz i aceasta conduce la implementarea eficient a metodei
simplex pentru problema de transport.

Definiia 5.1. O matrice ptratic se numete triunghiular dac prin permutri ale
liniilor i coloanelor sale poate fi pus sub forma unei matrice inferior triunghiular.
O matrice inferior triunghiular este triunghiular n sensul definiiei de mai
sus. O matrice nesingular superior triunghiular este de asemenea triunghiular
deoarece prin schimbarea ordinii liniilor i coloanelor sale devine inferior
triunghiular.
Algoritm pentru a determina dac o matrice este triunghiular.
Pas 1. Se gsete linia care are un singur element nenul.
Pas 2. Se formeaz o submatrice din matricea dat prin tierea liniei i coloanei
elementului nenul din pasul 1. Se reia pasul 1 cu submatricea obinut.
Dac aceast procedur poate fi continuat pn cnd toate liniile au fost
eliminate, atunci matricea este triunghiular. Ea poate fi pus sub forma inferior
triunghiular prin aranjarea liniilor i coloanelor n ordinea n care au fost
determinate prin procedura de mai sus.

Exemplu. Folosind algoritmul de mai sus, s stabilim dac matricea


1 1 0 0 0

0 0 1 0 0
B = 0 0 0 1 1

1 0 0 1 0

0 0 1 0 1
este triunghiular.

104

Modele i algoritmi de optimizare

Notm n partea stng a matricei B ordinea n care au fost gsite liniile cu un


singur element nenul, iar sub matricea B, ordinea coloanelor corespunztoare
elementului nenul.
1 1 0 0 0 5

0 0 1 0 0 1
B = 0 0 0 1 1 3

1 0 0 1 0 4

0 0 1 0 1 2
4 5 1 3 2
Permutm liniile n ordinea dat de coloana din dreapta matricei B i obinem
matricea
0 0 1 0 0

0 0 1 0 1
B1 = 0 0 0 1 1 .

1 0 0 1 0

1 1 0 0 0
Permutm coloanele n matricea B1 n ordinea dat de linia de sub matricea B
i obinem matricea
1 0 0 0 0

1 1 0 0 0
B2 = 0 1 1 0 0

0 0 1 1 0

0 0 0 1 1
care este inferior triunghiular i astfel matricea iniial este triunghiular.

Aceast proprietate a matricelor este important i are aplicaii n rezolvarea


sistemelor de ecuaii liniare prin metoda substituiei (eliminrii) a lui Gauss.
Sistemul de ecuaii Ax=b , cu A inferior triunghiular permite determinarea lui x1
din prima ecuaie, apoi x2 din cea de-a doua ecuaia .a.m.d.
Teorema 5.3. Orice baz a problemei de transport este triunghiular.
Demonstraie. Considerm sistemul de restricii din problema de transport:
n
x ij = a i ( 1) i = 1, m
j =1
m
x ij = b j
j = 1, n
i =1
Schimbm semnul la primele m ecuaii i atunci matricea coeficienilor este
format numai din 1 , 0, +1. Din Teorema 5.1, tergnd oricare dintre ecuaiile de
mai sus, se elimin redundana. Din matricea coeficienilor care rezult se formeaz o

5. Problema de transport

105

baz nesingular, B, prin selectarea unei mulimi de m+n1 coloane. Fiecare


coloan a matricei B conine cel mult dou elemente nenule, unul egal cu +1 i
altul egal cu 1 . Astfel exist cel mult 2(m+n1) elemente nenule n baz.
Totui, dac orice coloan ar conine dou elemente nenule, atunci suma lor ar fi
zero i s-ar contrazice nesingularitatea lui B . Astfel, cel puin o coloan a lui B
trebuie s conin numai un element nenul. Aceasta nseamn c numrul total de
elemente nenule din B este mai mic dect 2(m+n1) . Rezult c trebuie s fie o
linie cu numai un element nenul, altfel, dac orice linie ar avea dou sau mai multe
elemente nenule, numrul total al elementelor nenule ar fi cel puin 2(m+n1).
Deducem c primul pas al procedurii de verificare a triunghiularitii se verific i
raionamentul se poate continua pentru submatricea obinut din B prin tierea
liniei i coloanei corespunztoare elementului nenul. Se continu raionamentul,

stabilind c B este triunghiular.


Deoarece orice matrice baz n problema de transport este triunghiular i toate
elementele nenule sunt egale cu 1, rezult c, prin rezolvarea sistemului de ecuaii
liniare Bx=b cu metoda substituiei, dac toate datele iniiale sunt numere ntregi,
soluia va fi format din numere ntregi. Acest lucru poate fi dat ca un corolar la
Teorema 5.3.
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.
Metoda simplex aplicat problemei de transport, innd seama de rezultatele de
mai sus, este o versiune a algoritmului simplex revizuit i poart numele de
algoritmul de transport (datorat lui Kantorovich).
Multiplicatorii simplex asociai cu ecuaiile restriciilor i notm cu =(u,v) ,
uRm, vRn . Deoarece o restricie este redundant, vom considera de exemplu c
vn=0 . Dat o baz B , multiplicatorii simplex se gsesc ca soluii ale sistemului
B = c B .
Ca s-i determinm n mod explicit din aceast ecuaie, ne referim din nou la
sistemul iniial de restricii. Dac xij este necunoscut de baz, atunci coloana
corespunztoare din A va fi inclus n B. Aceast coloan are exact dou
elemenete nenule egale cu +1: unul n pozitia i din partea superioar i altul n
poziia j din partea inferioar. Aceast coloan genereaz pentru multiplicatorii
simplex ecuaia
ui+vj=cij ,
ui
i
vj
sunt componentele corespunztoare ale vectorului
deoarece
multiplicatorilor simplex. n general, ecuaiile multiplicatorilor simplex sunt
ui+vj=cij ()i, j
pentru care xij sunt bazice. Matricea coeficienilor acestui sistem este transpusa
matricei bazei, aadar este triunghiular i sistemul poate fi rezolvat prin metoda
substituiei.

Modele i algoritmi de optimizare

106

Corolar 5.2. Dac toate costurile unitare din problema de transport sunt ntregi,
atunci, dnd o valoare ntreag la un multiplicator oarecare, multiplicatorii
simplex asociai cu orice baz sunt ntregi.
Dac multiplicatorii simplex sunt cunoscui, coeficienii costurilor relative
pentru variabilele nebazice pot fi calculai cu relaiile
S = S c S .
n acest caz coeficienii costurilor relative sunt
ij = u i + v j cij , () i = 1, m , () j = 1, n .
Pentru variabilele bazice

ij = 0 . Dat o baz, calculul multiplicatorilor

simplex este asemntor cu calculul variabilelor de baz.


Conform cu algoritmul simplex general, dac o variabil nebazic are un
coeficient de cost relativ pozitiv, atunci acea variabil este candidat s intre n
baz. Cum valoarea acestei variabile este cresctoare, valorile variabilelor de baz
curente vor fi schimbate astfel nct s se menin admisibilitatea soluiei. Valoarea
noii variabile va crete exact pn la valoarea pentru care vechea variabil de baz
devine zero.
Dac noul vector de baz este d , atunci schimbarea n celelalte variabile de
baz este dat de B 1d , unde B este baza curent. Din nou avem de-a face cu
o problem de rezolvare a unui sistem cu baz triunghiular i din nou soluia are
proprieti speciale.
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

Determinarea acestor semne se face prin parcurgerea tabelului de trasport. Se


atribuie un semn + celulei corespunztoare variabilei care intr n baz,
reprezentnd o schimbare cu +, unde nu este nc determinat. Atunci,
plusurile, minusurile i zerourile sunt atribuite unul cte unul celulelor anumitor
variabile de baz, indicnd schimbri cu +, , sau 0 ca s se menin soluia
admisibil. La fiecare pas, exist o relaie B 1 d , care determin n mod unic
semnul care va fi atribuit celorlalte variabile de baz. Rezultatul va fi o succesiune
de plusuri i minusuri atribuite celulelor care formeaz un ciclu iniiat de celula
variabilei care va intra n baz. De fapt, noua schimbare este o parte a unui ciclu de
redistribuire a fluxului mrfii n sistemul de transport. Dup ce succesiunea de
plusuri, minusuri i zerouri a fost determinat, se obine o nou soluie admisibil
prin modificarea nivelului variabilelor cu +, , sau 0. trebuie determinat
asfel nct vechea variabil de baz s ia valoarea 0. Se examineaz variabilele
crora li s-a atribuit semnul minus pentru a determina minimul valorilor acestor
variabile, iar valoarea gsit va fi atribuit lui . Aceast valoare se adaug
celulelor care au semnul plus i se scade din cele cu semnul minus. Rezultatul va fi
o nou soluie admisibil.

5.2. Enunul algoritmului de transport

Pe baza rezultatelor de mai sus, se poate enuna algoritmul de transport sub


urmtoarea form.
Pas 0. Se determin o soluie de baz admisibil x ij , corespunztoare bazei B,

format cu m+n1 coloane liniar independente din matricea A i fie B


mulimea celulelor de baz;
Pas 1. Se rezolv sistemul de ecuaii
u i + v j = c ij , () (i, j ) B .
Se obine o soluie particular lund vn=0 i se calculeaz pentru aceast
soluie coeficienii de cost redus,
ij = u i + v j cij , () (i, j ) S ,

S fiind mulimea celulelor corespunztoare coloanelor matricei A care nu


se afl n B (celule secundare).
Dac ij 0 pentru () (i, j ) S , atunci soluia de baz x ij este
optim. Stop!
Altfel, se determin ( s, k ) S , lund drept criteriu de intrare n baz

sk = max{ ij ()(i, j ) S

Pas 2. Se determin ciclul format de ( s, k ) S cu o parte din celulele lui B i


se numeroteaz celulele alegnd un sens de parcurgere a ciclului.

Modele i algoritmi de optimizare

108

Se determin celula (r , t ) B care va iei din baz , lund drept criteriu

{ },

de ieire din baz x rt = min x ij

minimul fiind luat dup toate celulele

de ordin par din ciclul determinat mai sus.


~
Pas 3. Se formeaz, pornind de la baza B, baza B , prin nlocuirea coloanei art
~
cu coloana
ask . Se determin soluia de baz admisibil
x ij
~
corespunztoare bazei B , folosind pentru schimbarea bazei formulele:
xij xrt dac (i,j ) este de rang par n ciclu

~
xij = xij + xrt dac (i,j ) este de rang impar n ciclu
x
dac (i,j ) nu face parte din ciclu
ij
~
Se nlocuiete B cu B , x ij cu ~
x ij i se trece la Pas 1.

5.3. Determinarea soluiei iniiale de baz

Algoritmul prezentat mai nainte necesit la pornire un program de baz iniial.


Metoda general de obinere a acestui program este urmtoarea (Malia i
Zidroiu, 1971):
a) Se d unei variabile de baz oarecare xij valoarea
x ij = min {a l , bk } .
1 l m
1 k n

b) Se nlocuiesc ai i bj cu a i x ij i respectiv cu b j x ij i se suprim linia


i , dac x ij = ai , sau coloana j , dac x ij =bj . Dac ai=bj se suprim fie
linia i , fie coloana j .
c) Se repet operaiile de la a) i b) pn cnd toate cererile sunt satisfcute.
S demonstrm c algoritmul de mai sus produce o soluie de baz. De fiecare
dat cnd apare un xij>0 se suprim o linie i/sau o coloan. La sfrit, vor rmne
o coloan i o linie nesuprimate. Pn n acest moment au fost suprimate m+n2
linii i coloane. Cantitatea rmas n linia nesuprimat este egal cu cantitatea
rmas n coloana nesuprimat, aa cum rezult din condiia de echilibru.
Satisfcnd i ultima linie, se obine o nou variabil xij>0 , adic sunt cel mult
m+n1 variabile xij>0.
Exist diferite metode de determinare a programului de baz iniial obinute din
metoda general prezentat mai sus, dup cum se particularizeaz xij cu care se
ncepe metoda, cum ar fi de exemplu: metoda colului nord-vest a lui G. B. Dantzig
(se selecteaz celula (i,j) situat n prima linie i prima coloan) i metoda

5. Problema de transport

109

costului minim a lui H. S. Houthakker (se selecteaz la fiecare pas celula (i,j)
corespunztoare costului minim cij ).

5.4. Exemplu

O ntreprindere de construcii are n lucru 4 blocuri de locuine n diferite locuri


n ora i se aprovizioneaz cu mortar de la 3 staii de betoane de asemenea
amplasate n diferite locuri. Prin contract, prima staie de betoane asigur 10 m3 , a
doua 15 m3 , iar a treia 25 m3 . Necesarul zilnic de mortar pentru fiecare bloc este
de 5 m3 pentru primul, 10 m3 pentru al doilea, 20 m3 pentru al treilea i 15 m3
pentru al patrulea. Preul de transport pentru 1 m3 de la o staie de betoane la un
bloc este dat de Tabelul 5.1.
Tabelul 5.1
Bloc
Staie
betoane
S1
S2
S3
Necesar (bj)

B1

B2

B3

B4

Disponibil ( ai )

8
4
1
5

3
1
9
10

5
6
4
20

2
7
3
15

10
15
25

S se gseasc un plan de transport care s determine cantitile zilnice xij de


mortar ce trebuie aduse de la staia de betoane i la blocul j, astfel nct
cheltuielile de transport s fie minime.
Rezolvare
a) Modelarea problemei
3
4
multiplicatorii
min cij xij
simplex
i =1 j =1
+
x
u1
11 x12 + x13 + x14 = 10
x + x + x + x = 15
u2
22
23
24
21
u3
x31 + x32 + x33 + x34 = 25
x + x + x = 5
v1
21
31
11
+
+
x
x
x
12
v2
22
32 = 10

v3
x13 + x23 + x33 = 20
x14 + x24 + x34 = 15
v4

xij 0 , 1 i 3 , 1 j 4

Modele i algoritmi de optimizare

110

Matricea restriciilor
1

0
0

A = 1

0
0

1
0
0
0
1
0
0

1
0
0
0
0
1
0

1
0
0
0
0
0
1

0
1
0
1
0
0
0

0
1
0
0
1
0
0

0
1
0
0
0
1
0

0
1
0
0
0
0
1

0
0
1
1
0
0
0

0
0
1
0
1
0
0

0
0
1
0
0
1
0

0
1

0
0

b) Determinarea unei soluii iniiale de baz


Determinarea soluiei iniiale de baz se face cu metoda colului nord-vest, pornind
de la Tabelul 5.1, obinndu-se Tabelul 5.2.
min {a1,b1}= min {10,5}=5=b1 , x11=5 se suprim coloana 1
min {a1,b2}= min {5,10}=5=a1 , x12=5 se suprim linia 1
min {a2,b2}= min {10,5}=5=b2 , x22=5 se suprim coloana 2
min {a2,b3}= min {10,20}=10=a2 , x23=100 se suprim linia 2
min {a3,b3}= min {25,10}=10=b3 , x33=10 se suprim coloana 3
min {a3,b4}= min {15,15}=15=b4 , x34=15 se suprim linia 3 i coloana 4
Tabelul 5.2
Bloc
Staie
betoane
S1
S2
S3
Necesar (bj)

B1

B2

5
5

B3

B4

10
10
20 10

10 5

15
15

Disponibil( ai )
10 5
15 10
25 15

Mulimea celulelor de baz este urmtoarea


B= {(1,1), (1,2 ), (2,2), (2,3), (3,3), (3,4)} .
Valoarea funciei obiectiv pentru baza dat de metoda colului nord-vest este
f=58+53+51+106+104+153=205
dup cum rezult din Tabelul 5.3.
Tabelul 5.3
3

8
5

5
4

1
5

10
9

4
10

3
15

n Tabelul 5.3 celulele cu diagonal sunt celulele de baz. Matricea bazei


corespunztoare este
x11 x12 x22 x23 x33 x34

5. Problema de transport

111

0
0
B=
1

0
0

1
0
0
0
1
0

0
1
0
0
1
0

0
1
0
0
0
1

0
0
1
0
0
1

0
1

0
0

c) Algoritmul de transport
Iteraia I
Pas 1. ncepem algoritmul cu soluia de baz obinut n etapa precedent. Se
consider v4=0 i se rezolv sistemul
B = c B = ( B T ) 1 c B , unde c B =(8 3 1 6 4 3) ,

rezultnd = (u1 u 2 u 3 v1 v 2 v 3 ) = (7 5 3 1 4 1) .
Obinem pentru celulele nebazice coeficienii de cost redus, ij = u i + v j c ij ,

() (i, j ) S

valorile:
13=u1+v3c13=7+15=3; 14=u1+v4c14=0+72=5; 21=u2+v1c21=5+14=2;
24=u2+v4c24=57=2; 31=u3+v1c31=3+11=3; 32=u3+v2c32=349=10.
Cum nu toi ij 0 , () (i, j ) S , continum cu determinarea celulei care intr n
baz sk = max{ ij
ij 0

(i,j ) S } = 14 = 5

Intr n baz celula (1,4) . Vectorul d corespunztor este d=(1 0 0 0 0 0) .


Pas 2. Se determin ciclul iniiat de celula (1,4)
x11 x12 x22 x23 x33 x34

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


{ xij }= x12 = 5
x i0 j o =
min
(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

Modele i algoritmi de optimizare

112
Tabelul 5.4
3

8
5+0

55
4

1
5+5

105

4
10+5

3
155

Valoarea funciei obiectiv f=58+52+101+56+154+103=180 .


Iteraia a IIa
Pas 1. Considernd din nou v4=0 se rezolv sistemul
~
~T
B1 = c B~ = ( B1 ) 1 c B~1 , unde c B~ =(8 2 1 6 4 3)
1

= (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

Intr n baz celula (3,1) . Vectorul d corespunztor este d 1 =(0 0 1 1 0 0) .


Pas 2. Se determin ciclul iniiat de celula (3,1)
x11 x14 x22 x23 x33 x34
1

y = B1 d 1 = B1

(0

0 1 1 0 0) = ( 1 1 0 0 0 1)

C2 = (3,1) , (1,1) , (1,4) , (3,4 ) , (3,1)


~
Se determin celula care iese din baza B 1 cu criteriul
x i0 j 0 =

min

{x }= x

(i , j ){ (1,1) , (3, 4 ) }

ij

11

=5

(minimul s-a luat dup toate celulele de ordin par din ciclul C2) .
~
Pas 3. Acum iese din baz celula (1,1) i se obine baza B 2 cu celulele:
~
B 2 = { (3,1) , (1,4) , (2 ,2) , (2,3) , (3,3) , (3,4) } .
Se calculeaz
xij xrt dac celula (i,j ) este de rang par n ciclul C2

~
xij = xij + xrt dac celula (i,j ) este de rang impar n ciclul C2
x
dac celula (i,j ) C2
ij
i se trec n Tabelul 5.5.
8

Tabelul 5.5
3

2
5+5

55
4

5. Problema de transport

113
10
1

5
9

105

15

Valoarea funciei obiectiv f=102+101+56+51+154+53=140 .


Iteraia a IIIa
Pas 1. Din nou lum v4=0 i rezolvm sistemul
~
~T
B 2 = c B~ = ( B 2 ) 1 c B~21 , unde c B~ =(1 2 1 6 4 3)
1

= (u1 u 2 u 3 v1 v 2 v3 ) = (2 5 3 2 4 1) ,
i obinem pentru celulele nebazice coeficienii de cost redus,
11=u1+v1c11=228=8; 12=u1+v2c12=243=5; 31=u3+v1c31=2+15=2;
21=u2+v1c21=524=1; 24=u2+v4c24=57=2; 32=u3+v2c32=349=10.
Deoarece ij 0 , () (i, j ) S 2 , soluia x14=10 , x22=10 , x23=5 , x31=5 ,
x33=15 , x34=5 este optim, d pentru funcia obiectiv valoarea f=140 i algoritmul
se oprete.
Rezolvm aceast problem i cu ajutorul pachetului de programe Management
Scientist. Dup lansarea pachetului de programe alegem modulul Transportation
din fereastra prezentat n Figura 2.4. Din fereastra care apare se selectez din
submeniul File, New pentru crearea unei noi probleme de transport, se introduc
numrul de depozite i numrul de centre de consum, apoi costurile unitare de
transport ca n Figura 5.1.

Figura 5.1

Pentru rezolvarea problemei, din submeniul Solution se selecteaz Solve, se


alege din fereastra Select Optimization Criteria, Maximization Objective . Se
afieaz fereastra cu rezultatele problemei. Rezultatele obinute, aa cum se vd n
Figura 5.2, coincid cu cele obinute aplicnd algoritmul de transport.

Modele i algoritmi de optimizare

114

Figura 5.2

S rezolvm aceeai problem utiliznd Solver-ul din Excel. Pentru aceasta


crem foaia de calcul cu datele de intrare ca n Figur 5.3, efectund paii descrii
n continuare.

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
Target Cell (Min)
Cell

Name

Original
Value

Final
Value

$C$3

Functia de optimizat

140

140

Cell

Name

Original
Value

Final
Value

$B$15

Solutia problemei

$C$15

B2

Adjustable Cells

$D$15

B3

$E$15

B4

10

10

$B$16

Solutia problemei

$C$16

B2

10

10

$D$16

B3

$E$16

B4

$B$17

Solutia problemei

$C$17

B2

$D$17

B3

15

15

$E$17

B4

Constraints
Cell

Name

Cell Value

Formula

Status

Slack

$B$23

Restrictiile problemei

10

$B$23=$F$7

Not Binding

$B$24

Restrictiile problemei

15

$B$24=$F$8

Not Binding

$B$25

Restrictiile problemei

25

$B$25=$F$9

Not Binding

$B$26

Restrictiile problemei

$B$26=$B$10

Not Binding

$B$27

Restrictiile problemei

10

$B$27=$C$10

Not Binding

$B$28

Restrictiile problemei

20

$B$28=$D$10

Not Binding

Modele i algoritmi de optimizare

116
$B$29

Restrictiile problemei

15

$B$29=$E$10

Not Binding

$B$15

Solutia problemei

$B$15>=0

Binding

$C$15

B2

$C$15>=0

Binding

$D$15

B3

$D$15>=0

Binding

$E$15

B4

10

$E$15>=0

Not Binding

10

$B$16

Solutia problemei

$B$16>=0

Binding

$C$16

B2

10

$C$16>=0

Not Binding

10

$D$16

B3

$D$16>=0

Not Binding

$E$16

B4

$E$16>=0

Binding

$B$17

Solutia problemei

$B$17>=0

Not Binding

$C$17

B2

$C$17>=0

Binding

$D$17

B3

15

$D$17>=0

Not Binding

15

$E$17

B4

$E$17>=0

Not Binding

Tabelul 5.7
Microsoft Excel 10.0 Sensitivity Report
Worksheet: [Problema de transport.xls]Sheet1
Report Created: 7/10/2002 11:30:45 PM
Adjustable Cells
Cell

$B$13
$B$14
$B$15
$D$13
$D$14
$D$15
$F$13
$F$14
$F$15
$H$13
$H$14
$H$15

Name

x11= Solutia
problemei
x21= Solutia
problemei
x31= Solutia
problemei
x12= B2
x22= B2
x32= B2
x13= B4
x23= B4
x33= B4
X14=
X24=
X34=

Final
Value

Reduced
Cost

Objective
Coefficient

Allowable
Increase

Allowable
Decrease

1E+30

1.00

4.00

1E+30

1.00

5
0
10
0
0
5
15
10
0
5

0
5
0
10
2
0
0
0
2
0

1
3
1
9
5
6
4
2
7
3

1.00
1E+30
5
1E+30
1E+30
1.00
2
2
1E+30
2

1E+30
5
1E+30
10
2
5
1.00
1E+30
2
2

Constraints
Cell

Name

Final
Value

Shadow
Price

Constraint
R.H. Side

Allowable
Increase

Allowable
Decrease

$B$18

x11+x12+x13+x14=
Restrictiile
problemei

10

10

5. Problema de transport

$B$19

$B$20

$B$21

$B$22

$B$23

$B$24

x21+x22+x23+x24=
Restrictiile
problemei
x31+x32+x33+x34=
Restrictiile
problemei
x11+x21+x31=
Restrictiile
problemei
x12+x22+x32=
Restrictiile
problemei
x13+x23+x33=
Restrictiile
problemei
x14+x24+x34=
Restrictiile
problemei

117

15

15

1E+30

25

25

10

10

10

20

20

15

15

Tabelul 5.8
Microsoft Excel 10.0 Limits Report
Worksheet: [Problema de transport.xls]Limits Report 1
Report Created: 7/11/2002 8:23:41 AM
Target
Cell

Name

Value

$D$3

Functia de optimizat

140

Adjustable
Cell

Lower

Target

Upper

Target

Value

Limit

Result

Limit

Result

140

140

140

140

$B$15

Name
x11= Solutia
problemei
x21= Solutia
problemei
x31= Solutia
problemei

140

140

$D$13

x12= B2

140

140

$D$14

x22= B2

10

10

140

10

140

$D$15

x32= B2

140

140

$F$13

x13= B4

140

140

$F$14

x23= B4

140

140

$B$13
$B$14

Modele i algoritmi de optimizare

118
$F$15

x33= B4

15

15

140

15

140

$H$13

x14=

10

10

140

10

140

$H$14

x24=

140

140

$H$15

x34=

140

140

5. Problema de transport

119

5.5. Problema atribuirii sarcinilor

S se determine atribuirea optim a n sarcini la n specialiti tiind c:


unui specialist i se atribuie o singur sarcin,
sarcina este executat de un singur specialist, iar
profitul executrii sarcinii j de ctre specialistul i este cij .
Atribuirea este optim dac profitul obinut este maxim (Luenberger, 1989).
Trebuie s determinm xij , i = 1, n , j = 1, n astfel nct

n
n

max cij xij


n j =1 1=1
x = 1 , i = 1, n
ij
(5.1)
j =1
n
xij = 1 , j = 1, n
j =1
xij 0 , i = 1, n , i = 1, n

n aceast formulare fiecare variabil xij trebuie s ia numai valorile 0 sau 1 .

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.

5.6. Probleme propuse

1. Trei staii de betoane, Si, se aprovizioneaz cu ciment de la trei rampe de


descrcare, Ri . Cantitile necesare fiecrei staii i cele oferite de fiecare ramp de
descrcare, precum i costurile de transport de la fiecare ramp la fiecare staie de
betoane sunt trecute n Tabelul 5.9 .
Tabelul 5.9

Modele i algoritmi de optimizare

120
Staie
Ramp

R1
R2
R3
Necesar
(tone)

Costuri (u.m.)

Ofert

S1

S2

S3

(tone)

7
3
4

2
6
5

5
3
6

17
21
23

19

28

14

S se precizeze planul de transport care s conduc la costul minim de transport i


ct este acest cost.
R. Transportnd de la R1 pentru S2 17 tone, de la R2 pentru S1 7 tone i pentru
S3 14 tone, de la R3 pentru S1 12 tone i pentru S2 11 tone, se obine costul
minim Cmin=200 u.m.

2. O firm textil are dou fabrici, doi furnizori de materii prime i trei centre de
desfacere. Costurile de transport pentru o ton de ncrctur ntre furnizor i
fabrici i ntre fabrici i centrele de desfacere sunt date n Tabelul 5.10 .
Tabelul 5.10
Centru de
desfacere

Fabric
A
Furnizor
1
2

4
3

2
4

1
2

Fabric
1
2

1.5
1.5

A
B

Sunt disponibile 10 tone de la furnizorul 1 i 15 tone de la furnizorul 2. Cele trei


centre de desfacere necesit 8, 14 respectiv 3 tone de produse finite. Cele dou
fabrici au capacitate de producie nelimitat.
a) S se reduc problema la o problem de transport cu dou surse i trei destinaii
i s se determine un plan de transport care s minimizeze cheltuielile totale.
b) Dac fabrica A are o capacitate de producie de 8 tone i fabrica B de 7 tone, s
se descompun problema n dou probleme de transport i s se rezolve.
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

5
6
8

4
7
11

7
3
2

Candidat
1
2
3

S se decid cea mai bun repartizare pe funcii a candidailor, astfel nct


ctigurile firmei s fie maxime.
R. Repartiznd candidatul 1 pentru funcia 3, candidatul 2 pentru funcia 1 i
candidatul 3 pentru funcia 2, firma obine un ctig maxim de 24 .

4. Un centru de proiectare are de realizat trei contracte pentru trei beneficiari (cte
unul pentru fiecare beneficiar n parte) i timpii necesari realizrii acestor proiecte
(n sptmni) pentru cele trei echipe de proiectare sunt trecui n Tabelul 5.12.
Tabelul 5.12
Client
Echipa de proiectare

1
2
3

10
9
6

15
18
14

9
5
3

Dac fiecrei echipe i se atribuie un singur proiect, care va fi cea mai eficient
atribuire n sensul celui mai mic numr de sptmni necesare pentru realizarea
celor trei proiecte?
R. Echipei 1 i se va repartiza proiectul 2, echipei 2 i se va repartiza proiectul 3,
echipei 3 i se va repartiza proiectul 1, iar timpul minim necesar realizrii celor trei
proiecte este de 26 sptmni.

5. O firm care organizeaz mese festive trebuie s serveasc n fiecare sear cte
un banchet, timp de 4 zile. Pentru fiecare zi i sunt necesare ri fee de mese curate,
r1=100 , r2=130 , r3=150 , r4=140 . Feele de mese murdare se trimit la curtorie,
care le poate spla rapid (de pe o zi pe alta) cu un pre c1=6 u.m., sau normal (la
dou zile), cu un pre c2=4 u.m. Firma poate i s cumpere fee de mese la un pre
c0=12 . Stocul iniial de fee de mese este s=200. S se determine costul minim
pentru a asigura fee de mese curate n fiecare sear.

6. PROGRAMARE PTRATIC

6.1. Exemple de probleme care conduc la programare ptratic

6.1.1. Utilizarea optim a resurselor


Considerm, ca i n cazul programrii liniare, c avem la dispoziie m resurse
n cantitile bi , i = 1, m . Cu ajutorul acestor resurse se pot desfura n activiti
de producie i s notm cu xj , j = 1, n , nivelul fiecrei activiti j. Fie aij
cantitatea din resursa i necesar pentru producerea unei uniti din produsul j, ci
preul de desfacere i di costul de producie.
Se pune problema determinrii unui program de lucru astfel nct profitul
obinut s fie maxim. Pentru a obine profitul maxim trebuie ca toat producia
realizat s se vnd la preurile cj , ceea ce este greu de acceptat. Este natural s
presupunem c volumul de producie xj care se vinde descrete o dat cu creterea
preului de vnzare yj , astfel:
(6.1)
( j0 , j0 ).
yj=jj xj
Dependena liniar a preului yj de nivelul de producie xj vndut este de
asemenea o simplificare a realitii, dar mai realist dect faptul c preurile y j
nu depind de xj . Astfel se obine urmtorul model (Malia i Zidroiu, 1971):
n

n
2
max j x j + ( d j + j ) x j = f ( x)
j =1

j =1
m
1 i m
(6.2)
a ij x j bi
j =1
x j 0 j = 1,n

Funcia obiectiv a acestui model este o form ptratic. Modelul (6.2) poate fi
extins n sensul c i costul unitar de producie di poate depinde de nivelul de

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

6.1.2. Problema investiiei


S presupunem c exist mai multe domenii n care se pot face investiii,
anume D1, ..., Dn . Presupunem c investind suma xj n domeniul Dj se obine un
venit cj(xj) care depinde liniar de suma investit xj
cj = j + j xj .
S notm cu f venitul total adus de planul de investiii adoptat
f ( x) = ( j + j x j ) x j
n

j =1

i astfel se obine modelul

n
max

( j + j x j ) x j = f ( x)

j =1
m
1 i m
(6.3)
a ij x j bi
j =1
x j 0 j = 1,n

Am obinut din nou o problem de optimizare n care funcia obiectiv este o


form ptratic, iar restriciile sunt liniare.

6.1.3. Regresii liniare


Presupunem c avem o mrime y care depinde liniar de variabilele x1, ..., xn ,
astfel
y=a1 x1+ ...+ an xn.
Se pune problema estimrii parametrilor a1, ..., an , presupunnd cunoscute k
observaii asupra lui y i xi , i = 1, m
x1j ,..., x mj , j = 1,k

y j a i xij eventual

n sensul minimizrii sumei ptratelor abaterilor


ponderat cu nite factori bj>0
2

min b j y j a i xij .
j =1
i =1

Asupra parametrilor a1, ..., an se impun condiii suplimentare, de tipul


m

a i a i a i+ sau

i =1

ri

ai c r

1 r p .

Modele i algoritmi de optimizare

124

Se obine din nou o problem de programare cu funcia obiectiv o form


ptratic i cu restricii liniare
2
m
n

min b j y j a i xij

i =1

.
n j =1
+
a c , 1 r p sau a a a
ri
i
r
i
i
i

i =1
Mai nainte de a trece la rezolvarea problemei de programare ptratic s
amintim cteva noiuni referitoare la formele ptratice.

6.2. Definiii. Proprieti

Fie f o funcie de gradul al doilea n x1, ..., xn


n

f ( x ) = C ij xi x j + c j x j + c 0
i =1 j =1

j =1

unde: x=(x1, ..., xn) , C M n ,n (R ) i Cij=Cji (n caz contrar, adic dac CijCji,
1
(C ij + C ji )
2
dij=dji ) , iar c = (c1 ,..., cn ) .

definim

d ij =

i atunci

C
i =1 j =1

ij

xi x j = d ij xi x j

i =1 j =1

Fie Q( x ) = Cij xi x j = xCx grupul termenilor de gradul al doilea. Se


i =1 j =1

tie c funcia Q(x) se poate pune sub form de sum algebric de ptrate de
expresii liniare, omogene i independente (reducerea la forma canonic a formelor
ptratice cu metoda lui Gauss). Dac notm cu n+ i cu n numrul ptratelor care
au coeficienii pozitivi i respectiv negativi, atunci avem n+ + n n .
Definiia 6.1. Q(x) se numete form ptratic pozitiv definit dac n+ = n i
n = 0 .
Definiia 6.2. Q(x) se numete form ptratic pozitiv semidefinit dac n+<n i
n=0 .
Definiia 6.3. Q(x) se numete form ptratic negativ definit dac n = n i
n+= 0 .
Definiia 6.4. Q(x) se numete form ptratic negativ semidefinit dac n< n i
n+ = 0 .

Dac n+ > 0 i n> 0, atunci forma ptratic este nedefinit.

6. Programare ptratic

125

Propoziia 6.1. Dac Q( x ) = x Cx este pozitiv semidefinit, atunci Q(x)=0 dac


i numai dac Cx=0 .
Demonstraie. Artm c Q(x)=0 implic Cx=0 . Fie () y R n i () R ,
atunci
Q ( y + x ) = ( y + x ) C ( y + x ) = y Cy + 2y Cx + 2 x Cx = y Cy + 2y Cx 0 .
Cum inegalitatea are loc pentru () R , rezult c y Cx = 0 . Dar cum
aceast egalitate are loc pentru orice y , rezult c Cx=0.
Implicaia invers este evident !

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

i > 0 , i = 1, n . Atunci

det(C ) = i > 0 . Afirmaia a doua rezult din


i =1

Propoziia 6.1 , astfel Q( x ) = x Cx = 0 Cx = 0 . Dar, C este nesingular i


unica soluie este x=0.
n+

2. Dac Q este pozitiv semidefinit

Q( ) = i i2

i > 0 , i = 1, n + ,

cu

i =1

i = 0 , i = n + + 1, n . Atunci

det(C ) = i = 0 . Din Propoziia 6.1 rezult


i =1

Q( x ) = x Cx = 0 Cx = 0 . Dar, C este singular i soluia x=0 nu este unic.

Analog se demonstreaz afirmaiile 3 i 4.


Observaia 6.1. Pentru () x, y R n , x y i () (0,1) avem

Q[ x + (1 ) y ] = Q( x ) + (1 ) Q( y ) + 2 Q( x y ) .

Deci, dac Q este pozitiv definit avem


Q[ x + (1 ) y ] < Q( x ) + (1 ) Q( y )
i dac Q este pozitiv semidefinit avem

Modele i algoritmi de optimizare

126

Q[ x + (1 ) y ] Q( x ) + (1 ) Q( y ) .
Prin urmare, orice form ptratic pozitiv definit este o funcie strict convex i
orice form ptratic pozitiv semidefinit este o funcie convex.
O problem de programare ptratic este acea problem n care trebuie
care minimizeaz o form ptratic convex sau
determinat un vector x*
maximizeaz o form ptratic concav i n care variabilele mai trebuie s
verifice un sistem de inegaliti liniare i eventual unele restricii de semn.
Forma general a problemei de programare ptratic este
n

1 n n
min f ( x ) = min 2 Cij xi x j + ci xi
i =1 j =1
i =1
n

aij x j bi 1 i m
j =1
x j 0 1 j n (restricii de semn)

sau matriceal

min f ( x) = min 2 x Cx + c x

Ax b
x 0

n
m
x R , b R , A M mn (R ) , C M n (R )

(6.4)

unde
1
x Cx + c x
2
este convex. Numim aceast form a problemei de programare ptratic forma
canonic. n inegalitile (6.4), valorile bi sunt strict pozitive (dac ar fi negative,
inegalitile respective se nmulesc cu 1).
f ( x) =

Exemplu. n dou variabile o form ptratic pozitiv definit este paraboloidul


eliptic,
x2 x2
f ( x1 , x 2 ) = 12 + 22 , a, b 0 ,
a
b
i admite un minim unic (Figura 6.1), iar o form ptratic semidefinit este
cilindrul parabolic,
f ( x1 , x 2 ) = a 2 x12 , a 0 ,
cu concavitatea ndreptat n sus (n acest caz nu avem un punct de extrem unic, ci
o dreapt paralel cu planul x1Ox2) (Figura 6.2).

6. Programare ptratic

127

Figura 6.2

Figura 6.1

6.3. Fundamentarea algoritmului lui Wolfe

n cele ce urmeaz sunt prezentate teoreme ce permit trecerea de la problema


de programare ptratic la o problem de programare liniar echivalent, fiind
astfel posibil utilizarea algoritmului simplex pentru obinerea soluiei
problemei de programare ptratic. Algoritmul care se obine este cunoscut sub
numele de algoritmul lui Wolfe, cu cele dou forme ale sale : scurt i lung.
Teorema 3.5 (care d condiiile Kuhn-Tucker) pentru aceast problem are
formularea urmtoare.

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
*
*
1 i m
aij x j + yi = b
jn=1
m
C x * u * a v * = c
1 j n
jk k i ij
j
j
k =1
i =1
x * 0 , u* 0 , v * 0 , y * 0
n
n
x*j v*j = 0 , u*i y*i = 0
j =1
i =1
sau matriceal

(6.5)

Modele i algoritmi de optimizare

128

Ax + y = b
Cx - A t u - v = -c

x v = 0, u y = 0
x * 0 , u * 0 , v * 0 , y * 0
Observaia 6.2. yi sunt variabilele ecart care apar n Ax+y=b, vi sunt variabilele
ecart n CxATuv=c .
Din condiiile de nenegativitate rezult c
xjvj=0
i
uiyi=0 ,
1 j n , 1 i m , adic din cele 2m+2n necunoscute care apar n sistemul
(6.5) de m+n ecuaii, intereseaz numai soluiile nenegative, care au cel mult
m+n componente nenule, adic soluiile admisibile de baz ale sistemului (6.5) .
Fie problema de programare ptratic
n
1 n n

min
(
)
min
f
C
x
x
ci xi
x
=
+
ij i i

2 i =1 j =1
i =1
n

aij x j = bi 1 i m
j =1
1 j n
x j 0

min f ( x ) = min 2 x Cx + c x

Ax = b
x 0
(6.4)

(matriceal)

Numim aceast form a problemei de programare ptratic forma standard.


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 .

( )(

Corolar 6.2. x* este soluie a problemei (6.4) dac i numai dac


()v * R n , u* R m , astfel nct x * , v * , u* este soluie pentru sistemul

Ax = b

t
Cx A u + v = -c
xv = 0 , x 0 , u 0 .

(6.6)

Demonstraie. n Teorema 6.2 lum v = -c - Cx + A t u .

n
Propoziia 6.2. Dac R = { xR Ax=b ; x0 }, atunci (6.4) are optim
infinit dac i numai dac sistemul

6. Programare ptratic

129

Ax * = b
*
t *
*
Cx A u + v = -c
x * 0 , u* 0 ,

(6.7)

este incompatibil.
Demonstraie. Presupunem c min f ( x ) = i s artm c sistemul (6.7) este
incompatibil. Fie x R . Prin absurd, presupunem c sistemul (6.7) are soluia
(x*, u*, v*). Deoarece f este convex avem

f ( x ) f ( x* ) x f ( x* ) x x* = Cx* + c x x* = At u* v x x* =

= u* Ax - v* x - u* Ax + v* x*
Dar

Ax * = Ax = b i v * x * 0 ,
de unde rezult c

f ( x ) f ( x* ) - v * x ,
adic minf(x) nu poate fi - . Contradicie!
S artm c dac sistemul (6.7) este incompatibil atunci minf(x)= .
Sistemul fiind incompatibil, rezult c problema (6.4) nu are soluii. Da, cum
R, rezult c min f ( x ) = .

)( ) (
)( ) (
( ) ( ) ( ) ( )

)(

( )

( )

S considerm o partiie, (I i )1i 3 , a mulimii indicilor

{ 1, 2,..., n}

astfel

I i = j x i = (x j ) jI , i=1,2,3 i s rescriem vectorii x i v sub forma


i

x1
v 1
2

x = x , v = v 2 .
3
3
x
v
Lema 6.1. Dac urmtoarea problem de programare liniar
min g z
Ax = b
Cx A t u + v + Dz = -h

n
m
x, v, z, g R , u, h R
x, v, z 0 , x 3 = 0 , v 1 = 0

(6.8)

admite soluie optim (x*, v*, u*, z*) cu x*1>0 , v*3>0 , atunci exist R n
astfel nct

A * = 0 , C * = 0 , * 0 , g z * = h * .
2

Demonstraie. Rearanjnd restriciile, problema (6.8) se poate pune sub


forma

Modele i algoritmi de optimizare

130

min g z

x1

2
[A1 A2 A3 ] x = b

1
0
C11 C12 C13 x
2
t
C
C 22 C 23 x A u + v 2 + Dz = h
21
v 3
C 31 C 32 C 33 0
1 2 2 3
x , x , v , v , z 0
Duala problemei (6.9) este problema de programare liniar
max {b + h }
t
t
t
At + C11
1 + C 21
2 + C 31
3 0
1
t
t
t
t
1
2
3
A2 + C12 + C 22 + C 33 0
t
D g
A = 0 , 2 0 , 3 0 .

(6.9)

(6.10)

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
11
21
1
1
2
t
t
t
A2 + C12 + C 22 0
A = 0 , 2 0 , 3 = 0 ,

(6.11)

nmulind prima relaie (6.11) cu 1 , iar pe cea de-a doua cu *3 0 i


adunndu-le, avem
1
1
1
1
2
A1t + C11t + C 21t +

( )
( )

+ ( ) A + ( ) C
2

t
2

t
12

( )

+ ( ) C
2

t
22

0 .
2

inem seama c A = 0 i atunci putem scrie relaiile de mai sus sub forma

( ) ( ) CC

1
2

11

12

1
C12

2 0.
C 22

6. Programare ptratic

131

Deoarece = 0 , relaia de mai sus se mai poate scrie C 0 . Cum C

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

2
b = Ax * = A1 x * + A2 x * = A2 x * = 0 ,

( )

( )

( )

adic b = 0 i g z * = h * . Astfel, lema este demonstrat.

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

c < 0
0

(6.12)

Demonstraie. Dac min f ( x ) = , atunci sistemul (6.7) este incompatibil,


adic problema de programare liniar
min e z
Ax = b

t
(6.13)
Cx A u + v + Dz = -c
x0 , u0 ,

0 dac i j

unde D = (d ij )1
, d ij = 1
dac i = j , ci 0 , iar e = (1, ...,1) are optim
i, jn
1 dac i = j , c > 0
i

nenul. Fie (x*, v*, u *, z*) o soluie optim pentru (6.13). Sistemul (6.12) este
compatibil, aa cum rezult din Lema 6.1, n care lum
g = e = (1,1,...,1) , h = -c , I 1 = I 3 =
i innd seama c ez>0.
Dac

() R n

() 0 , astfel nct

soluie a sistemului (6.12) i

x R ,

atunci pentru

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 + ) .
*

Modele i algoritmi de optimizare

132

6.4. Forma scurt a algoritmului lui Wolfe

Algoritmul lui Wolfe n forma scurt const din dou etape. n etapa nti se
rezolv urmtoarea problem de programare liniar (tefnescu, 1989):
min z 1 + z 2

Ax = b
(6.14)

*
1
2
t
Cx A u + v + z z = -c
x, v, z 1 , z 2 0

x, v, z1 , z 2 R n , iar
unde
u R m , mpreun cu urmtoarea regul
suplimentar:
(6.15)
Pentru ()i = 1, n , xi , vi nu pot fi simultan nenuli
Teorema 6.3. Prin aplicarea algoritmului simplex problemei (6.14) mpreun cu
regula suplimentar (6.15) se ajunge la una din situaiile:
a) problema (6.14) nu are soluii admisibile, R = ;
b) se obine soluia optim (x*, v*, u *, z*1, z*2) pentru problema (6.14);
c) se obine o soluie de baz a problemei (6.14) care nu mai poate fi
mbuntit fr nclcarea regulii (6.15).
Demonstraie. Se aplic algoritmul simplex, faza I, problemei (6.14), inndu-se
seama de regula (6.15) . ntruct nu s-au pus condiii de semn asupra vectorului u,
l vom descompune n u= u 1- u 2 , u1 0 , u 2 0 . Semnul pentru z i1 , z i2 se alege
astfel nct s fie acelai cu cel al termenului liber ci . De aceea aceste variabile
sunt iniial variabile de baz. Se completeaz baza cu variabilele artificiale xa,
adugate primelor m ecuaii. Fie r = rang ( A) < m i se consider c primele r

A
coloane ale matricei sunt primii r vectori unitari din Rm+n.
C
Faza I se aplic problemei

a
min xi

~ i
A~
x =b
*
t 1
t 2
1
2
Cx a A u 1 + A2 u 1 + v2+ z z = -c
x, x , v, u , u , z , z 0

1
2
r
a
mr
1
2
m
x, v, z , z R , x R , u , u R
unde
x
~
A = A, e r +1 ,...e m , ~
x = a ,
x

(6.16)

6. Programare ptratic

133

respectnd regula (6.15). Baza iniial este baza canonic din Rm+n , iar soluia de
baz iniial este

bi 1 i r
z 1j = -c j , z 2j = 0
dac c j 0 ,
xi =
,
+

i
m
0
r
1
(6.17)

1
2

cj 0 .
z j = 0 , z j = c j dac
x a = b r i m
i
i
Deoarece coeficienii variabilelor vi i z i1 coincid, dou astfel de variabile nu
pot fi simultan n baz i atunci regula (6.15) se poate aplica n aceast faz fr a
se altera rezultatul. De fiecare dat cnd o variabil z i1 are ansa s intre n baz o

vom nlocui cu vi , pstrnd astfel v=0 n faza 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.
Urmtoarea teorem stabilete condiii suficiente pentru cazul n care se poate
aplica algoritmul simplex, completat cu regula suplimentar (6.15), pentru
rezolvarea problemei de programare ptratic (6.4).

Teorema 6.5. Pentru ca prin aplicarea algoritmului simplex, modificat cu regula


(6.15), problemei (6.14) s se ajung n una din situaiile:
a) problema (6.14) nu are soluii admisibile, R = ;
b) se obine soluia optim (x*, v*, u *, z*1, z*2) pentru problema (6.14);

Modele i algoritmi de optimizare

134

c) se obine o soluie de baz a problemei (6.14) care nu mai poate fi


mbuntit fr nclcarea regulii (6.15),
sunt suficiente urmtoarele condiii:
i) c=0 ,
ii) C este pozitiv definit,
iii) C din problema (6.4) este pozitiv definit.
Demonstraie. Dac n urma aplicrii fazei I se ajunge fie n cazul b), fie n cazul
c), s-a obinut o soluie de baz (xb, vb, ub, zb1, zb2) pentru problema (6.14).
Faza a II-a a metodei simplex va rezolva urmtoarea problem de programare
liniar
min z i

i
Ax = b
(6.14)

t
Cx A u + v + Dz = -c
x, v, z 0

unde D = (d ii ` )1 i n este o matrice diagonal ale crei elemente sunt date de relaiile
1
dac zib1 este variabil bazic

d ii = 1 dac z ib 2 este variabil bazic ,


0
altfel

pornind de la soluia de baz


z b1

z ib = z b 2
0

(xb, vb, ub, zb) , unde


dac z ib1 este variabil de baz
dac zib 2 este variabil de baz
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
(6.14)
Cx A t u + v + Dz = -c
3
1
x = 0 , v = 0
x, v, z 0
*
Presupunem c (x , v*, u*, z*) nu este soluie optim a problemei (6.14) i
atunci, la urmtorul pas, algoritmul simplex produce o nou soluie de baz
mbuntit pentru problema (6.14). Deoarece x *j = 0 , i I 2 I 3 , v *j = 0 ,
i I 1 I 2 i cum problema (6.14) impune condiiile

x 3 = 0 , v 1 = 0 , este

posibil ca n noua soluie de baz cu valori nenule, cel mult una din variabilele
x i , v i , i I 2 . n acest fel noua soluie satisface condiia (6.15) i este o soluie
mai bun dect (x*, v*, u*, z*). Contradicie !

6. Programare ptratic

135

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
.
x = R n+ m , c~ = , C =
unde: ~
w
0
0 0
Adugarea variabilelor ecart nu afecteaz faptul c matricea C din funcia
obiectiv este pozitiv definit.
~
~
~
Din iii) C este pozitiv semidefinit i aplicnd Lema 6.1 pentru A , C

rezult c exist ~ = w cu C~ * = 0 . De aici rezult c C*=0 i, ca mai

*
sus, =0 i gz=0 i atunci din nou z=0.
n toate cele trei situaii soluia (x*, v*, u*, z*) are z=0 i teorema este

demonstrat.
Observaia 6.3
a) Forma scurt a algoritmului lui Wolfe se aplic atunci cnd se verific
incluziunea
R n A = 0 , C = 0 R n c = 0
(6.18)
b) Incluziunea (6.18) are loc dac se verific unul din urmtoarele cazuri:
i) c=0 ,
ii) C este pozitiv definit,
iii) Matricea C, A t are rangul n ,

} {

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.

Modele i algoritmi de optimizare

136

Demostraie
i) Incluziunea (6.18) este evident deoarece membrul drept coincide cu R n .
ii) i iii) au membrul stng format numai din vectorul nul i atunci incluziunea
(6.18) este evident.
iv) c este o combinaie liniar a liniilor matricei C, A t i incluziunea (6.18)
este evident.
v) Demonstraia este dat n Teorema 6.5 .

Comentarii. Faza I rezolv problema (6.16) pentru eliminarea variabilelor auxiliare


xa din baz, lund u=0 , v=0 . Dac problema (6.4) are optim, atunci minimul din
problema (6.16) este zero i variabilele x ia au fost nlociute cu x i . Dac nu s-au
eliminat din baz toate variabilele x ia (caz de degenerare), se nlocuiesc xia cu
x i , lucru posibil cnd rang ( A) = m . Dac rang ( A) < m , variabilele x ia
rmase n baz se elimin o dat cu liniile i coloanele corespunztoare din A,
deoarece restriciile corespunztoare sunt consecine ale celorlalte. Baza cu care se
iese din faza I conine numai una din variabilele z i1 z i2 , deoarece coloanele
corespunztoare acestor variabile sunt egale i de semn contrar. Aadar, din faza I
se iese cu o baz format din m variabile xi (dac rang ( A) = m ) i n variabile

z i1 sau z i2 .
Faza a II-a folosete programul obinut n faza I pentru rezolvarea problemei
(6.14), innd seama de regula (6.15) care poate fi formulat i astfel :
dac una din variabilele xi i vi este n baz, atunci cealalt nu poate fi
introdus n baz la iteraia respectiv.
Se asigur astfel respectarea condiiei xivi=0.
Exemplu. S se rezolve urmtoarea problem de programare ptratic :
1
1
1

min x12 + x 22 2 x1 + 3 x 2 + x 3 = min x' Cx + c' x


2
2
2

x1 2 x 2 + x 3 = 4
.

x1 , x 2 , x 3 0
Rezolvare. Vom aplica algoritmul lui Wolfe n forma scurt.
2
1 0 0

1
f(x)= x' Cx + c' x ; C = 0 1 0 , c = 3 , A = (1 2 1) .
2
1
0 0 0

Verificm dac se poate aplica algoritmul Wolfe, forma scurt.


1 0 0 1
1 0 1

t
rang C A = rang 0 1 0 2 = 3 deoarece 0 1 2 = 1 .
0 0 0 1
0 0 1

[ ]

6. Programare ptratic

137

Aadar, se poate aplica algoritmul deoarece incluziunea (6.18) este verificat,


fiind ndeplinit condiia iii) din Comentarii.
Introducem variabilele artificiale nenegative xa, z1, z2 i condiiile
KuhnTucker devin:
Ax + x a = b

t
1
2
Cx v + A u + z z = c1

1
2
x 0, v 0, z 0, z 0, w 0
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
0
1 0

1
2
t
Cx v + A u u + Dz = c , unde D = 0 1 0
0 0 1
x , v , u1 , u 2 , z 1 , z 2 , w 0

Pe componente avem:
x1 2 x 2 + x3 + x a
=4

1
2
1
=2
x1 v1 + u u + z1

1
2
2
x 2 v 2 2u 2u z1 = 3 .
v + u 1 u 2 z 2
= 1
2
3
1
2
1
2
x, v, u , u , z , z , w 0
Faza I. Se aplic algoritmul simplex urmtoarei probleme de programare liniar:

min x iA = min x a (trebuie ca x a = 0)


i =1

x1 2 x 2 + x 3 + x a

1
2
1
x1 v1 + u1 u1 + z1

1
2
2
x 2 + v 2 + 2u 2 + 2u 2 + z1
v u 1 + u 2 + z 2
3
3
2
3
x , v , u1 , u 2 , z 1 , z 2 , x a 0 .

=4
=2
=3
=1

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

Modele i algoritmi de optimizare

138
0
x3

0
v1

0
v2

0
v3

0
u1

0
u2

VVB

0
x2

VB

0
x1

CVB

z11

z 22

z 23

1
xa

1
0

xa

4
2

1
1

2
0

1
0

0
1

0
0

0
0

0
1

0
1

0
1

0
0

0
0

1
0

z 22

3
2

x3

z11

4
4
2

1
1
1

2
2
0

1*
1
0

0
0
1

0
0
0

0
0
0

0
0
1

0
0
1

0
0
1

0
0
0

0
0
0

0
0
0

z 22

z 23

1
1

Tabelul 6.2
CVB

VB

VVB

0
x1

0
1

x3

z11

4
2

1
1

2
0

1
0

0
1

0
0

0
0

0
1

0
1

0
1

0
0

0
0

z 22

3
2

0
1

x3

6
4
1/2

1
1
1

1
2
1/2

0
1
0

1
0
1

1
0
1/2

1
0
0

2*
0
0

2
0
0

0
0
1

0
0

0
0
0

3/2
5/2

0
0

1/2
1/2

0
0

0
0

1/2
1/2

0
1

1
0

1
0

0
0

0
1

3
7/2
1/2
3/2
5/2

1*
0
1
0
0

1
5/2
1/2
1/2
1/2

0
1
0
0
0

1
1
1
0
0

0
1/2
1/2
1/2
1/2

1
0
0
0
1

0
0
0
1
0

0
0
0
1
0

0
0
0
0
1

5/2
2
2
3
1

0
0
1
0
0

1/2
2
0
1
0

0
1
0
0
0

0
1
1
0
0

1/2*
0
0
1
0

1
0
0
0
1

0
1
1
2
1

0
0
0
0
1

1
1
3
5
1
0

0
0
1
0
0
0

0
2
0
1
0
0

0
1
0
0
0
0

0
1
1
0
0
0

0
0
0
1
0
0

1
0
0
0
1
0

1*
0
0
0
1
0

z11

0
1

u1

0
0
0
1

x3
x1
u1

3
2

z 23

0
0
0
1

x3
x1
v2

z 23

0
0
0
0

x3
x1
v2
u3

0
x2

0
x3

0
v1

0
v2

0
v3

0
u1

0
u2

1
1

1
2
2

z 23

6. Programare ptratic

139

Faza a II-a . Folosind tabelul simplex rezultat din faza I i renunnd la


coloana corespunztoare variabilei xa, se aplic din nou algoritmul simplex
pentru minimizarea funciei min z11 + z 22 + z 32 . Calculele sunt prezentate n
Tabelul 6.2 .
Faza a IIa se ncheie cu eliminarea din baz a vectorilor z1 i z2 i
min z11 + z 22 + z 32 =0.

1
.
2
Multiplicatorii lui Lagrange sunt: v1=0, v2=5, v3=0; u=u1u2=01= 1 .

Deci, soluia este x1=3, x2=0, x3=1, i f(x1, x2, x3) =

Vom considera, ca exemplificare a folosirii Solver-ului din Excel pentru


rezolvarea problemelor de programare ptratic, problema de mai sus. Se creeaz
foaia electronic de calcul cu datele problemei ca n Figura 6.1. Celula D4 conine
funcia de minimizat =((1/2)*D7^2+(1/2)*D8^22*D7+3*D8+D9, celulele D7D9
conin necunoscutele problemei, iar restricia D72*D8+D9 este depus n celula
B11. Condiiile de nenegativitate ale necunoscutelor sunt D7:D9 B7:B9.
Selectnd Solve se rezolv problema, obinndu-se aceleai valori pentru funcia de
optimizat i pentru necunoscute ca i cele obinute n urma aplicrii algoritmului lui
Wolfe forma scurt, aa cum se vede din rapoartele din Tabelele 6.3-6.5 .

Figura 6.1

Modele i algoritmi de optimizare

140

Tabelul 6.3
Microsoft Excel 10.0 Answer Report
Worksheet: [Programare patratica.xls]Sheet1
Report Created: 7/10/2002 8:09:27 PM

$D$4

Target Cell (Min)


Original
Name
Value
Functia de
optimizat
0

Cell

Adjustable Cells
Original
Name
Value

Cell

Final Value
0.5

Final Value

$B$15

x1=

$B$16

x2=

$B$17

x3=

1
Constraints

Cell

Name

Cell Value

$A$12

x12x2+x3=

$B$15

x1=

$B$16

x2=

$B$17

x3=

Formula

Status

Slack

$A$12=$B$11

Not Binding

$B$15>=$B$7

Not Binding

$B$16>=$B$8

Binding

$B$17>=$B$9

Not Binding

Tabelul 6.4
Microsoft Excel 10.0 Sensitivity Report
Worksheet: [Programare patratica.xls]Sheet1
Report Created: 7/10/2002 8:09:27 PM
Adjustable Cells
Cell

Name

Final

Reduced

Value

Gradient

$B$15

x1=

$B$16

x2=

5.000000477

$B$17

x3=

Constraints
Final

Lagrange

Cell

Name

Value

Multiplier

$A$12

x12x2+x3=

6. Programare ptratic

141

Tabelul 6.5
Microsoft Excel 10.0 Limits Report
Worksheet: [Programare patratica.xls]Limits Report 1
Report Created: 7/10/2002 8:09:27 PM
Target
Cell

Name
Functia de
optimizat

$D$4

Value
0.5

Adjustable

Lower

Target

Upper

Targe
t

Cell

Name

Value

Limit

Result

Limit

Result

$B$15

x1=

0.5

0.5

$B$16

x2=

0.5

0.5

$B$17

x3=

0.5

0.5

6.5. Probleme propuse

1. Scriei condiiile Kuhn-Tucker pentru urmtoarele probleme de programare


ptratic:

1 2

2
2
min 2 x1 + 5 x 2 + 2 x 3 + 4 x1 x 2 2 x1 x 3 4 x 2 x 3 x1 + 3x 2 + 4 x 3

2x1 + 3x 2 x 3 2

a) x1 + x 2 + 2 x 3 4
x1 2 x 2 + x 3 6

x2 1
x 0

min x12 + 2 x 22 + 3x 32 2 x1 x 2 + 2 x1 x 3 2 x 2 x 3 x1 + 2 x 2 x 3

x + 2 x 2 3x3 = 6
b) 1
x1 2 x 2 + 4 x 3 = 8
x 0

2. S se rezolve urmtoarele probleme de programare ptratic


min 2 x12 2 x1 x 2 + x 22 4 x1 2 x1
min x12 x1 x 2 + x12 3 x1

x1 + 2 x 2 + x 3 = 6
a)
x1 + x 2 4
b)

3 x1 + x 2 + x 4 = 9

x0

x 0

142

Modele i algoritmi de optimizare

artnd c se poate aplica algoritmul lui Wolfe n forma scurt.

R. a) x = (2, 1) , v = (0, 0) , u=0 .

10
18

10
24 27

, 0 , , v = 0, 0, , 0 , u = , 0 .
b) x = ,
13
13

13
13 13
3. S se determine valoarea optim i punctul n care se atinge aceast valoare
pentru problemele 1 i 2, folosind MathCAD.

7. PROGRAMARE DINAMIC

7.1. Generaliti
S considerm un sistem a crui evoluie n timp poate fi controlat, chiar i
parial, de aciunile unui factor decident. n orice moment i al evoluiei, starea
sistemului se poate descrie printr-un vector x i R s numit vectorul strilor, sau
vector de stare. Pe fiecare perioad decidentul ia o decizie i , care provoac o
modificare a strii sistemului, reflectat de un vector de decizie, d i R m .
Vectorii de decizie di pot lua valori admisibile n domeniile de
admisibilitate i R m , 1 i N . Cei doi vectori, de stare i de decizie de la
momentul i, determin starea sistemului de la momentul i+1, conform unei
legi de evoluie
xi +1 = i ( x i , d i ) .
Programarea dinamic este o metod de optimizare a sistemelor n care se
opereaz pe faze sau secvene. Baza acestei metode o constituie Principiul de
optimalitate al lui Bellman, care se enun astfel (Kaufmann, 1967):
Orice politic optim nu poate fi format dect din subpolitici optime.
O politic este alctuit dintr-o succesiune de decizii. Multe fenomene sau
probleme sunt de natur secvenial, adic permit descompunerea lor n etape (faze),
fiecare etap depinznd de cele apropiate, de etapa anterioar i cea urmtoare.
Vom introduce n continuare cteva concepte cu care se opereaz n teoria
deciziilor (Zidroiu, 1975). Considerm s=1 i m=1 i atunci vectorul de stare
devine variabila de stare, iar cel de decizie devine variabila de decizie.
Etapele procesului sunt momentele n care trebuie luate deciziile. n problemele
secveniale ele formeaz un ir cresctor, pe care l vom nota cu 1, 2, ..., N .
Spunem c avem o problem de decizie cu orizont finit sau infinit, dup cum N
este finit sau nu.
n cazul unui orizont finit de N etape, o politic este reprezentat de un ir
format din deciziile luate n cele N etape.
Dac orizontul este infinit, orice politic va fi reprezentat printr-un ir infinit,
avnd aceeai interpretare ca i n cazul finit.
Schematic, cele prezentate mai sus se pot reprezenta astfel:

Modele i algoritmi de optimizare

144
Etapa
Starea sistemului
Decizia luat

0
x0

1
x1

2
x2

N1
xN1

...
...
...

N 1

N
xN

unde x0 este starea iniial, xN este starea final.


O problem de decizii secveniale const n determinarea unui ir finit sau nu
de decizii, dup cum problema este cu orizont finit sau infinit. n urma lurii unei
decizii se modific starea sistemului conform cu o lege de evoluie n funcie de
starea actual a sistemului :
xi = i(xi-1, di)
unde di este o variabil de decizie avnd domeniul de admisibilitate i, iar i
este o transformare dat, 1 i N.
Dac ne intereseaz evoluia sistemului din starea iniial x0 pn n starea
final xN, atunci se observ c se poate scrie succesiv
x N = N ( x N 1 ; d N ) = N [ N 1 ( x N 2 ; d N 1 ); d N ] = ... = TN ( x 0 ; d 1 ,..., d N )
TN reprezentnd rezultatul final al nlocuirilor de mai sus.
Se poate spune c politica (1, 2,..., N) are ca efect transformarea sistemului
din starea iniial x0 n starea final xN :
xN = TN(x0; d1, ..., dN) .
Aceast relaie permite analiza prospectiv a procesului, deoarece se pleac din
starea x0 i se ajunge n starea xN .
Dac funciile i , 1 i N, sunt inversabile, se poate face i o analiz
retrospectiv a procesului, inversnd schema precedent, astfel
Etapa
Starea sistemului
Decizia luat

N
xN

N1
xN1

N 1

N2
xN2

N 2

...
...
...

x1

0
x0

Dac notm cu i inversele transformrilor i , putem scrie


x0 = i ( x1 ; d1 ) = 1[ 2 ( x 2 ; d 2 ); d1 ] = ... = T N ( x N ; d1 , d 2 ,..., d N )

unde: T N se obine nlocuind xi prin i +1 ( xi +1 ; d i +1 ) , 1 i N1 .


Aceast relaie arat c starea final xN i politica aleas 1, 2,..., N determin
starea iniial x0 .
Diferena dintre analiza prospectiv i cea retrospectiv const n modul n care
se privete evoluia sistemului (de la x0 ctre xN sau invers) . Exist situaii n
care este mai eficient folosirea analizei retrospective n rezolvarea unor probleme.
Decidentul are preferine n ceea ce privete evoluia sistemului, preferine ce
pot fi descrise printr-o funcie obiectiv. Problema cu care se confrunt decidentul
este de a alege o evoluie a variabilelor de decizie astfel nct s optimizeze funcia
obiectiv cu restriciile de admisibilitate i starea iniial (final) date.

7. Programare dinamic

145

S notm ri(xi; di) ctigul parial dobndit n urma lurii deciziei i n etapa
a i-a, cnd sistemul trece din starea xi1 n starea xi.
Ctigul total pentru un orizont de N etape poate fi reprezentat ca o funcie
de ctigurile pariale r1, r2, ..., rN asociate diferitelor etape ale sistemului.
Aceast funcie se poate scrie sub forma
f [r1 (x1 ; d 1 ), r2 ( x 2 ; d 2 ),..., rN (x N ; d N )]
i constituie funcia obiectiv ataat procesului de decizii considerat.
Definiia 7.1. O funcie f i : R i [0, ) se numete decompozabil prospectiv
~
dac exist o funcie f i : R 2 [0, ) monoton (cresctoare pentru probleme de
maxim i descresctoare pentru probleme de minim) n a doua variabil astfel
nct
~
f i (r1 ,..., ri ) = f i (ri , f i 1 ( r1 ,..., ri 1 )) .
Definiia 7.2. O funcie f i : R i [0, ) se numete decompozabil retrospectiv
~
dac exist o funcie f i : R 2 [0, ) monoton (cresctoare pentru probleme de
maxim i descresctoare pentru probleme de minim) n a doua variabil astfel
nct
~
f N i +1 (ri ,..., rN ) = f N i +1 (ri , f N i (ri +1 ,..., rN )) .
Cu schimbarea de variabil xi = x N i se poate trece de la decompozabilitate
prospectiv la cea retrospectiv i invers.
Cazul cel mai frecvent de decompozabilitate este cazul aditiv, cnd funcia obiectiv
este de forma
N

f [r1 (x1 ; d 1 ), r2 ( x 2 ; d 2 ),..., rN ( x N ; d N )] = ri (x i ; d i ) .

(7.1)

i =1

Se ntlnesc i probleme n care funcia obiectiv se exprim multiplicativ


N

f [r1 (x1 ; d 1 ), r2 ( x 2 ; d 2 ),..., rN (x N ; d N )] = ri ( x i ; d i ) .


i =1

n cazul analizei retrospective se pot scrie succesiv egalitile


ri (xi , d i ) = ri [i +1 (xi +1 , d i +1 ); d i ] = ... = ri(xi ; d N ,..., d i )
pentru

()i = 1, N , obinndu-se pentru funcia obiectiv forma


f [r (x ; d ), r (x ; d ),..., r (x ; d )] = R (x ; d ,..., d )

(7.2)
N
N
N
N 1
N 1
N 1
1 1
1
N
N
1
N
adic funcia obiectiv depinde de starea final xN i de variabilele de decizie dN ,
dN1 , ... , d1 . Astfel, cunoscnd starea final i politica aleas se poate calcula
ctigul asociat politicii considerate.
n cazul analizei prospective, ctigul total se exprim n funcie de starea
iniial x0 i de variabilele de decizie d1 , d2 , ... , dN , astfel

Modele i algoritmi de optimizare

146

f [r1 (x1 ; d1 ),..., rN 1 (x N 1 ; d N 1 ), rN (x N ; d N )] = RN (x0 ; d1 ,..., d N ) .

(7.3)
Printre politicile posibile care fac ca sistemul s evolueze din starea x0 n
starea xN , exist una (sau mai multe) care optimizeaz funcia obiectiv; aceste
politici se numesc politici optime.
Vom nota politica optim cu
1 ,..., N , iar variabilele de decizie
corespunztoare cu d ,..., d . Mulimea strilor x ,..., x , x = ( x , d ) ,

i 1

i 1

1 i N corespunztoare deciziilor d1 ,..., d N constituie traiectoria optim.


Deoarece ctigul total depinde de starea iniial (final) i de politica aleas
este necesar s se considere mai multe valori posibile pentru starea iniial x0 sau
starea final x N (spunem c simulm evoluia sistemului n mai multe situaii ). n
aceste cazuri politicile optime sunt funcii de x0 sau xN , adic
d i = d i (x 0 ) sau d i = d i (x N ) , 1 i N .
Teorema de optimalitate a lui Bellman. Date strile iniial x0 i final xN ,
traiectoria x0,, xN este optim dac traiectoria x0,, xN-1 este optim i xN-1
este astfel nct
~
f N (rN ( x N ; d N ), f N 1 (r1 ( x1 ; d1 ),..., rN 1 ( x N 1; d N 1 )) )
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.

n continuare vom prezenta relaiile de recuren i rezolvarea problemei de


programare dinamic n cazul analizei retrospective, trecerea la analiza prospectiv
fiind imediat atunci cnd legile de evoluie a sistemului analizat sunt inversabile.

7.2. Analiza retrospectiv

Presupunem c avem de rezolvat urmtoarea problem: S se afle decizia


optim d1 , d 2 , . . ., d N astfel nct

f [rN x N , d N , rN 1 x N 1 , d N 1 ,. . . , r1 x1 , d1 ] =

f [rN (x N , d N ) , rN 1 (x N 1 , d N 1 ) ,. . . , r1 (x1 , d 1 )]
= max
d
1i i N
x = ( x ; d ) , 1 i N
i
i
i
i 1
sau dac inem seama de (7.2),

(7.4)

7. Programare dinamic

) (

147

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
1 i N

(7.5)

n formularea (7.5) intervin efectiv numai xN i variabilele de decizie d1, d2 ,


... , dN, deoarece variabilele x0, x1, ..., xN1 se determin cu ajutorul precedentelor,
innd seama de relaiile x i 1 = i ( x i ; d i ) , 1 i N 1 .

7.2.1. Rezolvarea n cazul aditiv


Considerm funcia obiectiv n cazul aditiv (7.1) i, nlocuind n (7.4), obinem :
N

max
ri (xi , d i )

d i i
(7.6)
1i N i =1
x = (x , d ) , 1 i N .
i
i
i
i 1
Notnd cu fN(xN) valoarea maximului (7.6) obinem
f N (x N ) = max[rN (x N , d N ) + rN 1 (x N 1 , d N 1 ) + . . . + r1 (x1 , d 1 )] =
d i i

1 i N

{rN (x N , d N ) + max [rN 1 ( x N 1 , d N 1 ) + rN 2 (x N 2 , d N 2 ) + . . . + r1 (x1 , d 1 )]}


= dmax

d i i
N N
1 i N 1

x i 1 = i (x i , d i ) , 1 i N
sau, prin aplicarea Teoremei de optimalitate a lui Bellman
f N (x N ) = max[rN (x N , d N ) + f N 1 (x N 1 )]
d i i

1i N

x N 1 = N (x N , d N ) .

(7.7)

Dac notm QN (x N , d N ) = rN (x N , d N ) + f N 1 (x N , d N ) , putem scrie

f N (x N ) = max QN (xn , d N )

(7.8)

d N N

i maximul nu se mai ia dup restricii (restriciile fiind incluse n expresia funciei


QN) .
Relaia (7.7) poate fi justificat astfel: dac ,...,
este o politic optim

pentru un orizont de N etape i cu xN ca stare final, atunci subpolitica


1 ,..., N 1 este optim pentru un orizont de N1 etape cu x N 1 = N (x N , d N ) ca
stare final.
Relaia (7.8) permite determinarea funciei fN(xN) n ipoteza c se cunoate
funcia fN1(xN1) .
Pornind de la relaia (7.8), procednd analog, obinem:

Modele i algoritmi de optimizare

148

f1 (x1 ) = max Q1 (x1 , d1 ) = max r1 (x1 , d1 )


d11
d11

.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . .

f (x ) = max Q (x , d ) = max r (x , d ) + f (x , d ) , 2 i N 1
i
i
i
i
i
i
i 1 i
i
i
i i
d i i
d i i
. . . . . . . . . . . . . . . . . . . . . . . . . . .

f N (x N ) = max QN (x N , d N ) = max rN ( x N , d N ) + f N 1 N (x N , d N ) .
d N N
d N N

]}

(7.9)

]}

Aceste relaii se numesc ecuaiile de recuren ale programrii dinamice.


Rezolvarea problemei iniiale nseamn calcularea funciilor
f1(x1), f2(x2), ..., fN(xN) i d = d (x ) .
N

Funciile fi(xi) , 1 i N , se determin din relaiile de recuren (7.8), iar


d N = d N (x N ) din ultima din aceste relaii.
Algoritmul pentru rezolvarea problemei de programare dinamic n cazul aditiv
Pas 0. Se determin x N cu f (x N ) = max f (x N ) ;
xN

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 !

Procedeul de mai sus presupune cunoaterea expresiilor analitice ale funciilor


fi , d i .
Vom prezenta cteva situaii n care metodele programrii dinamice conduc la
obinerea optimului fr a se apela la evidenierea tuturor soluiilor posibile.

7.2.2. Problema repartiiei investiiilor


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
Suma investit
(n miliarde de lei)
0
1
2
3
4
5

Profitul n procente

S1
0
0.28
0.45
0.65
0.78
0.90

S2
0
0.25
0.41
0.55
0.65
0.75

S3
0
0.15
0.25
0.40
0.50
0.62

S4
0
0.20
0.33
0.42
0.48
0.53

Rezolvare
Modelarea problemei
Notaii : di numrul de miliarde investite n aciuni la societatea i.
xi numrul total de miliarde investite n aciuni la primele i
societi, 1 i 4 .
x4 mrimea total a investiiilor, care este de cel mult S=5109.
ri(di) profitul adus de suma di investit n aciunile la societatea i.
Problema are urmtoarea formulare:
4

max
ri (d i )

4 i =1

d i x4 S
i =1
1 i 4
d i 0

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 .
Deoarece

i =1

i =1

d i = ( xi xi 1 ) = xi x4

lund x0=0, cu notaiile din modelul

teoretic obinem ecuaiile de recuren:


f1 ( x1 ) = max r1 ( d1 ) ; coloana S1 din tabel este cresctoare i reprezint r1
0 d1 x1

f 2 (x2 ) = max[r2 (d 2 ) + f1 (x1 )] = max[r2 (d 2 ) + f ( x2 d 2 )] ; 0 d 2 x2


f 3 (x3 ) = max[r3 (x3 ) + f 2 (x3 d 3 )] ; 0 d 3 x3
f 4 (x4 ) = max[r4 (x4 ) + f 3 (x4 d 4 )] ;
0 d 4 x4 ; x4 S .

Determinarea valorilor funciilor fi :


f1 ( x1 ) = max r1 ( x1 ) = r1 ( d1 ) , r1 fiind cresctoare 0 d 1 x1 deci: d1 ( x1 ) = x1 .

Modele i algoritmi de optimizare

150

x2=0
f 2 (0) = max[r2 (d 2 ) + f1 (0 d 2 )] = 0 cu 0 d 2 0 . Deoarece r2(0)=0 i f1(0)=0
rezult d2=0.
x2=1
f 2 (1) = max[r2 (d 2 ) + f1 (1 d 2 )] cu 0 d 2 1 , d 2 { 0, 1 } .
f 2 (1) = max[r2 (0) + f1 (1) ; r2 (1) + f1 (0)] = max[0 + 0.28; 0.25 + 0] = 0.28
valoare obinut pentru d (1) = 0 .
2

x2=2
f 2 (2) = max[r2 (d 2 ) + f1 (2 d 2 )] cu 0 d 2 2 , d 2 { 0,1, 2}
f 2 (2) = max[g 2 (0) + f1 ( 2) ; r2 (1) + f1 (1); r2 (2) + f1 (0) ] =

= 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 .
2

x3 = 0
f 3 (0) = max[r3 (d 3 ) + f 2 (0 d 3 )]
rezult d3=0. d (0) = 0 .

cu

0 d 3 0 . Deoarece r3(0)=0 i f3(0)=0

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 ,

d 4 (2) = 0 ,

f4(2)=0.53

f4(3)=0.73

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

d1 ( x)

f1(x)

d 2 ( x)

f2(x)

d 3 ( x)

f3(x)

d 4 ( x)

f4(x)

0.28

0.28

0.28

0.28

0.45

0.53

0.53

0.53

0.65

0.70

0.70

0.73

0.78

0.90

0.90

0 sau 1

0.90

0.90

1.06

1.06

1.1

Modele i algoritmi de optimizare

152

Culegerea rezultatelor. Se observ c

max f 4 ( x 4 ) = f 4 (5) = 1.1 i x 4 = 5 , iar d 4 ( x 4 ) = 1 .

0 x4 5

Atunci
x 3 = x 4 d 4 ( x 4 ) = 4 .

Dar

d 3 ( x 3 ) = d 3 (4) = 0 i atunci x 2 = x 3 d 3 ( x3 ) = 4 .
n continuare avem:
d 2 ( x 2 ) = d 2 (4) = 1 , iar x1 = x 2 d 2 ( x 2 ) = 3 ; d1 ( x1 ) = d1 (3) = 3 .

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.

7.2.3. Problema gestiunii stocului


Principiul de optimalitate al lui Bellman poate fi enunat i sub urmtoarea
form, aa cum va fi folosit n rezolvarea problemei ce urmeaz.
ntr-un ir optimal de decizii, oricare ar fi prima decizie luat, deciziile urmtoare
formeaz un subir care este optimal, innd seama de rezultatele primei decizii.

n continuare vom rezolva urmtoarea problem cunoscut sub numele de


problema gestiunii stocului.
Tabelul 7.3 d pentru cinci perioade cantitile unitare de produs di pe care
un vnztor le va furniza, precum i preurile ci cu care el poate achiziiona aceste
produse pe care le va revinde la pre constant. El cumpr la nceputul perioadei
un numr ntreg de produse, dispune de o capacitate de stocare gratuit de 5
uniti.
Trebuie ca la nceputul fiecrei perioade s dispun de suficiente produse
pentru a face fa cererii, ncepe i termin cu stoc nul. Cum trebuie s organizeze
aceste cumprturi astfel nct profitul su s fie maxim ?

Rezolvare. Notm :

Perioada i

Tabelul 7.3
1
2
3

Cererea bi
Preul ci

2
13

3
11

2
12

3
15

4
20

7. Programare dinamic

153

di = cantitatea de produs cumprat la nceputul perioadei i , are rol de variabil de


decizie ;
xi = cantitatea de produs rmas n stoc la sfritul perioadei i , xi este n acest caz
variabila de stare, pentru c permite cunoaterea perfect a strii situaiei la
sfritul fiecrei perioade.
Restriciile sistemului sunt
b j x j 1 + d j 5

x j = x j 1 + d j b j j = 1,5
x = 0 ; x = 0.
5
0
5

Funcia de optimizat este f (d ) = c j d j .


j =1

S-a obinut astfel o problem de programare n numere ntregi.


innd seama de cererea de la perioada nti, se vede (Tabelul 7.4) c perioada
nti se poate termina cu 0 ; 1 ; 2 sau 3 uniti n stoc.

b1
2

x1
3
2
1
0

Tabelul 7.4
d1
f(d) min
5
65
4
52
3
39
2
26

Perioada a doua (Tabelul 7.5) se poate termina cu 0 , 1 sau 2 uniti n stoc


(x1+d2=b2=3).

b2

x2
0

1
3

Tabelul 7.5
x1 d2
f(d) min
0
3
26+45=71
1
2
39+30=69
2
1
52+15=67
3
0
65+0=65 *
0
4
26+60=86
1
3
39+45=84
2
2
52+30=82
3
1
65+15=80 *
0
5
26+75=101
1
4
39+60=99
2
3
52+45=97
3
2 65+30=95 *

Perioada a treia (Tabelul 7.6) se poate termina cu 0 sau 1 uniti n stoc


(x2+d3=b3=4).

Modele i algoritmi de optimizare

154

b3

x3
0

4
1

Tabelul 7.6
x2 d3
f(d) min
0
4
65+80=145
1
3
80+60=140
2
2
95+40=135 *
0
5
65+100=165
1
4
80+80=160
2
3
95+60=155 *

Perioada a patra (Tabelul 7.7) se poate termina cu 0, 1 sau 2 uniti n stoc


(x3+d4=b4=3).

b4

x4
0

1
2

x3
0
1
0
1
0
1

Tabelul 7.7
d4
f(d) min
3
135+33=168 *
2
155+22=177
4
135+44=179 *
3
155+33=188
5
135+55=190 *
4
155+44=199

La sfritul perioadei a cincea (Tabelul 7.8) avem x5=0 i, deoarece x4+d5=b5=2,


rezult

b5
2

x4
0
1
2

Tabelul 7.8
d5
f(d) min
2 168+24=192
1 179+12=191
0
190 *

Politica optimal de cumprturi este

x1 = 3

x 2 = 2 d 1 = 5
f (d ) = 65

x3 = 0

d = 2
x
=

d5 = 0
f (d ) = 95

d 3 = 2

f (d ) = 135

d = 5
4
f (d ) = 190
sau: d5=0 ; d4=5 ; d3=2 ; d2=2 ; d1=5 cu costul minim,
f(d)=012+511+220+215+513=190 .

7. Programare dinamic

155

Generalizare Clasa de probleme Pk(x). S se determine o politic optimal de


cumprturi pe primele k perioade, putnd termina cele k perioade cu x produse
n stoc. Problema iniial poate s fie considerat ca P5(0). Vrem s punem n
eviden o relaie de recuren ntre aceste diferite probleme i s le rezolvm de o
manier mai economic n timp.
Notm zk(x), valoarea optimului funciei obiectiv a problemei Pk(x). Avem
relaia z k ( x) = min{c k d k + z k 1 ( x + bk d k )} ,
dk ( x)

unde d k ( x) = {d k bk + bk 1 + x 5 d k x + bk } .
Rezumm calculele precedente n Tabelul 7.9.

x
0
1
2
3

z1(x)
26
36
52
65

d1(x)
2
3
4
5

d2(x)
65
80
95
*

d2(x)
0
1
2
*

Tabelul 7.9
d3(x) d3(x)
135
2
155
3
*
*
*
*

d4(x)
168
179
190
*

d4(x)
3
4
5
*

d5(x)
190
*
*
*

d5(x)
0
*
*
*

n acest tablou coloanele au fost completate de la stnga la dreapta, calculnd


d1(x) apoi z1(x) . a. m. d. Culegerea soluiei optimale se face de la dreapta la
stnga. tiind c d5=0 i b5=2, adic x4=2, cutm soluia pentru P4(2) . Gsim
d4=5, adic x3=0 i atunci cutm P3(0) . Din Tabelul 7.9 avem d3=2 i, cum
b3=4, rezult x2=2. Cutm acum soluia pentru P2(2) . Cum b2=3 i din tabel
d2=2, rezult c x1=3, i acum ne intereseaz P1(3) . Din Tabelul 7.9 rezult c
d1=5 i astfel am ajuns la soluia final.

7.2.4. Problema alocrii optime a resurselor


Trei echipe de cercettori A, B, C lucreaz la un acelai proiect folosind
abordri diferite. Echipele au probabilitile de eec : P(A)=0.4 ; P(B)=0.6 ;
P(C)=0.8. Se decide alocarea a 2 noi cercettori la proiect n scopul minimizrii
probabilitii de eec a proiectului. Pentru a decide alocarea cercettorilor
suplimentari s-a stabilit Tabelul 7.10 (Henry-Labordere, 1995).
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

Care este alocarea optimal a cercettorilor suplimentari astfel nct mpreun


s aib probabilitatea de eec minim ?

Modele i algoritmi de optimizare

156

Rezolvare
Fie dA, dB, dC numrul de cercettori afectai echipelor A, B, C ,
rA(dA), rB(dB), rC(dC) funciile care dau probabilitile de eec pentru fiecare echip,
xA numrul cercettorilor alocai proiectului A ;
xB numrul cercettorilor alocai proiectelor A i B , i
xC numrul cercettorilor alocai proiectelor A, B i C.
Probabilitatea de eec toate echipele eueaz este
f ( x) = rA (d A ) rB ( d B ) rC (d C ) , d A + d B + d C 2 .

Fie f i (x ) , probabilitatea minim atunci cnd se utilizeaz


suplimentari pentru proiectele A, B, C.
f i (x ) = min{f pred (i ) (x d i ) ri (d i )}, i {A, B, C } , unde

i
i{A, B ,C }

cercettori

= x , iar f pred ( A) = 1 .

Soluia este analoag soluiei problemei repartiiei investiiilor.


S determinm valorile funciilor f i , i {A, B, C }.
f A ( x) = min rA ( x) , deoarece rA este descresctoare, aa cum se vede din coloana
A a Tabelului 7.10 i atunci d A ( x) = x .
x=0 , atunci 0 d B 0 i

f B (0) = min{ rB (0) f A (0)} = min{ 0.6 0.4} = 0.24 , iar d B (0) = 0 .
x=1 , atunci 0 d B 1 i

f B (1) = min{ rB (d B ) f A (1 d B )} = min{ rB (0) f A (1); rB (1) f A (0)} = 0.12 ,


d B (1) = 0 .
x=2 , atunci 0 d B 2 i

f B (2) = min{ rB (d B ) f A (2 d B )} = min{ rB (0) f A (2); rB (1) f A (1); rB (2) f A (0) } =


= 0.08 , iar d B (2) = 2 sau 1.

x=0 , atunci 0 d C 0 i
f C (0) = min{ rC (0) f B (0)} = min{ 0.8 0.24} = 0.192 , iar dC (0) = 0 .
x=1 , atunci 0 d B 1 i

f B (1) = min{ rC (d C ) f B (1 d C )} = min{ rC (0) f B (1); rC (1) f B (0)} = 0.096 ,


dC (1) = 0 .
x=2 , atunci 0 d C 2 i

f C (2) = min{ rC (d C ) f B ( 2 d C )} = min{ rC (0) f B (2); rC (1) f B (1); rC (2) f B (0) } =


= min{ 0.8 0.8; 0.5 0.12; 0.3 0.24} = 0.06 , iar d (2) = 1 .
C

Datele obinute sunt trecute n Tabelul 7.11

7. Programare dinamic

157
Tabelul 7.11

x
0
1
2

fB(x)*
0.24
0.12
0.08

d A ( x)

fA(x)
0.4
0.2
0.15

0
1
2

fC(x)*
0.192
0.096
0.06

d B (x)

0
0
2 sau 1

d C (x)

0
0
1

Valoarea soluiei optimale este fC (x ) =0.06 pentru alocarea ambilor cercettori,


astfel:
x C = 2 i dC = 1 , adic se aloc un cercettor la proiectul C ;
x B = x c dC = 1 , dar d B = d B (1) = 0 , adic la proiectul B nu se mai aloc alt

cercettor;
x A = x B d B = 1 , ns d A = d A (1) = 1 , adic se aloc un cercettor la proiectul A.

7.3. Probleme propuse

1. O firm de construcii are 4 000 000 euro pe care vrea s-i investeasc n
construirea a 3 tipuri de locuinte B1, B2, B3. Profitul adus de fiecare tip de locuin
este dat de Tabelul 7.12.
Tabelul 7.12
Suma investit (mil)
B1
0
0
1
35%
2
43%
3
47%
4
49%

B2
0
28%
32%
45%
47%

B3
0
26%
34%
40%
51%

S se precizeze care este profitul maxim i cum se obine.

R. Trecem rezultatele calculelor n Tabelul 7.13

r1

r2

r3

Tabelul 7.13
f1
f2
d1

0
1
2
3
4

0
35
43
47
49

0
28
32
45
47

0
26
34
40
51

0
35
43
47
49

0
1
2
3
4

0
35
63
71
80

d 2
0
0
1
1
3

f3
0
35
63
89
97

d3
0
1
2
2
2 sau 3

Modele i algoritmi de optimizare

158

Culegerea rezultatelor:
a) d3 = 2 , x3 = 4 , x 2 = x3 d3 = 2 , d2 = d 2 ( x 2 ) = 1
d = d ( x ) = 1 ;

x1 = x 2 d2 = 1 ,

b) d3 = 3 , x3 = 4 , x 2 = x3 d3 = 1 , d 2 = d 2 ( x 2 ) = 0

x1 = x 2 d2 = 1 ,

d1 = d1 ( x1 ) = 1 .
Profitul maxim este de 97% , dac se investete suma astfel:
a) (1, 1, 2) , adic 1 milion n primul tip de locuine, 1 milion n al doilea tip de
locuine i 2 milioane n al treilea tip de locuine;
b) (1, 0, 3) , adic 1 milion n primul tip de locuine i 3 milioane n al treilea
tip de locuine.
2. Problema achiziionrilor de carburant
Serviciul de aprovizionare al municipalitii trebuie s asigure motorina pentru
nclzirea oraului, timp de 6 luni noiembrie-aprilie. Preurile de cumprare
prevzute pe ton i nevoile lunare sunt date de Tabelul 7.14 (Henry-Labordere,
1995):
Perioada (i)
Necesarul (bi)
Preul tonei (ci)

1
800
3300

Tabelul 7.14
2
3
500
300
5400 3900

4
200
5100

5
700
6000

6
400
3000

Stocul iniial la 1 noiembrie este de 200 t. Nu se poate depi capacitatea


rezervorului care este de 900 t. Se dorete minimizarea cumprturilor, dar cu
satisfacerea cererii pe ntreaga perioad.
Fie: ci costul unei tone pe perioada i ,
xi stocul la sfritul perioadei i1, nceputul perioadei i, nainte de
cumprarea cantitii di ,
di cantitatea cumprat la data de nti a lunii i ,
bi necesarul pe perioda i.
Notnd f i (xi +1 ) costul politicii optimale care las la sfritul perioadei i un stoc
xi+1, atunci :
s se stabileasc o relaie ntre f i (xi +1 ) i f i 1 (xi ) ,
s se gseasc soluia optimal folosind programarea dinamic. S se precizeze
cumprturile lunare i stocul final.

Rezolvare
1) Formularea problemei n programare liniar (vom renuna la dou zerouri la
x1 = 2
x = x + d b ()i

i
i
i
preuri i cantiti) are restriciile : i +1
xi + d i 9
xi , d i 0

7. Programare dinamic

159

innd seama de relaiile de mai sus, funcia obiectiv se poate scrie ca funcie de d
astfel: f=33d1+54d2+39d3+51d4+60d5+30d6 , iar problema obinut este
p

f p (d ) =min ci d i
i =1

x1 = 2
x = x + d b i = 1,6
i +1
i
i
i

xi + d i 9
xi , d i 0 .
Funcia de minimizat se scrie :
f i (d i +1 ) =min(fi1(xi+1+bidi)+cidi).
Transformrile i fiind inversabile se poate aplica att analiza prospectiv ct i
retrospectiv.
2) Calculele sunt rezumate n Tabelul 7.15.

xi
0
1
2
3
4
5
6
7

f1(d)
198
231

d1 ( x)

6
7

f2(d)
447
501
555
609
663

d 2 ( x)

4
5
6
7
8

Tabelul 7.15
f3(d) d 3 ( x) f4(d)
564 3
642
603 4
681
642 5
720
681 6
759
720 7
798
759 8
849
798 9
900
951

d 4 ( x)

0
0
0
0
0
1
2
3

f5(d) d 5 ( x)
951 0
1011 1
1071 2

f6(d)
1071
1101
1161
1191
1221

d 6 ( x)

4
5
6
7
8
9

Culegerea rezultatelor din tabel:


min f 6 (d 7 ) = 1071 = f 6 (4) , d 6 = d 6 ( x 7 ) = d 6 (0) = 4 , x 7 = 0 ,
x 7 = x 6 + d 6 b6 x 6 = b6 d 6 = 4 4 = 0 .

Cum d5 = d 5 ( x 6 ) = d 5 (0) = 0 , rezult


x 6 = x 5 + d5 b5 x 5 = x 6 + b5 d5 = 0 + 7 0 = 7 i d 4 = d 4 ( x 5 ) = d 4 (7) = 3 .

Analog obinem:
x 5 = x 4 + d 4 b4 x 4 = x 5 + b4 d 4 = 7 + 2 3 = 6 i d3 = d 3 ( x4 ) = d 3 (6) = 9 ,
x 4 = x 3 + d3 b3 x 3 = x 4 + b3 d3 = 6 + 3 9 = 0 i d 2 = d 2 ( x 3 ) = d 2 (0) = 4 ,
x 3 = x 2 + d 2 b2 x 2 = x 3 + b2 d 2 = 0 + 5 4 = 1 i d1 = d1 ( x 2 ) = d1 (1) = 7 ,
x 2 = x1 + d1 b1 x1 = x 2 + b1 d1 = 1 + 8 7 = 2 .

Politica optimal de cumprturi este :


f6(4)=1071 cu cantitile d1 = 7 , d 2 = 4 , d3 = 9 , d 4 = 3 , d5 = 0 , d6 = 4 .

Modele i algoritmi de optimizare

160

3. La o balastier s-au estimat cantitile necesare de balast pentru trimestrul patru


n vederea ncheierii contractului cu o carier. Cantitile i preurile sunt trecute n
Tabelul 7.16 .
Tabelul 7.16
Octombrie Noiembrie
80
30
4
3

Luna
Necesar (m3)
Cost (u.m.)

Decembrie
40
5

La nceputul fiecrei luni se comand o anumit cantitate de balast astfel nct


s fie satisfcut necesarul de balast, dar s nu fie depit capacitatea de depozitare
a balastierei, limitat la 100 m3. S se precizeze costul minim de aprovizionare i
cum se obine. Se presupune c la nceputul i sfritul semestrului depozitul este
gol.

R. Politica optimal de aprovizionare este :


f3(0)=690 cu cantitile d1 = 80 , d2 = 70 , d3 = 0 .
4. O firm de transport de persoane trebuie s fac legtura ntre localitile A i H,
pe un drum ce poate trece prin localitile A, B, C, D, E, F, G, H. Distanele ntre
localiti i reeaua de drumuri sunt trecute n graful din Figura 7.1. tiind c pentru
o persoan se pltesc 3.4 u.m., s se determine costul minim de transport pentru o
persoan i traseul pentru care se obine acest cost.
8

B
2

1
4

C
8

1
D

3
5

F
7

Figura 7.1

R. Traseul minim A, D, G, H are lungimea 13 i costul minim este


Cmin=3.413=44.2 u.m.
5. Construirea unei autostrzi. (Kaufmann, 1967) Folosind analiza prospectiv s
se rezolve problema 3 din 2.5.

R. Se consider c autostrada, care va uni localitile 1 i 14 (Figura 2.18), va fi


format din cinci tronsoane.

8. ELEMENTE DE TEORIA ATEPTRII

8.1. Introducere n teoria ateptrii

Teoria ateptrii (sau teoria firelor de ateptare sau teoria cozilor) se ocup
cu studiul evoluiei sistemelor care prezint aglomerri (sistemele de ateptare).
Un astfel de sistem este compus dintr-una sau mai multe staii de servire (n numr
finit) care servesc clienii ce sosesc n sistem pentru a solicita servicii. Modul de
dispunere sau condiionare a staiilor de serviciu dintr-un sistem de ateptare
constituie topologia sistemului. Astfel, staiile pot fi n serie sau n paralel sau acest
serviciu se realizeaz de ctre una din staii sau de ctre un grup de staii.
Studiul unui sistem de ateptare se face cu ajutorul unui model de ateptare.

Elementele cunoscute ale unui model de ateptare sunt (Vduva et al, I, 1974):
fluxul intrrilor n sistem
mecanismul serviciului.
Intrrile sunt caracterizate fie de numrul de clieni pe unitatea de timp care
sosesc, fie de intervalele de timp dintre dou veniri consecutive.
Oricare dintre aceste dou mrimi este o variabil aleatoare cu repartiia
cunoscut.
Cunoaterea mecanismului serviciului presupune cunoaterea topologiei
sistemului, regula dup care se face serviciul, numit i disciplina serviciului (de
exemplu: FIFO (FirstIn FirstOut) primul sosit primul servit, sau o ordine
bazat pe prioriti), precum i repartiia numrului de clieni servii pe unitatea de
timp sau repartiia duratei serviciului.
Mecanismul serviciului este caracterizat de asemenea i de capacitatea
sistemului presupus cunoscut, adic numrul maxim de clieni ce pot exista la un
moment dat n sistem, sau, echivalent, lungimea maxim a cozii.
Elementele necunoscute ale modelului de ateptare sunt:
timpul de ateptare
timpul de neocupare a staiilor
lungimea cozii
numrul de clieni din sistem N(t) existeni la momentul t .
Toate aceste necunoscute sunt variabile aleatoare i, prin rezolvarea modelului
de ateptare, se urmrete determinarea repartiiei lor sau mcar a unei valori medii
n funcie de elementele cunoscute.

162

Modele i algoritmi de optimizare

Un model de ateptare se noteaz A / S / c: (L, d) , unde:


A repartiia timpului dintre dou veniri consecutive,
S repartiia duratei de serviciu,
c numrul de staii (canale) de serviciu,
L lungimea maxim a cozii,
d disciplina de serviciu.

Exemplu. Notaia Exp() / Exp() / 1: (, FIFO) caracterizeaz un model cu:


veniri cu repartiia exponenial negativ de parametru ,
servicii cu repartiie exponenial negativ de parametru ,
o singur staie ( c=1 ),
coada care poate crete indefinit ( L=),
disciplina de serviciu care este primul sositprimul servit (FirstIn
FirstOut).
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.

8.2. Caracterizarea procesului N(t) ca proces de natere i deces

O caracteristic a procesului N(t) este aceea c variaia valorilor sale pe


intervale mici de timp nu este mare, n sensul c probabilitatea ca N(t) s prezinte
variaii mari pe intervalul de timp (t, t + t) depinde de valoarea lui N(t) i este,
n general, mic. Variaia procesului N(t) este determinat de intrrile i ieirile
din sistem, adic de veniri i servicii. Asemntor variaz i volumul populaiilor
biologice; variaia numrului de indivizi dintr-o astfel de populaie pe un interval
mic de timp nu este prea mare i ea depinde de natalitate (intrri) i de deces
(ieiri). Procesul stochastic N(t) este un caz particular de proces Markov i se
numete proces de natere i deces (Vduva, 1977).

Definiia 8.1. Procesul stochastic cu creteri independente N(t) se numete proces


de natere i deces dac satisface urmtoarele condiii:
1) P [ N ( t + t ) = n + 1 N(t) = n ] =n t + O (t ) ;
2) P [ N ( t +t ) = n 1 N(t) = n ] = n t + O (t ) ;
3) P [ N ( t + t ) = n i N(t) = n ] = O (t ), () i > 1
unde P ( AB ) este probabilitatea lui A condiionat de B, {n , n 0}, {n , n
0} sunt iruri de numere pozitive date, iar O (t ) un element al unei clase de
O ( t )
= 0, cO ( t ) = O ( t ), ()c R .
funcii care satisface: lim O ( t ) = 0, lim
t 0
t 0 t

8. Elemente de teoria ateptrii

163

Procesul este cu creteri independente n sensul c, oricare ar fi t1<t2<t3<t4


variabilele N(t2 t1), N(t3 t4) sunt independente stochastic, adic evoluiile
procesului pe dou intervale de timp disjuncte sunt independente.
Constantele n , n 0 , se numesc intensiti de natalitate, iar n , n 1 , se
numesc intensiti de deces.
Dac pentru t1 < t 2 avem N (t2 t1 ) = N (t2 ) N (t1 ) , se spune c procesul N
este un proces de numrare.
Vom determina probabilitile Pn(t) = P( N( t ) = n ), n = 0,1,2,... .
Din definiia procesului de natere i deces i innd seama c mulimea
funciilor O (t) este nchis la adunare, scdere, nmulire i nmulire cu un
scalar sau cu o funcie de timp, avem:
1 n t + O ( t ) )(1 n t + O (t ) ) +
Pn (t + t ) = Pn (t )(1
44
42444
3 144
42444
3
nici o venire

nici o plecare

+ Pn 1 (t )( n 1 t + O ( t ) )(1 n 1 t + O ( t ) ) +
1442443 14442444
3
o venire

nici o plecare

+ Pn +1 (t )(1 n +1 t + O (t ) )( n +1 t + O (t ) ) +
14442444
3 1442443
nici o venire

o plecare

+ Pn +i (t )(1 O (t ) ) O (t ) +
14243 123
i >1
nu are loc o venire
de i indivizi

are loc o plecare


de i indivizi

+ Pn i (t ) O (t ) (1 O (t ) )
123 14243
i >1
are loc o venire
de i indivizi

nu are loc o plecare


de i indivizi

innd seama de proprietile funciilor O (t) avem:


Pn (t + t ) Pn (t ) = ( n + n )Pn (t )t + n 1 Pn 1 (t )t +
+ n +1 Pn +1 (t )t + O ( t )

, n1 .

mprim la t , trecem la limit pentru t 0 i obinem ecuaiile


KolmogorovFeller care guverneaz procesul de natere i deces:
Pn (t ) = ( n + n )Pn (t ) + n 1 Pn 1 (t ) + n +1 Pn +1 (t ) , n 1
(8.1)
Asemntor deducem
P0 (t ) = 0 Po (t ) + 1 P1 (t )
(8.2)
Sistemul de ecuaii (8.1) i (8.2) trebuie s aib o soluie care s fie un sistem
complet de probabiliti, adic

P (t ) = 1 , ()t
n =0

(8.3)

Teoremele urmtoare dau condiiile ca sistemele (8.1)-(8.3) s aib soluie.

Teorema 8.1. Dac procesul N ( t ) este un proces de natere pur (n = 0,


() n 1), i dac exist i astfel nct Pi ( 0 ) = 1 i Pn ( 0 ) = 0, n i (condiiile

Modele i algoritmi de optimizare

164

iniiale sunt date), atunci condiia necesar i suficient ca soluia sistemului de


ecuaii difereniale (8.1) i (8.2) s fie un sistem complet de probabiliti este ca

1
=.
k =0

Teorema 8.2. Dac pentru procesul de natere i deces N ( t ) sunt date condiiile
iniiale ca n Teorema 8.1, atunci o condiie suficient ca sistemul de ecuaii
difereniale (8.1) i (8.2) s aib ca soluie un sistem complet de probabiliti este
ca


k =1 i =1

=.

i 1

Ipotez simplificatoare. Procesul N ( t ) se presupune staionar, adic Pn ( t ) = pn =


constant, ipotez justificat de faptul c, dup perioade mari de timp de
funcionare, sistemele se stabilizeaz.
n caz staionar, sistemul (8.1) (8.2) devine:
0 p 0 + 1 p1 = 0
(8.4)

( n + n ) p n + n 1 p n 1 + n +1 p n +1 = 0 , n 1
Notm

z k = k p k + k +1 p k +1

i din ultima ecuaie avem


zn = zn1 ,
iar din prima ecuaie
z0 = 0.
Astfel, n cazul staionar
zn = 0, n 0,
sau
p n +1 =

n
pn , n 0 .
n +1

Deducem c
n 1
p n = k p 0 , n 1 .
k = 0 k +1

Din condiia (8.3) rezult c


p0 =

1 + k
n =1 k = 0 k +1

n 1

Cunoscnd repartiia procesului N ( t ), n cazul staionar, adic a numrului


de clieni din sistemul de ateptare, se pot calcula unele elemente necunoscute ale
modelului, i anume:

a) numrul mediu de clieni din sistem M [N (t )] = np n ,


n =0

8. Elemente de teoria ateptrii

165

b) lungimea medie a cozii


L

M [Lc ] = ( n c) p n ,
n=c

(nu poate fi coad pentru n c, adic mai puini clieni dect numrul staiilor de
serviciu),
c) timpul mediu de ateptare la coad
1
M [WT ] =
M [Lc ] ,
(1 p 0 )
unde

1
este timpul mediu de servire i se presupune cunoscut.
(1 p 0 )

Observaia 8.1. (1 p0) reprezint numrul mediu de clieni (uniti) servii n


unitatea de timp. Atunci:
d) timpul mediu de ateptare n sistem
1
M [W ] =
M [N (t )] ,
(1 p 0 )
e) numrul mediu de staii neocupate
c

M [SL ] = (c n) p n ,
n =0

f)

timpul mediu de lenevire (neocupare) a unei staii ntre dou servicii


consecutive
M [ AT ]
,
M [TL ] = M [SL ]
c
unde M[AT] este media intervalelor de timp dintre dou veniri consecutive.
Aadar, pentru a rezolva un model folosind procese de natere i deces trebuie
cunoscute intensitile procesului n , n 0, n , n 1.
Pe baza acestor intensiti se calculeaz probabilitile
pn , n 0,
i apoi elementele necunoscute ale modelului, conform cu formulele precedente.

8.3. Modelul Po()/Exp()/1:(,FIFO)

n acest model intrrile se fac dup repartiia Poisson


( t ) n t
P ( N (t ) = n ) =
e , n0,
n!
iar intervalul de timp dintre dou sosiri consecutive are o repartiie exponenial de
parametru , cum se poate constata uor.

Modele i algoritmi de optimizare

166

Serviciile se fac dup repartiia exponenial, adic durata serviciului ca


variabil aleatoare are repartiia exponenial,
1 e x , pentru x 0
.
F ( x) =
pentru x < 0
0 ,

Raportul =
se numete intensitate de trafic sau factor de serviciu. El

reprezint, n medie, numrul de clieni care vin n perioada unui singur timp de
serviciu.
Dac > 1, atunci durata serviciului pentru clienii care l solicit n unitatea
de timp este mai mic dect unitatea de timp, deci nu se va produce o aglomerare.
Dac < 1, numrul clienilor din irul de ateptare va crete necontenit.
Dac = 1, nu se va produce o coad imens durata serviciilor coincide cu
unitatea de timp, ns evident n anumite momente va fi aglomeraie.
n modelul precedent n = i n = , () n N * . n acest caz, ecuaiile
KolmogorovFeller (8.4) devin, pentru cazul staionar
p n 1 ( + ) p n + p n +1 = 0 , () n 1
(8.5)

p 0 + p1 = 0
Ultima ecuaie d
p1 =

p0 = p0

i nlocuind n prima, avem


p 0 ( + ) p1 + p 2 = 0 p 2 = 2 p 0 .
Rezult prin inducie c
pn = n p0 .
Dar
pn = 1 p0
n = 1 ,

nN

nN

ns

cnd < 1 i atunci

1
1 = p0
1

(8.6)
pn = n( 1 ) .
Se pot determina elementele necunoscute ale modelului n funcie de . De
asemenea, se pot gsi:
pn maxim
d
n
n (1 ) = 0 =
d
n +1
i atunci

1
n
.
p n (t ) =

n + 1 n + 1

8. Elemente de teoria ateptrii

167

Aadar, putem determina:


numrul mediu de clieni din sistem la momentul t

(8.7)
1
n
numrul mediu al clienilor din irul de ateptare lungimea medie a cozii
M [N (t )] =

np (t ) = N n

n 1

n=2

n=2

(1 ) =

M [L1 ] = (n 1) p n = (1 ) ( n 1) n =

2
1

(8.8)

timpul mediu de ateptare la coad


1

M [WT ] =
M [L1 ] =
(8.9)
(1 p 0 )
(1 )
timpul mediu de ateptare n sistem
1
1
M [W ] = M [WT ] + =
.
(8.10)
(1 )
Dac este interesant probabilitatea ca n sistem s fie mai mult de m persoane
i dorim ca ea s nu depeasc o anumit valoare , atunci
1 (1 ) (1 ) ... m 1 (1 ) < m <
(8.11)
Se pot determina astfel i nct s nu existe aglomeraie.
Propoziia 8.1. Probabilitatea ca numrul clienilor din sistem la un moment dat s
fie mai mare ca un numr dat k este
(8.12)
P( N( t ) > k ) = k+1 .
Demonstraie. Calculm aceast probabilitate, innd seama de notaiile de mai
nainte, i avem

k +1
P(N (t ) > k ) = p n (t ) = n (1 ) = (1 )
= k +1 .
1
n = k +1
n = k +1

Se poate determina probabilitatea ca un client s atepte la rnd un timp


superior unui timp dat t0 .
Deoarece timpul de ateptare la coad este o variabil aleatoare continu, vom
determina repartiia complementar a acestei variabile aleatoare, adic P(WT >t0 )
(funcia de repartiie F(t0) = P(WT t0 )).
Determinm aceast repartiie prin intermediul unei probabiliti elementare de
forma P( t < WT < t + dt ), care reprezint probabilitatea evenimentului ca timpul
de ateptare al unui client la coad s fie cuprins n intervalul (t, t+dt).
Notm cu Pn( t < WT < t + dt ) probabilitatea ca timpul de ateptare la coad
al unui client s fie cuprins n intervalul (t, t+dt) condiionat de faptul c la sosirea
lui n sistem exist deja n > 0 clieni.
Observaia 8.2. Dac n = 0 la sosirea n sistem a clientului, acesta nu ateapt i

intr direct n serviciu. P (t < WT < t + dt ) = Pn (t < WT < t + dt ) .


n =1

Cum se calculeaz Pn( t < WT < t + dt ) ?

Modele i algoritmi de optimizare

168

Fiind o probabilitate condiionat, se scrie ca un produs de probabiliti pentru


urmtoarele trei evenimente:
a) evenimentul ca, la sosire, n sistem s existe n uniti, Pn(0). Se ia momentul
sosirii clientului ca fiind t = 0 ;
b) evenimentul ca n intervalul de timp t s fie servii i s plece din sistem n1
clieni, cu condiia s fi existat iniial n clieni n sistem. Probabilitatea acestui
(
t )n 1 t
eveniment este
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,
( t )n1 e t dt .
Pn (t < WT < t + dt ) = Pn (0)
(n 1)!
Sistemul este presupus n regim staionar i atunci avem:

(
t )n 1 t
n
e
dt =
P (t < WT < t + dt ) = (1 )
(n 1)!
n =1
( t ) n 1
= (1 ) e t (1 ) dt .
(
)

1
!
n
n =1

= (1 ) de t
Aadar,

P (WT > t 0 ) = (1 ) e (1 ) d = (1 )
t0

=e

t 0 (1 )

e (1 )
(1 )

=
t0

pentru < 1. Am obinut P( WT > t0 ) = e t0 (1 ) i astfel am demonstrat


urmtoarea propoziie.
Propoziia 8.2. Probabilitatea ca un client s atepte la rnd un timp superior unui
timp dat t0 este
P( WT > t0 ) = e t0 (1 ) .
Exemplu. La o baz de aprovizionare sosesc n medie 30 de autobasculante pe or
pe care trebuie s le ncarce un singur excavator. Timpul mediu necesar ncrcrii
unei autobasculante este de 1 min i 30 s. S se stabileasc elementele modelului de
ateptare care rezult, dac se consider c sosirile sunt poissoniene, iar servirile,
exponeniale. S se determine probabilitatea ca n sistem s fie 3 sau mai mult de 3
autobasculante.
Rezolvare. Presupunem c prin observaiile din teren ne situm n cazul modelului
Po()/Exp()/1:(,FIFO) . Pentru acest caz intensitatea intrrilor este =30 , iar

8. Elemente de teoria ateptrii

169

cea a ieirilor (serviciilor) din sistem este =

60 min
. Intensitatea de trafic
1 min 30 s

3
. Din relaia (8.6) avem p 0 = 1 = 0.25 , p1=0.1875 .a.m.d.
4
Se pot determina acum conform cu relaiile (8.7)(8.11) elementele necunoscute
ale modelului:
numrul mediu de autobasculante din sistem M[N(t)]=3.
numrul mediu de autobasculante din irul de ateptare M[L1(t)]=2.25.
timpul mediu de ateptare n sistem M[W]=6 min.
timpul mediu de ateptare n irul de ateptare M[WT]=4 min i 30 s.
Din relaia (8.12) avem P( N( t ) > 2) = 2+1=0.42187 .

este =

Comentariu. Dac s-ar pune problema ca n sistem s fie n medie 2 autobasculante n


2

loc de 3, atunci din relaia (8.7) obinem


= 2 i = = . Cum =30
1
3
este o dat exterioar sistemului, trebuie modificat durata medie a serviciilor, i
anume = 45 s . Pentru noile valori ale parametrilor , se pot determina
elementele necunoscute ale modelului.

S rezolvm modelul pentru valorile iniiale ale parametrilor i cu


pachetul de programe Management Scientist. Dup lansarea pachetului de
programe selectm modulul Waiting Lines i din acesta Poisson Arrivals /
Exponential Service (Figura 2.4). Introducem datele de intrare ca n Figura 8.1.

Figura 8.1

Selectnd Solve obinem soluia modelului care, aa cum se vede din Tabelul 8.1,
coincide cu cea obinut mai sus.

Modele i algoritmi de optimizare

170
Tabelul 8.1

WAITING LINES
*************
NUMBER OF CHANNELS = 1
POISSON ARRIVALS WITH MEAN RATE = 30
EXPONENTIAL SERVICE TIMES WITH MEAN RATE = 40
OPERATING CHARACTERISTICS
------------------------THE PROBABILITY OF NO UNITS IN THE SYSTEM
THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE
THE AVERAGE NUMBER OF UNITS IN THE SYSTEM
THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE
THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM
THE PROBABILITY THAT AN ARRIVING UNIT HAS TO WAIT
Number of Units in the System
----------------------------0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 OR MORE

0.2500
2.2500
3.0000
0.0750
0.1000
0.7500

Probability
----------0.2500
0.1875
0.1406
0.1055
0.0791
0.0593
0.0445
0.0334
0.0250
0.0188
0.0141
0.0106
0.0079
0.0059
0.0045
0.0033
0.0025
0.0075

8.4. Modelul Po()/Exp()/1:(m, FIFO)

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

n cea de-a doua ecuaie din (8.4) lum n = 1 i obinem


m p 0 [(m 1) + ] p1 + p 2 = 0
m p 0 (m 1) m

p0 m p0 + p2 = 0

p 2 = m(m 1) p 0 .

Lund n = 2, obinem
(m 1) p1 [( m 2) + ] p 2 + p 3 = 0
2

( m 1) m p 0 (m 2) m(m 1) p 0 + p 3

m(m 1) p 0 = 0 p 3 = m(m 1)(m 2) p 0 .

Prin inducie rezult


n

p n = A p 0

2
K
m
i
p 2 (t ) K p m (t )
n
m

0
N (t ) :
p 0 (t )

1
p1 (t )
n

Amn p 0 = 1 p 0 =

n =0

p
k =0

1
m

A
n =0

n
m

(t ) = 1

, Am0 = 1 .

Calculul elementelor necunoscute ale modelului


numrul mediu de clieni din sistem
n

M [ N (t )] = np n (t ) = nA p 0 = [m (m n)] Amn p 0 =
n =0
n =0
n =0

n
m

n +1

m 1
= m A p 0 ( m n) Amn p 0 = m Amn +1 p 0 =

n =0

n =0

1
4424
43 n =0
144
424
44
3
1
1 p0
m

n
m

=m

(1 p 0 ) ; deci M [ N (t )] = m (1 p 0 ) ,

numrul mediu de clieni servii la un moment dat


1
0

M [n s (t )] = 0 p 0 + 1 p 0 = 1 p 0 .
n s (t ) :
p 0 (t ) 1 p 0 (t )

Modele i algoritmi de optimizare

172

Dac este numrul mediu de clieni ce pot fi servii pe unitatea de timp,


dac staia este ocupat tot timpul, atunci numrul mediu de clieni servii efectiv
ntr-o unitate de timp este ( 1 p0 ).
lungimea medie a cozii M[Lc] = M[L1]
M[Lc] = numrul mediu de clieni n sistem la un moment dat minus numrul
mediu de clieni ce sunt servii la un moment dat =
=M[N( t )] ( 1 p0 ) =

+
= m (1 p 0 ) (1 p 0 ) M [ Lc ] = m
(1 p 0 ) .

timpul mediu de ateptare la coad


+
1
1 m
M [WT ] =
M [ L1 ] =


(1 p 0 )
1 p 0

+
1 m
M [WT ] =

,
1 p 0

timpul mediu de ateptare n sistem


1 1 m

1 m

M [W ] = M [WT ] + =
M [W ] =
.
1 p 0
1 p 0

Exemplu. O firm de taximetre are 12 autoturisme i un singur mecanic de


ntreinere. tiindu-se c repartiia de probabilitate a timpului de funcionare a unui
autoturism ntre dou defeciuni este exponenial cu media de 6 zile, iar repartiia
timpului necesar reparaiei defeciunii este exponenial cu media 4 ore, s se
determine:
probabilitatea ca la un moment dat toate autoturismele s funcioneze,
timpul mediu de ateptare a unui autoturism defect pn la momentul cnd
ncepe s fie reparat,
timpul mediu de ateptare a unui autoturism pn n momentul n care
prsete atelierul de reparaii,
numrul mediu de autoturisme la coad i
numrul mediu de autoturisme din atelier.
Se consider ziua de lucru de 8 ore.
Rezolvare
1
1
1
1
48 1
=
=
=
; = maini pe or ,
=
, atunci
8 6 48
4
1 12
4
1
1
p0 =
=
= 0.19857 ,
n
12
5.03607
n 1
A12

12
n=0

8. Elemente de teoria ateptrii

173

reprezint probabilitatea ca la un moment dat toate autoturismele s funcioneze.


1 1
+
+
M [ L1 ] = m
(1 p 0 ) = 12 48 4 (1 0.19857) = 1.58141 ,
1

48
1

M [ N (t )] = m (1 p 0 ) = 12 4 (1 0.19857) = 2.38284 ,
1

68
1 1

m
+
1
1
12
4 48 = 7.89294 ,
M [WT ] =

1
1 p 0
1 1 0.19857
4
48

12
1 m
1
M [W ] =
4 = 11.89294 .
=
1 p 0 1 1 0.19857 1
4
48
Pentru rezolvarea acestei probleme cu Management Scientist, dup lansarea
programului, selectm Waiting Lines, apoi din meniul File alegem New i din
fereastra care apare selectm Poisson Arrivals/Exponential Service (Finite Pop.),
(Figura 2.4). n fereastra care apare introducem datele de intrare
1
=
= 0.02083 , = 0.25
68
ca n Figura 8.2, apoi selectm Solve

Figura 8.2

i rezultatele sunt afite pe ecran sub urmtoarea form (Tabelul 8.2).

Modele i algoritmi de optimizare

174
Tabelul 8.2

WAITING LINES
*************
NUMBER OF CHANNELS = 1
POISSON ARRIVALS WITH MEAN RATE = 0.02083
EXPONENTIAL SERVICE TIMES WITH MEAN RATE = 0.25
FINITE CALLING POPULATION OF SIZE = 12
OPERATING CHARACTERISTICS
------------------------THE PROBABILITY OF NO UNITS IN THE SYSTEM
THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE
THE AVERAGE NUMBER OF UNITS IN THE SYSTEM
THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE
THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM
THE PROBABILITY THAT AN ARRIVING UNIT HAS TO WAIT
Number of Units in the System
----------------------------0
1
2
3
4
5
6
7
8
9
10
11
12

0.1986
1.5808
2.3822
7.8907
11.8907
0.8014

Probability
----------0.1986
0.1986
0.1820
0.1517
0.1137
0.0758
0.0442
0.0221
0.0092
0.0031
0.0008
0.0001
0.0000

8.5. Modelul Po()/Exp()/c:(, FIFO)

Aceste modele generalizeaz modelele de ateptare cu o singur staie de


servire, avnd c staii de servire paralele (identice n ceea ce privete timpul de
servire).
Fie N( t ) numrul mediu de clieni din sistem la momentul t . Atunci avem:
probabilitatea unei veniri n intervalul ( t , t + t ) este t + O (t), iar venirile
sunt independente ntre ele,
probabilitatea unei ieiri dintr-o staie de servire n intervalul de timp (t , t +
+ t) este t + O (t) ,
probabilitatea rmnerii unui client n sistem este 1 t + O (t) ,
probabilitatea ca n c clieni s rmn n staiile de servire este
( 1 t+ O (t) )n = 1 nt + O (t),
deoarece ieirile din sistem sunt independente,
probabilitatea ca n intervalul de timp ( t , t + t ) un client s prseasc sistemul
atunci cnd n staii de servire lucreaz simultan este n t + O(t) .

8. Elemente de teoria ateptrii

175

Notm En evenimentul care const n prezena a n clieni n sistem i cu pn(t)


probabilitatea producerii evenimentului En la momentul t.
Vom calcula Pn( t + t ).
a) 0 < n < c . Vom neglija probabilitile de ordin de mrime mai mic ca O (t).
Sunt posibile urmtoarele situaii:
1) sistemul se gsete la momentul t n starea En i nu au loc nici o venire i
nici o plecare n/din sistem n intervalul de timp (t, t + t). Probabilitatea
corespunztoare este
(1 t + O (t ))(1 n t + O (t )) p n (t ) =

= [1 ( + n )t + O (t ))] p n (t ) ,

2) sistemul se gsete la momentul t n starea En1 i au loc o venire i nici


o plecare. Probabilitatea corespunztoare este
( t + O (t ) )(1 t ) p n 1 (t ) = p n 1 (t )t ,
3) sistemul se gsete la momentul t n starea En+1 i au loc o ieire din
sistem i nici o venire. Probabilitatea corespunztoare este
(1 t + O (t ) )((n + 1) t + O (t ) ) p n +1 (t ) =
= [(n + 1) t + O ( t ))] p n+1 (t ) .

Aadar,
p n (t + t ) = [1 ( + n )t + O (t )] p n (t ) + p n 1 (t )t +
+ [(n + 1) t + O (t )] p n +1 (t )

(8.13)

b) n c . Apar urmtoarele eventualiti:


1) sistemul se gsete la momentul t n starea En i nu au loc nici o venire i
nici o plecare n/din sistem n intervalul de timp (t, t + t). Ieirile nu pot
avea loc dect din cele c staii ocupate.
Probabilitatea corespunztoare este
(1 t + O (t ) )(1 c t + O (t ) ) p n (t ) =

= [1 ( + c )t + O ( t ))] p n (t ) ,
ntruct toi cei c clieni din staiile de servire rmn n sistem (n-au terminat
serviciul).
2) sistemul se gsete la momentul t n starea En1 , are loc o intrare n
sistem i nu se produce nici o ieire. Probabilitatea corespunztoare este
( t + O (t ) )(1 c t + O (t ) ) p n 1 (t ) = p n 1 (t )t .
3) sistemul se gsete la momentul t n starea En+1 , nu are loc nici o intrare
n sistem, dar are loc o ieire. Probabilitatea corespunztoare este
(1 t + O (t ) )(c t + O (t ) ) p n +1 (t ) = c p n +1 (t )t ,
unde c t + O (t ) este probabilitatea ca un client s prseasc sistemul atunci
cnd c staii lucreaz simultan.
Aadar,

Modele i algoritmi de optimizare

176

p n (t + t ) = [1 ( + c )t + O (t )] p n (t ) + p n 1 (t )t +
+ c p n +1 (t )t .

(8.14)

c) n = 0 . Evideniem urmtoarele eventualiti:


1) sistemul se gsete la momentul t n starea E0 i nu au loc nici o venire i
nici o plecare n/din sistem n intervalul de timp (t, t + t). Probabilitatea
corespunztoare este ( 1 t + O (t ) ) p0 ( t ).
2) sistemul se gsete la momentul t n starea E1 , are loc o ieire din sistem
i nu se produce nici o intrare. Probabilitatea corespunztoare este
(1 t + O (t ) )( t + O (t ) ) p1 (t ) = [ t + O (t )]p1 (t ) .
Am obinut
p 0 (t + t ) = [1 t + O (t )] p 0 (t ) + [ t + O (t )] p1 (t )
(8.15)
Din relaiile (8.13), (8.14), (8.15), prin mprire la t i innd seama de
proprietile funciilor O (t) , trecnd la limit (t 0), obinem ecuaiile de
stare pentru acest model:
p 0 (t ) = p 0 (t ) + p1 (t )

(8.16)
p n (t ) = ( + n ) p n (t ) + p n 1 (t ) + (n + 1) p n +1 (t ) , 1 n < c
p (t ) = ( + c ) p (t ) + p (t ) + c p (t )
, nc .
n
n 1
n +1
n
n cazul staionar p n (t ) = 0 , n 0 , ecuaiile de stare (8.16) devin
p 0 = p1

( + n ) p n = p n 1 + (n + 1) p n +1 1 n < c
( + c ) p = p + c p
n c.
n
n 1
n +1

Pentru rezolvarea sistemului (8.17) vom nota


zn = pn1 + npn .
Prima ecuaie din (8.17) devine
z1 = p0 + p1 = 0 .
Prelucrm a doua ecuaie din (8.17)
pn + ( n + 1)pn+1 = pn1 + npn ,
de unde rezult c
zn+1 = zj = ... = z1 = 0 .
n

1
1
1
p1 = p 0 ; p n = p n 1 p n = p 0 = n p 0 ; =
.

n
n!
n!
Astfel,
1 n
p0 , 1 n < c .
n!
Din ultima ecuaie a sistemului (8.17) rezult c
pn + cpn+1 = pn1 + cpn .
De unde

pn =

(8.17)

8. Elemente de teoria ateptrii

177

zn = zn+1 , iar zc = pc1 + cpc = 0.


Astfel
pc =

1
c
c
1
p0 =
p0 .
p c 1 =
c (c 1)!
c!
c

Aadar,
c

pc+k =
p0 , k 0 .
c c!
k

Pentru acest model notm

* =

intensitatea de trafic a sistemului de

ateptare.
Am obinut soluia sistemului (8.17)

n
p0
, 1 n < c
p n =
n!

n
pn =
p0 , n c .

c! c n c

Deoarece

p
n=0

(8.18)

= 1 , rezult c

( )

c 1 n
* c

+
= 1,
p0
n=0 n!
c!
n =c

de unde obinem
1

p0 =

c 1

+
c! 1 * n=0 n!
Cunoscnd repartiia variabilei aleatoare N( t ), se poate determina repartiia
variabilei aleatoare Lc( t )
L
0
1
2

.
Lc :
p 0 (t ) + ... + p c (t ) p c +1 (t ) p c + 2 (t ) L

Calculul elementelor necunoscute ale modelului


lungimea medie a cozii

M [ Lc ] = 0 [ p 0 (t ) + ... + p c (t )] + kp c + k (t ) .
k =1

Notm c + k = n k = n c . Atunci
M [ Lc ] =

(n c) p n =

n = c +1

n = c +1

(n c)

n
c!c n c

p0 =

Modele i algoritmi de optimizare

178

c +2
c +3
c +1



cc
=
p 0 1 + 2 + 3 + ... =
c! c

c
c


cc
p 0
c! c

c +1


1 + 2 + 3 ... .

c c

Se tie c

1
, x <1.
(1 x) 2
k =1
Aplicnd n relaia de mai sus, obinem

kx

M [ Lc ] =

k 1


cc
p 0
c! c

c +1

de unde rezult c
c

p 0 .

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
c
K c 1
1
2

0
.
n s :
p 0 (t ) p1 (t ) p 2 (t ) K p c 1 (t ) p c (t ) + p c +1 (t ) + ...
M [ Lc ] =

(c 1)!(c ) 2

n =0

n = c +1

M [n s ] = np n (t ) + c( p c (t ) + p c +1 (t ) + ...) = np n (t ) + c p n (t ) =
n =0

1
1
p 0 (t ) + c
n c
n!
n = 0 c! c
n =0
De aici rezult c
c

= n

M [n s ] =

p 0 (t ) .

iar cum
M[N( t )] = M[Lc] + M[ns],
obinem c

M [ N (t )] =
(c 1)!(c ) 2

M [n s ] =

p 0 + .

numrul mediu de servicii fcute efectiv n unitatea de timp

timpul mediu de ateptare la coad

= .

8. Elemente de teoria ateptrii

M [WT ] =

179

M [ Lc ]

p 0 (t ) .

timpul mediu de ateptare n sistem


M [W ] = M [WT ] +

=
(c 1)!(c ) 2
1

numrul mediu de staii de servire care lenevesc (neocupate)


c 1

M [ SL] = (c j ) p j (t ) = c .
j =0

Exemplu. La o spltorie auto se prezint n medie 6 autoturisme pe or. Un


luctor folosete pentru splatul unui autoturism n medie 15 minute. S se
determine elementele sistemului pentru cazurile n care se folosesc 2 i respectiv
3 lucrtori.
Rezolvare
60
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 =
= 0.14286 , p1 = p 0 = 0.21429 ,
2
2
1
3
3
+1+

2
2 2!1 3

Pentru acest exemplu avem = 6 , =

3 1
p2 =
p 0 = 0.16072 etc
2 2!
3

1
3 1
= 1.92861 ,
M [ L2 ] = 0.14286
2
2
2
!
2

3

1
4

3 1
M [ SL] = c = 2 = ,
2 2
3

1
3
3 1
+ = 3.4261 ,
M [ N (t )] = 0.14286
2
2
2 2!2
3
1
2

M [ Lc ] 1.92861
=
= 0.32143 = 19 min 17 s .
M [WT ] =
6

b) c = 3 (3 lucrtori)

Modele i algoritmi de optimizare

180

= 0.21053 ,
2
3 3 1
1
3
+1+ +

2 2 2!
2 3!1 3

3
p1 = p 0 = 0.3158 etc .
2
M [ L3 ] = 0.23685 ; M [ N (t )] = 1.73685 ;
M [ SL] = 1.5 ; M [WT ] = 0.03946 ore = 2 min 22 s .
p0 =

Concluzie. Din punctul de vedere al clienilor, serviciul la spltorie este mult


mai atractiv cu 3 lucrtori, deoarece numrul mediu al autoturismelor care stau la
rnd n acest caz este 0.23 i ateapt n medie doar 2 min i 22 s, fa de cazul n
care ar fi doar 2 lucrtori i ar atepta n medie 19 min i 17 s. n cazul b) 21%
dintre solicitani au ansa s nu stea la rnd.
Apelm Management Scientist pentru rezolvarea acestui model. Dup lansarea
pachetului de programe, selectm modulul Waiting Lines, apoi modelul Poisson
Arrivals / Exponential Service. Introducem datele de intrare pentru cazul cu 2
lucrtori n fereastra corespunztoare modelului selectat (Figura 8.3).

Figura 8.3

Selectnd Solve se obin rezultatele prezentate n Tabelul 8.3.


Analog se rezolv i cazul cu c=3.

8.6. Modelul P0()/Exp()/c:(m,FIFO)


Acest model reprezint cazul sistemului de ateptare cu sosiri poissoniene,
servicii exponeniale, mai multe staii de servire n paralel (identice n ceea ce
privete timpul de servire), numr limitat de clieni, m, i disciplina de servire FIFO.

8. Elemente de teoria ateptrii

181
Tabelul 8.3

WAITING LINES
*************
NUMBER OF CHANNELS = 2
POISSON ARRIVALS WITH MEAN RATE = 6
EXPONENTIAL SERVICE TIMES WITH MEAN RATE = 4 PER CHANNEL
OPERATING CHARACTERISTICS
------------------------THE PROBABILITY OF NO UNITS IN THE SYSTEM
0.1429
THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE
1.9286
THE AVERAGE NUMBER OF UNITS IN THE SYSTEM
3.4286
THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE
0.3214
THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM
0.5714
THE PROBABILITY THAT AN ARRIVING UNIT HAS TO WAIT
0.6429
Number of Units in the System
Probability
--------------------------------------0
0.1429
1
0.2143
2
0.1607
3
0.1205
4
0.0904
5
0.0678
6
0.0509
7
0.0381
8
0.0286
9
0.0215
10
0.0161
11
0.0121
12
0.0091
13
0.0068
14
0.0051
15
0.0038
16
0.0029
17 OR MORE
0.0086

Pentru prezentarea modelului (schematizat n Figura 8.4) vom considera urmtorul


exemplu.
La o balastier vin m autobasculante pentru a fi ncrcate de c excavatoare.
Autobasculantele formeaz o singur coad i sunt ncrcate dup metoda FIFO.
S-a observat c venirile autobasculantelor la coad sunt repartizate P0() , iar
timpii de ncrcare sunt repartizai dup legea Exp().
staie de servire 1
coada
Veniri

O O ... O
ir de
ateptare

Figura 8.4

staie de servire 2

numrul zilelor lucrt

182

Modele i algoritmi de optimizare

Determinarea ecuaiilor de stare


Notm En evenimentul care const n prezena a n autobasculante la
balastier, iar pn( t ) probabilitatea producerii evenimentului En la momentul t .
Dac n c , nu exist coad de ateptare.
Dac n> c , se formeaz coad de ateptare.
Fie Pn( t + t ) probabilitatea ca la momentul t + t s fie n autobasculante
la balastier. La intervalul de timp t + t pot avea loc urmtoarele situaii:
1) sistemul este n starea En , nu vine i nu pleac nici o autobasculant.
Probabilitatea corespunztoare este:
(1 n t + O (t ) )(1 (m n) t + O (t ) ) ,
dac 1 n < c , sau
(1 c t + O (t ) )(1 (m n) t + O (t ) ) ,
dac n c .
2) sistemul se afl n starea En+1 , nu are loc nici o venire, dar are loc o plecare n
intervalul de timp ( t , t + t ). Probabilitatea corespunztoare este
[(n + 1) t + O (t )] [1 (m n) t + O (t )] = (n + 1) t + O (t ) ,
dac 1 n < c , sau
[1 (m n) t + O (t )] [c t + O (t )] = c t + O (t ) ,
dac n c .
3) sistemul se afl n starea En1 i au loc o venire i nici o plecare n intervalul de
timp ( t , t + t ). Probabilitatea corespunztoare este:
[(m n + 1) t + O (t )] [1 (m n) t + O (t )] =
= (m n + 1) t + O (t ) ,
dac 1 n < c , sau
[(m n + 1) t + O (t )] [1 c t + O (t )] = (m n + 1) t + O (t ) ,
dac n c .
Aadar,
a) pentru n < c , avem:
p n (t + t ) = {1 [n + ( m n) ]t + O ( t )}p n (t ) +
+ [(n + 1) t + O (t )] p n +1 (t ) +

+ [(m n + 1) t + O (t )] p n 1 (t )

b) pentru n c , avem
p n (t + t ) = {1 [c + (m n) ]t + O ( t )}p n (t ) +

+ [c t + O (t )] p n +1 (t ) + [( m n + 1) t + O (t )] p n 1 (t )
c) pentru n = 0 , avem
p 0 (t + t ) = [1 t + O (t )] p 0 (t ) +
+ [1 t + O (t )]( t + O (t ) ) p1 (t )

= [1 m t + O (t )] p 0 (t ) + [ t + O ( t )] p1 (t )

8. Elemente de teoria ateptrii

183

Relaiile a), b), c) le mprim la t , inem seama de proprietile funciilor


O ( t ) cnd se trece la limit pentru t 0 , i se obin ecuaiile de stare ale
modelului
p 0 (t ) = p1 (t ) m p 0 (t )
p (t ) = [n + (m n) ] p (t ) + (n + 1) p (t ) + (m n + 1) p (t )
n
n +1
n 1
n
1
n
c

<

p (t ) = [c + (m n) ] p (t ) + c p (t ) + (m n + 1) p (t )
n
n +1
n 1
n

c n m.
n cazul staionar, ecuaiile de stare sunt
mp 0 = p1

(n + 1) p n +1 = [n + (m n) ] p n (m n + 1) p n 1 1 n < c
c p = [c + ( m n) ] p (m n + 1) p
cn<m
n +1
n
n 1

deoarece pm+1( t ) = 0 , sistemul neputnd avea mai mult de m autobasculante la


un moment dat.
Pentru rezolvarea sistemului, aplicm aceeai metod ca la modelul din 8.5
i, prin inducie, avem
C mn n p 0 ,
n<c
c
n
pn = c
n
c! Am c p 0 , c n m .

nlocuind pn de mai sus n (8.3) rezult


1
.
p0 =
n
c 1
cc m n
n
n
Cm +

Am
c! n = c c
n =0
Aici pn este probabilitatea ca, la un moment dat, s existe n sistem n
autobasculante, p0 este probabilitatea ca n sistem s nu existe nici o

autobasculant la un moment dat, iar

< 1 pentru evitarea supraaglomerrii.

Calculul elementelor necunoscute ale modelului


Dup calcule laborioase se obin pentru elementele necunoscute ale modelului
urmtoarele relaii:
numrul mediu de clieni din sistem
c + c m c1 n n c c 1C mc m c
M [ N (t )] = p 0
Cm + 1 + +

(1 + ) n=0
numrul mediu de clieni de la coad
c 1

M [ Lc ] = m c 1 p 0 C mn n + c c1C mc p 0

n =0


numrul mediu de staii n lucru

Modele i algoritmi de optimizare

184

M[ns] = M[N(t)] M[Lc]


timpul mediu de ateptare la coad
M [ Lc ]
M [WT ] =
M [n s ]
timpul mediu de ateptare n sistem
M [W ] = M [WT ] +

Aplicaie numeric
Balastiera are 2 excavatoare care trebuie s ncarce 20 autobasculante. S-a constatat
c sosirile autobasculantelor sunt poissoniene cu parametrul
= 0.3
autobasculante pe or, iar timpul de ncrcare este exponenial de parametru = 4
autobasculante pe or pentru fiecare excavator. S se determine elementele
necunoscute ale fenomenului de ateptare.
Rezolvare

=
p0 =

0.3
=
= 0.075 ; c = 2 ; m = 20

4
1

22
C
(
0
.
0
75
)
+

2!
n =0
1

n
20

0.075
A

2
n=2
20

= 0.18756

n
20

2 0.075 + 2 20 0.075 1 n
2(0.075)1 C 202
n
(
0
.
075
)
M [N (t )] = p 0
C
+
+

20
0.075 1.075
1.075
n =0

20 0.075 2
+
= 2.08595
0.075
1
2


n
2
2 1 p 0 C 20
M [ L2 ] = 20
(0.075) n + + 2(0.075)1 C 20
p0 = 0.74239
0.075


n =0

M [n s ] = M [ N (t )] M [ L2 ] = 1.34355
M [WT ] =

M [L2 ]
= 0.13814 = 8 min 17 s
4 M [ ns ]

M [W ] = M [WT ] +

1
= 0.38814 = 23 min 17 s .
4

Rezolvm modelul de mai sus i cu Management Scientist. Dup lansarea


pachetului de programe selectm modulul Waiting Lines, apoi modelul Poisson
Arrivals/Exponential Service (Finite Pop.) i introducem datele ca n Figura 8.5.
Dup apsarea butonului Solve obinem rezultatele din Tabelul 8.4 care coincid
cu cele determinate anterior.

8. Elemente de teoria ateptrii

185

Figura 8.5
Tabelul 8.4
WAITING LINES
*************
NUMBER OF CHANNELS = 2
POISSON ARRIVALS WITH MEAN RATE = 0.3
EXPONENTIAL SERVICE TIMES WITH MEAN RATE = 4 PER CHANNEL
FINITE CALLING POPULATION OF SIZE = 20
OPERATING CHARACTERISTICS
------------------------THE PROBABILITY OF NO UNITS IN THE SYSTEM
0.1876
THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE
0.7424
THE AVERAGE NUMBER OF UNITS IN THE SYSTEM
2.0859
THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE
0.1381
THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM
0.3881
THE PROBABILITY THAT AN ARRIVING UNIT HAS TO WAIT
0.5311
Number of Units in the System
Probability
--------------------------------------0
0.1876
1
0.2813
2
0.2005
3
0.1353
4
0.0863
5
0.0518
6
0.0291
7
0.0153
8
0.0075
9
0.0034
10
0.0014
11
0.0005
12
0.0002
13
0.0001
14
0.0000

8.7. Simulare
Modelele matematice corespunztoare sistemelor reale sunt folosite pentru a
analiza rezultatele deciziilor nainte de implementare. Simularea nu determin
soluia optim a modelului matematic, ci compar rezultatele mai multor alternative
predefinite cu scopul de a o reine pe cea mai avantajoas. Modelul de simulare
urmrete evoluia n timp a sistemului real i ine seam i de factorul aleatoriu. n
situaia n care modelul matematic poate fi rezolvat analitic, aceast metod este
preferabil simulrii, deoarece se obine soluia optim. Simularea se folosete n

Modele i algoritmi de optimizare

186

cazurile n care rezolvarea analitic a modelului matematic este imposibil sau


destul de dificil.
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.

Numr de
sosiri
0
1
2
3
4
5

Tabelul 8.6
Numr aleatoriu
generat
0-22
23-52
53-82
83-92
93-97
98-199

Frecvena
relativ
0.23
0.30
0.30
0.10
0.05
0.02

Vom considera comportarea sistemului de ateptare pe o perioad de 30 zile.


Pentru c simularea ncepe fr vagoane la descrcare, este necesar o perioad de

8. Elemente de teoria ateptrii

187

iniializare (o considerm de 5 zile) pentru ca sistemul s se apropie de o situaie


normal. Au fost generate 35 de numere, care sunt trecute n Tabelul 8.7, mpreun
cu rezultatele simulrii.

x
x
x
x
x

Numr
aleatoriu
99
6
15
62
86

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

12
39
39
16
24
45
88
81
53
26
56
77
31
34
94
11
15
92
38
14
36
9
56
84
12
79
25
81
1
65

Ziua

Total
Media

Tabelul 8.7.
Numr
Total de
sosiri
descrcat
5
0
0
0
0
0
2
2
3
3
0
1
1
0
1
1
3
2
2
1
2
2
1
1
4
0
0
4
1
0
1
0
2
3
0
2
1
2
0
2
40
1,33

1
1
1
0
1
1
3
3
3
2
2
2
1
1
4
2
0
4
3
1
1
0
2
3
1
2
1
2
0
2

Amnate

Descrcate

0
0
0
0
1

0
0
0
2
2

0
0
0
0
0
0
1
1
1
0
0
0
0
0
2
0
0
2
1
0
0
0
0
1
0
0
0
0
0
0
9
0,3

1
1
1
0
1
1
2
2
2
2
2
2
1
1
2
2
0
2
2
1
1
0
2
2
1
2
1
2
0
2
41
1,36

Modele i algoritmi de optimizare

188

Observm c a fost descrcat i un vagon n plus fa de cele sosite n cele 30


de zile care constituie perioada de simulare, deoarece atunci cnd ncepem
simularea pentru 30 de zile mai era un vagon de descrcat. Cunoscnd care este
penalizarea pentru amnarea descrcrii unui vagon, se poate calcula pierderea
cauzat pe perioada simulat. Se pot reface calculele pentru o capacitate de
descrcare sporit, de exemplu 3 vagoane pe zi, i se compar pierderea cauzat de
vagoanele amnate, putnd decide care este cea mai avantajoas configuraie
pentru acest sistem de ateptare.
Rolul simulrii manuale este de a nelege n ce const simularea unui model de
ateptare, urmnd ca pentru un eantion mare s se foloseasc simularea cu
calculatorul. Exist multe pachete de programe specializate n simulare, de
exemplu SIMUL8 care are o interfa grafic atrgtoare i se pot realiza destul de
comod simulri pentru modele de ateptare. Se poate folosi i EXCEL pentru
realizarea simulrii modelelor de ateptare sau de stocuri.

8.8. Probleme propuse

1. La un magazin de decoraiuni interioare sosesc n medie 80 de clieni pe or, iar


solicitrile unui client sunt satisfcute n medie ntr-un minut i jumtate.
Analiznd statistic datele culese la acest sistem de ateptare, s-a constatat c
sosirile clienilor sunt poissoniene, iar serviciile, exponeniale. S se determine:
a) intervalul mediu dintre dou sosiri consecutive
b) numrul mediu de persoane servite pe or
c) probabilitatea ca ntr-un interval de 3 minute s nu soseac nici un client
d) numrul vnztorilor necesari pentru a se evita algomerarea.

R. Se consider unitatea de timp minutul i atunci, numrul mediu de sosiri ntr-un


80
minut este =
= 1.333 .
60
1 60
=
= 0.75 minute.
a) Intervalul mediu dintre dou sosiri consecutive este de
80
60
= 40 .
b) Numrul mediu de persoane ce pot fi servite pe or este de =
1 .5
(3 0.75) 0
(t ) n
, rezult c P0 (3) = e 30.75
= 0.1054 .
c) Deoarece Pn (t ) = e t
0!
n!
d) Dac sistemul de ateptare are o singur staie de servire (un singur vnztor),
80
= =
= 2 > 1 i se creeaz aglomeraie. Considernd sistemul cu mai multe
40

staii

~ =

<1

i alegem c ca fiind cel mai mic ntreg pentru care este

8. Elemente de teoria ateptrii

189

satisfcut aceast inegalitate. Obinem c=2. Ca s nu se creeze aglomeraie, este


nevoie de 2 vnztori.
2. La ieirea dintr-o staie de betoane, sosesc pentru a li se spla roile n medie 15
autobasculante pe or. Dac repartiia sosirii autobasculantelor pentru a li se spla
roile este poissonian, s se determine timpul maxim n care, cu probabilitatea de
cel puin 0.95, cel mult 3 autobasculante ateapt s li se spele roile.

R. n urmtoarea secven MathCAD, care rezolv aceast problem, se consider


unitatea de timp minutul.
:=

Media sosirilor

15
60

Probabilitatea ca innumrul
intervalul
de timp
t sa soseasca
zilelor
lucrtoare
din an n autobasculante
P( n , t) := e

f(0)=1

t ( t )

f( t) :=

n!

P( n , t)

n =0

f(1)=0.99987

f(4)=0.98101

f(2)=0.99825

f(5)=0.96173

f(3)=0.99271

f(6)=0.934

n maximum 5 minute, cu probabilitatea 0.95, cel mult 3 autobasculante vor


atepta s li se spele roile.
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 .

Nr bene sosite/ora (xi)


Frecvena (Ni)

Minute/ben (tj)

Frecvena(Nj)

5
0

Minute/ben (tj)
Frecvena(Nj)

6
5
4

1
0
3
4
7
0
2

7
5
0

0
8

Tabelul 8.8
1
2
23
24

1
5
2
9

Tabelul 8.9
2
2
0
5
1
1
9
4
8
0
0

8
5
2

9
0
0

3
21

3
0
1
3
9
5
0

4
14

5
6

6
3

7
1

3
5

4
0

4
5

5
0

5
5

6
0

10
0
0

10
5
0

11
0
2

a) S se testeze c sosirile la staia de betoane sunt repartizate Poisson.

11
5
0

12
0
1

Modele i algoritmi de optimizare

190

b) S se testeze c timpii de servire sunt repartizai exponenial.


c) S se determine numrul mediu de bene din sistemul de ateptare care este dat de
staia de betoane.
d) S se determine numrul mediu de bene care ateapt s fie ncrcate.
e) S se determine timpul mediu de ateptare la rnd pentru a fi ncrcate benele.
f) S se determine timpul mediu petrecut de o ben n sistemul de ateptare dat de
staia de betoane.
g) S se determine numrul punctelor de ncrcare necesare pentru a evita
aglomerarea n perioada de vrf.
Rezolvare
a) Vom folosi testul 2 pentru a verifica ipoteza H0 : Sosirile sunt repartizate
8

Po() , cu =

x N
i =1
8

N
i =1

unde

N i = N i e

xi

= 2.45 . Determinm statistica

c2 =
i =1

( N i N i ) 2
,
Ni

, ()i = 1,8 . Obinem c = 0.52657 . Din tabela repartiiei


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

timpilor de servire

t=

(t
i =1

2.5) N i
24

Ni
i =1

intervalului de referin). Atunci

= 19.5

minute (am considerat mijlocul

= 0.05128 . Calculm funcia de repartiie


i

teoretic

Fi = 1 e

0.05128 t i

, funcia de repartiie empiric

Fei =

N
j =1

semnificaie

i determinm

24

N
j =1

() i = 1,24

d = max Fi Fei = 0.0283 . Pentru pragul de


1i 24

= 0.01 , n tabela funciei

Kolmogorov) gsim u=1.63 . Deoarece d <

K (u ) (testul asimptotic al lui


u
23

= 0.33272 se admite ipoteza H0

cu pragul de semnificaie = 0.01 ;


c) Numrul benelor servite ntr-o or 60 0.5128 = 3.0768 . Suntem n cazul
modelului Po(2.45)/Exp(3.07)/1:(,FIFO) i atunci M[N(t)]=3.9;

8. Elemente de teoria ateptrii

191

d) M[L1]=3.11 ; e) M[WT]=3.7 min ; f) M[W]=23.24 min ;


2.45
g) = =
< 1 i astfel este suficient un singur punct de ncrcare.
3.07

4. La o carier, care are un singur utilaj de ncrcare a autobasculantelor, sosesc n


medie 15 autobasculante pe or. n medie, utilajul poate s ncarce 20
autobasculante pe or. Din analiza statistic a datelor culese la fa locului s-a
constatat c sosirile sunt poissoniene, iar servirile, exponeniale. S se determine:
a) probabilitatea ca o autobasculant s nu atepte pentru a fi ncrcat
b) numrul mediu de autobasculante din sistemul de ateptare creat la carier
c) numrul mediu de autobasculante din irul de ateptare
d) timpul mediu de ateptare al unei autobasculante n sistemul de ateptare
e) timpul mediu de ateptare al unei autobasculante n irul de ateptare pentru a fi
ncrcat
f) probabilitatea ca n sistemul de ateptare s existe mai mult de 2 autobasculante
g) probabilitatea ca autobasculanta s atepte la rnd s fie ncrcat mai mult de
dou minute.

R. Se consider unitatea de timp minutul. Modelul corespunztor acestei probleme


3
este Po()/Exp()/1:(,FIFO) cu =10, =20 i = .
4
a) p0=0.25, b) M[N(t)]=3, c) M[L1]=2.25, d) M[WT]=0.15 min, e) M[W]=0.2 min,
f) P(N(t)>2)=1-p0-p1-p2=1-0.25-0.1875-0.1406=0.4219,
g) P(M[WT]>2)=0.0067 (extrem de rar se ntmpl ca autobasculanta s atepte
mai mult de 2 minute la rnd pentru a fi ncrcat!).
5. La o cantin a unei firme de construcii, cu autoservire, cu un singur ghieu,
sosesc salariaii la mas dup legea Poisson cu rata 0.75 salariat/minut. Un
funcionar ia comanda, stabilete preul i ncaseaz contravaloarea comenzii. Pn
i se pregtete meniul, funcionarul ia comanda urmtorului client aezat la rnd.
S-a constatat c timpul mediu de servire este de 1 min/salariat. Se apreciaz c n
medie cei ce ateapt s ia masa sunt pltii cu 10 u.m./or, iar funcionarul de la
ghiseu cu 7 u.m./or. Conducerea firmei este interesat s cunoasc:
a) probabilitatea ca nici un salariat s nu fie n cantin,
b) numrul mediu de salariai ateptnd s dea comanda,
c) timpul mediu petrecut la rnd de un salariat, ateptnd s dea comanda,
d) probabilitatea ca un salariat care vine n cantin s atepte s dea comanda i
e) costul orar al serviciului n cantin.

R. a) p0=0.25 , b) 2.25 , c) 3min , d) 0.75 , e) 37 u.m.


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

Modele i algoritmi de optimizare

192

minute pentru splarea unui autoturism i probabilitatea de ateptare pentru splare s


nu depeasc 0.2, ci muncitori pentru splarea autoturismelor ar trebui angajai?

R. Trebuie ca P(N[t]>c)<0.2 , adic 1 P ( N [t ] c) < 0.2 . Deoarece = 3 i


60

=
= 3 , atunci = = 1 i astfel sunt necesari cel puin 2 muncitori, c=2.
20

Este cazul modelului Po()/Exp()/c:( , FIFO). Lund pentru nceput c=2,


obinem P(N[t]>c)=1(p0+p1)=1(0.3333+0.3333+1.6667)=0.1666<0.2
Aadar, ar trebui angajai 2 muncitori.
7. La o secie de poliie de constatri accidente uoare sosesc n medie 15
automobile pe or, repartiia sosirilor fiind poissonian. ntr-o or, un poliist
constatator ntocmete actele pentru 6 automobile, iar timpul necesar acestei
operaii este repartizat exponenial. Secia are rezervate 5 locuri de parcare, iar dac
sunt ocupate aceste locuri, celelalte automobile parcheaz n alte locuri din
vecintate. S se determine:
a) numrul poliitilor necesari pentru a se evita supraaglomerarea
b) probabilitatea ca la secie s nu fie automobile pentru constatare
c) probabilitatea ca s fie automobile parcate n alte locuri dect cele ale seciei
d) numrul mediu de automobile care ateapt nceperea ntocmirii actelor
e) timpul mediu de ateptare la rnd pn cnd un poliist vine s nceap constatarea.

R. =15 automobile/or , =6 automobile/or, =


singur poliist ar fi supraaglomerare.

a) Alegem numrul c de poliiti astfel nct

ateptare devine Po()/Exp()/3:( , FIFO) ;


b) p0=0.0449;

15
= = 2.5 > 1 i dac ar fi un
6
< 1 , adic c=3 . Modelul de

c)

P (n > 5) = 1 P (n 5) = 1 p i =
i =0

= 1 (0.0449 + 0.1124 + 0.1404 + 0.1170 + 0.0975 + 0.0813) = 0.4065


d) M[L3]=3.5112 automobile ; e) M[WT]=14 minute .
8. Un depozit nchiriaz de la o firm de transporturi 4 camioane pentru a se
aproviziona sau pentru a transporta marfa la clieni. Depozitul are 2 rampe de
ncrcare/descrcare care ncarc/descarc un camion n medie n 20 minute. La
depozit sosesc n medie 4 camioane pe or. S-a constatat c intervalele dintre sosiri
i timpii de ncrcare au repartiia exponenial. S se determine:
a) probabilitatea ca ambele rampe s fie libere
b) numrul mediu de camioane de la depozit
c) probabilitatea ca un camion care vine la depozit s atepte intrarea la ramp

8. Elemente de teoria ateptrii

193

d) tiind c pentru o or chiria pentru un camion este de 20 u.m., care este suma
medie orar pltit pentru nefolosirea unui camion?

R. a) p0=0.0246 , b) M[N(t)]=2.6351 , c) P(M[N(t)]>2)=1-(p0+p1+p2)=0.5823 ,


d) S = M [WT ] 20 = 2.986 u.m.
9. La o dan din port, proprietatea unei companii petroliere, sosesc pentru
descrcare tancuri petroliere la intervale de timp repartizate exponenial, cu media
1.4 zile. Timpul mediu necesar descrcrii este de asemenea presupus repartizat
exponenial, cu media 0.8 zile. S se determine:
a) numrul mediu de tancuri petroliere care ateapt la rnd pentru descrcare
b) timpul mediu de ateptare n port nainte de a ncepe descrcarea
c) timpul mediu de ateptare n port din momentul sosirii i pn la plecarea
tancului petrolier
d) dac se nchiriaz o dan cu 1500 u.m./zi, la care se lucreaz la fel ca la prima i
dac tancurile petroliere se duc la dana liber pentru descrcare, n ordinea sosirii
lor, care este timpul mediu de ateptare pn la nceperea descrcrii
e) n condiiile de la d) care este numrul mediu de tancuri petroliere care ateapt
la rnd pentru descrcare
f) este avantajoas nchirierea celei de-a doua dane dac pentru fiecare zi pe care
tancul petrolier o petrece la rnd ateptnd pentru descrcare compania pierde 4000
u.m. ?

R. a) M[L1]=7.4098 ; b) M[WT]=10.3779 ; c) M[W]=11.6279 ;


d) M[WT]=0.3108 ; e) M[L2]=0.2219 ;
f) Pierderea pentru primul caz 4000 M [ L1 ] = 41511.6 , iar pentru cel de-al doilea
caz 4000 M [ L2 ] + 1500 = 2387.6 . Da.
10. O firm are 30 de instalaii de aer condiionat i frigidere i pentru ntreinerea
lor a angajat 2 specialiti. tiind c solicitrile pentru intervenii sosesc n medie
una pe zi i sunt repartizate Poisson, iar un specialist reuete s depaneze un aparat
(aer condiionat sau frigider) n medie n 20 minute, timpul necesar depanrii fiind
repartizat exponenial, s se determine:
a) numrul mediu de aparate care ateapt s fie depanate
b) numrul mediu de aparate care nu funcioneaz la un moment dat
c) probabilitatea ca s nu aib de lucru cei doi specialiti
d) timpul mediu de ateptare pn cnd un specialist ncepe depanarea unui aparat
e) timpul mediu de nefuncionare a unui aparat

R. a) M[L2]=0.5037 , b) M[N(t)]=1.6836 , c) p0=0.2524 , d) 8 min 32 s ,


e) 28 min 32 s .

9. ELEMENTE DE TEORIA STOCURILOR

9.1. Introducere n teoria stocurilor


9.1.1. Punerea problemei
n desfurarea unei activiti de producie intervin valori materiale care intr
n procesul de prelucrare (materii prime, fonduri bneti etc.) i valori care rezult
n urma acestui proces (produse finite).
Pentru ca procesul de producie ntr-o ntreprindere s se desfoare
nentrerupt, este necesar ca ntreprinderea s dispun de un stoc de materiale care
s poat alimenta n mod sistematic producia.
Exist astfel o cerere din stocul de materiale care vine din partea produciei.
ntreprinderea trebuie s investeasc o sum de bani n aceste materiale pentru a fi
capabil s satisfac necesitile procesului de producie.
Imobilizarea unor sume mari de bani n stocurile de materiale poate s conduc
la pierderi pentru ntreprindere.
Pe de alt parte, dac investiia n stocul de materiale va fi mic, adic, stocul
este subdimensionat, vor exista perioade cnd procesul de producie nceteaz i
ntreprinderea nregistreaz din nou pierderi datorate nefolosirii mainilor i
utilajelor n procesul de producie.
Apare astfel necesitatea dimensionrii optime a stocurilor de materii prime i
materiale astfel nct costurile care rezult din imobilizarea fondurilor sau
neutilizarea resurselor s fie minime.
Problemele care constau n dimensionarea optim a stocurilor de materii prime
i materiale se numesc probleme de stoc aprovizionare.
Produsele rezultate din procesul de producie sunt cerute n afara ntreprinderii
n diferite cantiti care variaz n timp.
Pentru ca ntreprinderea s poat asigura ntotdeauna satisfacerea cererii pe un
interval de timp dat, este necesar s se realizeze un stoc de produse rezultate n
urma procesului de producie. Dac ntreprinderea menine un stoc prea mare de
produse, poate aprea o pierdere, constnd din imobilizarea fondurilor bneti
investite n aceste produse, precum i n eventuala depreciere a produselor sau
recondiionarea lor periodic. Dac stocul nu ar putea s satisfac cererea
nregistrat de ntreprindere pe o perioad de timp, ar aprea din nou pierderi
datorate penalizrilor pltite, pentru nesatisfacerea comenzilor.

9. Elemente de teoria stocurilor

195

Se pune din nou problema dimensionrii optime a stocului astfel nct


pierderile datorate imobilizrii valorilor n stoc, precum i pierderile rezultate din
nesatisfacerea cererilor (penalizrile) s fie minime.
Problemele care constau n dimensionarea optim a stocului de produse rezultate
din procesul de producie se numesc probleme de stoc producie (Vduva et al, II,
1974).

9.1.2. Concepte utilizate n teoria stocurilor


Rezolvarea problemelor legate de determinarea stocurilor optime se face cu
ajutorul unor modele matematice ale teoriei stocurilor.
Stocul sau inventarul este o resurs de orice fel care are o valoare economic i
care se caracterizeaz prin intrri n resurs (reaprovizionarea stocului) i ieiri din
resurs.
Valoarea resursei I = I (t) este o funcie de timp. Scopul meninerii unui stoc
este acela de a satisface o cerere. n urma satisfacerii cererii stocul se micoreaz i,
de aici, nevoia reaprovizionrii lui.
Fie a(t), rata intrrilor n resurs la momentul t i b(t), rata ieirilor din
resurs, iar r(t), rata cererii la momentul t.
Cererea nu se confund ntotdeauna cu ieirea, deoarece exist situaii n care
materialele din stoc se depreciaz n timp i atunci la ieirea din stoc la cerere se
adaug i materialele depreciate n acel interval de timp. De cele mai multe ori ns
b(t) = r(t) .
Fie I(0) = I0, nivelul stocului la momentul t = 0, considerat momentul iniial
de la care se urmrete evoluia stocului.
Variaia stocului este dat de relaia
t

I (t ) = I 0 + (a (t ) b(t ) )dt .
0

Ieirile din stoc, b(t), i/sau cererea, r(t), pot fi deterministe sau aleatoare, iar
funcia a(t) trebuie aleas astfel nct s se realizeze un obiectiv sau o eficien dorit.
Eficiena se definete n funcie de costuri i acestea pot fi:
costul de depozitare, ce rezult din imobilizarea fondurilor bneti n materii
prime sau produse (cheltuieli de producie) i din cheltuielile pentru asigurarea
depozitrii i conservrii stocului,
costul de lansare, care rezult din cheltuielile pentru lansarea comenzilor de
reaprovizionare i introducerea lor n stoc sau lansarea fabricaiei,
costul lipsei de stoc, care se determin n funcie de toate cheltuielile i
pierderile cauzate de lipsa din stoc a materiilor prime sau produselor (inclusiv
penalizrile rezultate din nelivrarea la timp a produselor fabricate).
Eficiena unui stoc de-a lungul unui interval de timp este dat de o funcional
de forma

Modele i algoritmi de optimizare

196

C(t) = C[a(t), b(t), r(t)].


n general, r(t) este o funcie cunoscut i uneori se cunoate i funcia b(t).
n acest caz, trebuie determinat funcia a(t) astfel nct eficiena s fie optim.
Dac C este o variabil aleatoare, atunci se determin funciile necunoscute
din condiia ca valoarea medie a lui C s fie optim. Pentru determinarea
optimului lui C pot s intervin uneori i anumite restricii legate de elementele
necunoscute.
n modelele de teoria stocurilor intervin i variabile sau parametri legate n
special de mecanismul reaprovizionrii, adic de mecanismul intrrilor n stoc. Din
motive practice, se presupune c intrarea n stoc, reaprovizionarea, se face la
momente discrete de timp. Astfel, a(t) ia valori nenule numai la anumite momente
de timp t0 < t1 < t2 < ... .
Intervalele de timp Ti = ti+1 ti, i = 0, 1, 2, ..., se numesc cicluri de
reaprovizionare. ntr-un interval de timp [0,T*] pot avea loc mai multe
reaprovizionri.
I(t)
S
a(t1)

a(t2)

a(t3)

P
T1

T0
t0

t1

T2
t2

T*

T3
t3

Figura 9.1

n Figura 9.1, variaia stocului este reprezentat prin segmentele oblice, rata
cererii fiind presupus constant. Se observ c pe intervalul de timp (t, T *)
exist lips de stoc. Cantitile a(ti) reprezint valorile comenzilor care intr n
stoc la momentele ti, iar ntre aceste momente de timp au loc numai ieiri din stoc,
care micoreaz nivelul stocului.
n diferite modele ale teoriei stocurilor, ciclurile de reaprovizionare Ti, i = 0, 1,
2, ..., pot fi egale sau nu, pot fi constante sau aleatoare.
n ceea ce privete mrimea loturilor de reaprovizionare a(ti), acestea pot fi
egale sau nu, pot depinde sau nu de Ti.
n unele modele ale teoriei stocurilor din optimizarea funciei de eficien se
poate deduce ciclul optim de reaprovizionare, Topt.
Aadar, modelele de teoria stocurilor determin mrimea lotului de
reaprovizionare optim, aopt, i/sau ciclul de reaprovizionare optim, Topt.
Reaprovizionarea la anumite momente de timp impune utilizarea i a altor
variabile care au importan practic.

9. Elemente de teoria stocurilor

197

Astfel, lotul de reaprovizionare optim nu intr n stoc n momentul cnd a fost


lansat, ci dup un interval de timp L, numit timp de avans.
Comanda a(t1) a fost lansat la momentul t1 L, cnd stocul avea valoarea
P0 = I(t1 L).
Mrimea P0 se numete nivel de reaprovizionare i se observ c ea este
strns legat de timpul de avans L, n sensul c stocul P0 poate satisface cererea
pe perioada timpului de avans L.
n unele modele, L este presupus variabil aleatoare, iar P0 este constant sau
variabil. Mrimile L i P0 pot fi presupuse cunoscute sau pot fi variabile de
decizie, care trebuie alese de decident n vederea realizrii eficienei optime. De
obicei se cunoate una dintre aceste mrimi, cealalt urmnd a fi determinat cu
ajutorul modelului de stocare.
Intervalul de control este intervalul de timp dintre dou lansri de comenzi
succesive.
Momentul lansrii comenzii este momentul cnd nivelul stocului scade la
nivelul de reaprovizionare P0. Uneori, drept variabil de decizie se consider i
nivelul S pn la care trebuie ncrcat stocul prin introducerea comenzii (nivelul
maxim al stocului).
Totalitatea elementelor care definesc mecanismul de reaprovizionare formeaz
o politic de reaprovizionare. Aceasta const din:
loturile de reaprovizionare,
ciclurile de reaprovizionare,
nivelul de reaprovizionare,
timpul de avans.
Politica este optim dac elementele ce o caracterizeaz au fost determinate ca
elemente ce realizeaz eficiena optim pe un interval de timp dat.
Modelele de teoria stocurilor se pot clasifica dup mai multe criterii.
1. Dup modul cum evolueaz n timp
modele dinamice,
modele statice.
2. Dup natura aleatoare sau nu a elementelor sale
modele stochastice,
modele deterministe.
3. Dup valorile posibile ale unor variabile (de exemplu, cererea)
modele cu cerere continu,
modele cu cerere discret.
4. Dup numrul de stocuri de materiale distincte (se mai numesc i staii)
criteriu topologic
modele de stocare cu o singur staie stocarea unui singur tip de material,
produs etc.,
modele de stocare cu mai multe staii stocarea mai multor tipuri de
materiale, produse etc.

198

Modele i algoritmi de optimizare

Modelele de teoria stocurilor se aseamn cu cele de teoria cozilor. Sosirile din


cadrul teoriei ateptrii corespund intrrilor n stoc, iar ieirile corespund ieirilor
din stoc.
Deosebirea dintre cele dou tipuri de modele const n aceea c, n timp ce n
teoria ateptrii se presupune c venirile i serviciile sunt variabile aleatoare
cunoscute, n teoria stocurilor se cunoate numai cererea sau ieirea i se caut s
se determine intrarea optim.
Aplicarea modelelor de teoria ateptrii n teoria stocurilor este posibil numai
atunci cnd variabila I(t) este o variabil discret.
Pentru modelele ce vor fi prezentate n continuare se fac urmtoarele ipoteze.
1. Ipoteze referitoare la mecanismul de intrare/ieire
a) Cererea este continu, are rata r=const. i poate fi satisfcut dac nivelul
curent al stocului I(t) > 0.
b) Intrrile se realizeaz la intervale de timp T, constante sau nu. ntre
lansarea comenzii i sosirea ei (nu) exist un interval L de timp, timpul
de avans.
c) Momentul lansrii unei noi comenzi este semnalat de nivelul critic P0,
nivel de reaprovizionare.
d) n perioada T intr o cantitate a cu rata constant p ritmul de
reaprovizionare.
e) Parametrii P0, a, T sunt constani (modele statice).
f) Procesul de reaprovizionare continu nedefinit.
2. Ipoteze privind costurile, pe baza crora se poate defini eficiena
a) Costul s de lansare a comenzii este constant.
b) Preul ca de cumprare a unei uniti de materie prim sau produs poate
depinde de a.
c) Pentru I(t) > 0, exist un cost de stocare, h, pentru unitatea de produs /
unitatea de timp.
d) Pentru I(t) < 0, exist un cost al lipsei de stoc, d, pentru unitatea de
produs / unitatea de timp.
Problemele generale care se pun i trebuie rezolvate de modelele de stocuri
sunt:
determinarea valorilor optime pentru a i T astfel nct costul total unitar pe
unitatea de timp s fie optim,
determinarea nivelului de reaprovizionare P0 astfel nct costul total unitar pe
unitatea de timp s fie optim,
nivelul maxim al stocului,
nivelul mediu al stocului,
numrul optim de cereri de reaprovizionare a stocului ntr-un an.

9. Elemente de teoria stocurilor

199

9.2. Modelul clasic al lotului economic


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.
Construcia modelului (determinarea funciei obiectiv)
Figura 9.2 ilustreaz comportarea stocului pe durata unui ciclu de reaprovizionare.
a
Din ipotezele modelului rezult c funcia I(t) este periodic cu perioada T = .
r
a

Este suficient s rezolvm problema de optim pe intervalul 0, .


r

a
a
ntreaga cantitate a va intra n stoc pn la momentul
, i n intervalul 0, ,
p
p

a a
I(t) va crete, iar n intervalul , , I(t) descrete.
p r
I(t)

a
I(t) = (p r) t
I(t) = a rt

Astfel,

Figura 9.2

T=

a
r

Modele i algoritmi de optimizare

200

a
( p r )t , t 0,

p
I (t ) =

a rt , t a , a
p r

Costul total pe perioada T este CT = Ch,T + s, unde Ch,T este costul de stocare,
dat de
a
r

( p r) a2
1 1 ra 2 1
1 ha 2 ( p r )
2 2 =
2 + a 2
.
C h ,T = h I (t )dt = h
p
2 r
p
2 pr
r p
0
2
Costul total de stocare i de lansare pe unitatea de timp este
C h , T ha 2 ( p r )
r ha ( p r ) rs
=
+ s =
+ .
C (a) =
2 pr
2p
T
a

a
Figura 9.3 reprezint costul total, costul de pstrare i costul de lansare, abscisa
punctului de intersecie a ultimelor dou constituind mrimea optim a comenzii (Q
reprezint cantitatea necesar pe un ntreg an).
Costurile total,
dede
pastrare
totale,dedelansare,
lansare,
pstrare

CT ( Q , a , s , h)
CL( Q , a , s)
Ch( Q , a , h)

a
marimeacomenzii
comenzii
mrimea

Figura 9.3

Rezolvarea modelului

9. Elemente de teoria stocurilor

201

Costul minim l obinem din relaia C(a) = 0 (deoarece C(aopt)>0, rezult c


aopt determinat realizeaz minimul pentru C(a) ), de unde rezult cantitatea optim
de reaprovizionare:
h( p r ) rs
2 prs
2 = 0 a opt =
.
2p
h
(
p r)
a
Costul minim pe unitatea de timp este

C opt =

2 prs
h 2 ( p r)2

+
2
h( p r )
4p

2hrs ( p r )
r 2 s 2 h( p r )
=
.
2 prs
p

Astfel, avem costul unitar optim i intervalul de reaprovizionare optim date de


relaiile
2hrs ( p r )
2 ps
C opt =
, Topt =
.
p
rh( p r )
a opt

i numrul optim de
2
numarul zilelor lucratoare
numrul
lucrtoare din
din an
an
.
reaprovizionri pe an dat de
Topt
Se pot determina: nivelul mediu al stocului ca fiind

n practic se presupune c

r
0,
p

adic p >> r ( se consider p = ),


r
ceea ce revine la a accepta c
=0
p
(Figura 9.4).
Costul de stocare pe unitatea de timp
este
C h ,T ha
=
T
2
i reprezint costul de stocare al unui
a
stoc mediu
pe unitatea de timp.
2

I(t)

2T

Figura 9.4

Astfel, costul de stocare pe o perioad de timp t0 este


ha
C h ,t 0 =
t0 .
2
n acest caz
mrimea optim a comenzii de reaprovizionare a stocului este
2rs
I
=
a opt
h
costul minim pe unitatea de timp este

(9.1)

Modele i algoritmi de optimizare

202
I
C opt
= 2rsh

ciclul optim de reaprovizionare este


2s
I
Topt
=
hr

(9.2)

(9.3)

n anumite situaii cererea este exprimat prin valoarea n bani. Se disting dou
cazuri (Turban i Meredith, 1988):
1. Se d preul unitar al produsului. n acest caz se afl numrul de produse i astfel
se ajunge la situaia studiat mai nainte.
2. Preul unitar nu se cunoate i atunci trebuie s se dea costul de stocare ca un
procent din valoarea cererii de produse. n acest caz modelul d valoare optim a
unei cereri de reaprovizionare. Costul total anual
Q
a
CT = h + s
(9.4)
a
2
Q
unde Q este cantitatea (sau valoarea acesteia) necesar pe un an, iar
a
reprezint numrul de comenzi de reaprovizionare lansate ntr-un an. Atunci
2 sQ
(9.5)
.
a opt =
h
Exemplu. O ntreprindere de prefabricate primete o comand de 120 000 de dale
pe care trebuie s le livreze municipalitii, pentru pavarea trotuarelor. Cererea
firmei de construcii care realizeaz pavarea este constant. Costurile sunt:
h = 500 lei o dal /zi stocarea,
s = 30 000 000 lei lansarea unei comenzi pentru un lot de dale.
n ce ritm trebuie ntreprinderea de prefabricate s-i aprovizioneze stocul dac nu i
se admite nici o ntrziere n livrare ? Se consider anul cu 300 zile lucrtoare.
Rezolvare
Se consider modelul de stocare al lotului economic i, utiliznd formulele
(9.1)(9.3), se obin rezultatele de mai jos:
120000
r=
= 400 rata ieirilor zilnice,
300
2rs
400 30000000
I
a opt
=
= 2
= 6928.20 ,
h
500
I
Topt
=

2s
2 30000000
= 17.32 zile ,
=
hr
500 400

I
C opt
= 2rsh = 2 400 30000000 500 = 3464101.61 lei/zi.

Costul total anual este 1 039 230 484.51 lei, iar costul de lansare a comenzilor
de reaprovizionare pe un an este 5196108.

9. Elemente de teoria stocurilor

203

Se poate rezolva problema din exemplul precedent cu Management Scientist.


Dup lansarea pachetului de programe, se selecteaz modulul Inventory, apoi, din
meniul File se alege New i din fereastra care apare se selecteaz modelul
Economic Order Quantity, ca n Figura 9.5.

Figura 9.5

Se introduc datele de intrare ca n Figura 9.6, avnd n vedere c trebuie


introdus costul anual de stocare (500 lei/zi 300 zile). Se presupune c sunt
necesare 3 zile pentru a se satisface o cerere de reaprovizionare (L=3). Atunci
trebuie s se determine i nivelul optim de reaprovizionare.

Figura 9.6

Rezultatele obinute sunt prezentate n Tabelul 9.1.


Tabelul 9.1
INVENTORY MODEL

Modele i algoritmi de optimizare

204
***************
ECONOMIC ORDER QUANTITY
***********************

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
WORKING DAYS PER YEAR = 300 DAYS
LEAD TIME FOR A NEW ORDER = 3 DAYS
INVENTORY POLICY
****************
OPTIMAL ORDER QUANTITY
ANNUAL INVENTORY HOLDING COST
ANNUAL ORDERING COST
TOTAL ANNUAL COST
MAXIMUM INVENTORY LEVEL
AVERAGE INVENTORY LEVEL
REORDER POINT
NUMBER OF ORDERS PER YEAR
CYCLE TIME (DAYS)

6,928.20
$519,615,242.27
$519,615,242.27
$1,039,230,484.54
6,928.20
3,464.10
1,200.00
17.32
17.32

Rotunjirea rezultatelor
Rezultatul obinut n urma rezolvrii unui model de stocare poate s nu fie un
numr ntreg, ca n exemplul de mai sus (mrimea optim a comenzii de
reaprovizionare, numrul de zile ale ciclului optim de reaprovizionare). Atunci, se
evalueaz funcia obiectiv pentru [aopt] i pentru [aopt]+1 i se reine valoarea
care d cea mai bun valoare pentru costul total ( [x]=partea ntreag a lui x).

9.3. Modelul clasic al lipsei de stoc


Aa cum arat i numele, n acest model se accept lipsa de stoc, adic se
pstreaz cererile care nu au putut fi satisfcute dup epuizarea stocului, iar dup
reaprovizionare, acestea vor fi satisfcute (Vduva et al, II, 1974). Exist i cazuri
n care cererea nesatisfcut, pe perioada epuizrii stocului, se pierde. n continuare
se consider numai primul caz.
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, pe unitatea de stoc / unitatea de timp, este constant,
d costul (deficitul) datorat lipsei unei uniti de stoc pe unitatea de timp este
constant,

9. Elemente de teoria stocurilor

205

costul de lansare a comenzii a este s.

Parametrii necunoscui:
cantitatea comandat a,
S nivelul maxim la care trebuie adus stocul la intrarea n stoc a comenzii,
mrimea lotului de aprovizionare T.
Ipoteze:
se admite lipsa de stoc i cererea pe perioada lipsei de stoc se pstreaz i se
reporteaz pe perioada ciclului de reaprovizionare urmtor,
r

=0.
p
Formularea problemei
I(t)
S se determine cantitatea
a care trebuie introdus n
stoc dup timpul T (care
trebuie
de
asemenea
determinat), presupunnd
c dup ce se epuizeaz
stocul S n intervalul de S
timp (0, t ), poate s mai
a
treac un interval de timp
t
(t, T ) pn cnd intr
t
T
cantitatea a n stoc.
Figura
9.7
arat
0
t
comportarea
acestui
model de stocare. Dup ce
Figura 9.7
se recupereaz lipsa de
stoc, stocul a ajuns la nivelul S. Parametrii necunoscui ai modelului trebuie
determinai astfel nct costul total, provenit din costul de depozitare, costul de
lansare i costul lipsei de stoc, s fie minim.
Construcia modelului
Considernd modelul anterior, se stabilete funcia de minimizat astfel :
- costul de depozitare a cantitii S pe intervalul de timp (0, t ) este
S
C h ,t ' = h t '
2
- costul lipsei de stoc este
aS
C d ,t " = d
t" .
2
Astfel, costul unitar total este

Modele i algoritmi de optimizare

206

1
S
aS
t" .
s + h t '+ d
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):
hS d (rT S )
C
=0
=
0
rT
S
rT

C
hS 2 d 2r (rT S )T (rT S ) 2
1
+

2 s +

=0
=0
2r 2r
T2
T
T
C=

II
Topt
=

2s
rh

h+d
II
=
, S opt
d

2rs
h

d
d
II
= 2rsh
, C opt
.
h+d
h+d

Deoarece
2C 2C 2C 2
2C

>
0
>0
i

2 S 2 T ST
S (S optII ,ToptII )

II
II

(S opt ,Topt )
valorile obinute realizeaz minimul costului.
d
< 1 i relaiile de mai sus devin
Se noteaz cu =
h+d
2s
2rs
II
II
II
Topt
=
, S opt
=
, C opt
= 2rsh
rh
h
de unde rezult c
II
I
C opt
= C opt
.
Aceast relaie arat c este mai convenabil politica de aprovizionare care
admite lipsa de stoc !
Mrimea optim a lotului de reaprovizionare este
2rs h + d
II
= Tr =
a opt
h
d
iar lipsa de stoc este
h
II
II
II
a opt
S opt
= a opt
.
h+d
Ultima relaie arat c numrul articolelor din perioada lipsei de stoc crete pentru
articolele cu cost unitar de stocare mare. Aceasta explic de ce articolele care au un
pre de stocare unitar mai mare sunt tratate mai economic ntr-un model cu lips de
stoc. Pe de alt parte, cnd costul unitar al lipsei de stoc crete, numrul articolelor
din perioada lipsei de stoc scade. Astfel, modelul arat intuitiv c articolele cu cost
mare pentru lips de stoc vor fi foarte puine pe perioada lipsei de stoc.

9. Elemente de teoria stocurilor

207

Deoarece
II
S opt
II
Topt

= r =

II
S opt
II
r Topt

II
S opt

se numete i indice de lips de stoc. n (1)% din cazuri, pe perioada T,


stocul se epuizeaz.
Probabilitatea epuizrii stocului este

h
1
h.
d=
d +h

Aceast relaie arat c, dac se accept drept cunoscut probabilitatea epuizrii stocului, atunci costul lipsei de stoc este proporional cu cel al stocrii. Acest
fapt nu concord totdeauna cu realitatea, i de aici rezult un inconvenient al
modelului, deoarece costurile h i d sunt practic independente.
Comparnd cele dou modele se obine
I
Topt
1
II
I
II
I
II
, Topt
S opt
= S opt
= a opt
=
,
, a opt

=1 =

adic
II
I
II
I
II
I
S opt
< S opt
, a opt
> a opt
, Topt
> Topt
.

Exemplu. n exemplul din 9.2. se consider c lipsa dalelor din stoc va fi


penalizat cu 3500 lei/dal/zi (d = 3500) . S se determine elementele optime ale
modelului de stocare n acest caz.
Rezolvare

3500
= 0.875 ;
500 + 3500

II
opt

II
= a 6481 ; Topt
=

II
opt

= 0.93541 ;
I
Topt

II
a opt
=

10141.85
7407 ;
0.93541

II
I
= Copt
3 240 370.34 .
18.51 ; Copt

Modelul se poate rezolva i utiliznd Management Scientist. Dup lansarea


pachetului de programe se alege modulul Inventory. Din meniul File se selecteaz
New i din fereastra artat n Figura 9.5 se alege modelul Economic Order
Quantity with Planned Shortages.
n fereastra care apare dup apsarea butonului OK, se introduc datele de
intrare ca n Figura 9.8, unde costul de stocare i cel de lips de stoc sunt
considerate pe ntregul an (d numrul de zile lucrtoare din an , respectiv, h
numrul de zile lucrtoare din an). Se consider c sunt necesare 3 zile pentru
satisfacerea comenzii de reaprovizionare din momentul lansrii acesteia.

Modele i algoritmi de optimizare

208

Figura 9.8

Apsnd butonul Solve se obine soluia modelului sub forma dat n Tabelul 9.2.
Tabelul 9.2
INVENTORY MODEL
***************
ECONOMIC ORDER QUANTITY WITH PLANNED SHORTAGES
**********************************************
YOU HAVE INPUT THE FOLLOWING DATA:
**********************************
ANNUAL DEMAND = 120000 UNITS PER YEAR
ORDERING COST = $30000000 PER ORDER
INVENTORY HOLDING COST = $150000 PER UNIT PER YEAR
BACKORDER COST = $1050000 PER UNIT PER YEAR
WORKING DAYS PER YEAR = 300 DAYS
LEAD TIME FOR A NEW ORDER = 3 DAYS
INVENTORY POLICY
****************
OPTIMAL ORDER QUANTITY
ANNUAL INVENTORY HOLDING COST
ANNUAL ORDERING COST
ANNUAL BACKORDER COST
TOTAL ANNUAL COST
MAXIMUM INVENTORY LEVEL
AVERAGE INVENTORY LEVEL
MAXIMUM BACKORDERS
REORDER POINT
NUMBER OF ORDERS PER YEAR
CYCLE TIME (DAYS)

7,406.56
$425,298,608.33
$486,055,552.38
$60,756,944.05
$972,111,104.76
6,480.74
2,835.32
925.82
274.18
16.20
18.52

n continuare sunt prezentate alte dou variante ale modelului clasic.

9. Elemente de teoria stocurilor

209

9.3.1. Modelul de stocare considernd influena preului


de cumprare
Acest model se refer la problemele de stoc-aprovizionare i presupune c
preurile de achiziie a materiilor prime i materialelor depind de mrimea
comenzii, adic ca = ca(a) (Vduva et al, II, 1974). n modelul lotului economic se
consider
a
r
C (a) = h + s + r c a (a) ,
a
2
unde primul termen este costul stocrii unei cantiti medii pe unitatea de timp, al
doilea este costul lansrii, iar cel de-al treilea termen este costul de cumprare a
materiilor prime consumate din stoc. Se poate considera costul de stocare ca fiind o
fraciune din costul de cumprare, h = kca(a), i atunci:
1
r
C (a) = kc a (a ) + s + r c a ( a) .
2
a
De obicei, n practic, ca(a) este o funcie n scar descresctoare.
k
r
Ci (a ) = ca , i a + s + rca , i , pentru li a ui , (li = ui 1 ) , i = 1,2,..., m .
2
a
Se determin minimul local al acestei funcii, obinut pentru:
l i , dac a i l i
2rs

*
a i = a i , dac l i < a i < u i , iar a i =
kc a , i
u , dac u a .
i
i
i
Atunci, costul minim local este
C (c a , i )
, dac a i* = l i

C i opt = 2rsk + c a , i r , dac a i* = a i


C (u )
, dac a i* = u i .
i

Costul minim total va fi


C opt = min C i opt , iar Topt =
1 i m

a i*
.
r

9.3.2. Modelul de stocare considernd influena costului


de producie
Acest model se refer la problemele de stocproducie i consider costul de
stocare h ca funcie de costul de producie unitar cp (Vduva et al, II, 1974)
h = k cp,

Modele i algoritmi de optimizare

210

iar cp depinde de cantitatea produs a. Notnd cu cf costul unitar de fabricaie,


atunci costul de fabricaie pentru ntreaga cantitate este
s
s

s + cfa i astfel c p = + c f , deci h = k + c f , 0 < k < 1 .


a
a

Se presupune c nu se admite lipsa de stoc. Atunci costul total de lansare i


stocare pe unitatea de timp este
sr
s
a
C (a) = + k + c f .
a
a
2
Din condiia de minim, C(a) = 0, rezult
2rs
2s
ks
, C = 2kc f rs +
, T=
.
a=
kc f r
2
kc f
Comentariu. Mrimea lotului de reaprovizionare a depinde de costul unitar total
de producie cf; dac cf este mare, mrimea lotului se micoreaz, adic nu este
indicat s se menin stocuri mari din produse scumpe.
Se mai pot considera: modele cu costul stocrii variabil, descris de o funcie n
salturi, modele cu cererea depinznd de preurile de vnzare etc. (Vduva et al, II,
1974) .

9.4. Extensii ale modelului clasic al lotului economic

Vnztorii ofer deseori reduceri de pre pentru cumprarea unui lot mai mare
de produse. Exist preuri pentru intervale ale numrului de produse cumprate.
Aceast practic este larg rspndit pentru c ofer avantaje att cumprtorului
ct i vnztorului, avantaje prezentate n Tabelul 9.3 .
Tabelul 9.3

Cumprtor

Vnztor

Avantaje
-preuri reduse
-mai puine hrtii de completat
-transport mai ieftin
-mai puine momente cu lips de stoc
-produse uniforme
-securitate sporit (ar putea s creasc
preurile)
-transport mai ieftin
-mai puine hrtii de completat
-producie mai mare

Se disting dou cazuri :

Dezavantaje
-stocuri mari
-cheltuieli sporite de stocare
-riscul deteriorrii
-nvechirea produselor

-pre unitar sczut


-putere sczut de
tranzacionare cu clienii

9. Elemente de teoria stocurilor

211

i) Reduceri oferite pentru un singur nivel de pre


ii) Reduceri oferite pentru mai multe niveluri de preuri.
Reduceri oferite pentru un singur nivel de pre

Vom prezenta metoda pe un exemplu.


Pentru iluminatul stradal al unui ora sunt necesare 100 de becuri pe lun
pentru nlocuirirea celor care se defecteaz. Fiecare bec cost 8 u.m. Costul de
lansare a unei comenzi de reaprovizionare este de 27 u.m. indiferent de mrimea
comenzii, iar cel de pstrare al unui bec pe un an de zile este de 25% din valoare.
Onorarea comenzii se face n momentul lansrii acesteia i nu se accept lipsa de
stoc. Furnizorul ofer municipalitii o reducere de 2%, dac se cumpr 600 de
becuri deodat. S se satabileasc dac municipalitatea accept sau nu oferta
furnizorului.
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
a opt =

2Qs
=
h

2 27 1200
= 180 ,
2

costul total anual de stocare


CT =

a opt
Q
27 1200 180 2
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 !

Modele i algoritmi de optimizare

212

Reduceri oferite pentru mai multe niveluri de preuri

nainte de a da metoda general vom considera un exemplu.


Un spital trebuie s achiziioneze antibiotice de la un furnizor care face oferta
din Tabelul 9.4 .
Tabelul 9.4
Cantitate
1 4999
5000 9999
>10000

Pre
2.75
2.60
2.50

Cererea spitalului este de 50 000 uniti pe an. Costul lansrii unei comenzi de
reaprovizionare este de 50 u.m. i costul de pstrare este 20% din costul
medicamentului pe an. Nu se admite lips de stoc i se presupune c onorarea
comenzii se face imediat ce a fost lansat. S se stabileasc politica optim a
spitalului de achiziionare a medicamentelor.
Vom utiliza modelul lotului economic fr lips de stoc i vom rezolva
problema n urmtorii pai.
Pas 1. Cu modelul lotului economic fr lips de stoc, stabilim pentru cel mai mic
pre mrimea optim a comenzii de reaprovizionare. Costul unitar anual de pstrare
este h1=2.50.02=0.5 u.m.
2Qs
2 50 50000
(1)
a opt
=
=
= 10000000 = 3163
h
0 .5
(1)
(1)
cu intervalul corespunztor preului 2.50. Dac a opt
ar fi
Pas 2. Se compar a opt
n interval, soluia este fezabil i optim n acelai timp i problema este
rezolvat. Altfel, soluia nu este fezabil i se caut mrimea optim a comenzii de
reaprovizionare pentru preul 2.60 u.m.
Pas 3. n acest caz costul de pstrare este h2=2.60.02=0.52 u.m. Atunci,
2Qs
2 50 50000
(2)
=
=
= 9615385 = 3101 .
a opt
h
0.52
( 2 `)
cu intervalul corespunztor preului 2.60.
Se compar a opt
( 2)
Pas 4. Dac a opt
ar fi n interval, soluia este fezabil i optim n acelai timp i

problema este rezolvat. Altfel, soluia nu este fezabil i se caut mrimea optim
a comenzii de reaprovizionare pentru preul 2.75 u.m.
Pas 5. Costul de pstrare este h3=2.750.02=0.55 u.m. Atunci,
( 3)
=
a opt

2Qs
=
h

2 50 50000
= 9090910 = 3015 .
0.55

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.
Bazat pe acest exemplu putem scrie urmtorul algoritm general.
Algoritm general
Pas 1. {Iniializri}
Intrare: necesarul anual Q, costul de lansare s, costul unitar de stocare h,
intervalele pentru care se acord reduceri q = (qk ,1 , qk , 2 )1k n , n numrul

acestor intervale, preurile unitare reduse

( pu )1k n .

Pas 2. k:=n;
Determin cantitatea optim aopt comandat cu modelul lotului economic pentru pun .
Dac aopt qk,1 , determin Cn+1, costul total optim cu modelul lotului
economic pentru aopt; sw:=0; an+1:=aopt ;
Pas 3. Dac sw0, atunci
Ct timp (k0 i sw4) execut
Calculeaz ak:=aopt ;
Dac a k [q k ,1 , q k , 2 ] atunci sw:=1; an+1:=qk,1 ; k:=k-1;

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

Pas 4. Reine an+1 i Cn+1. Stop!

1 k n +1

Modele i algoritmi de optimizare

214

n continuare este redat algoritmul de mai sus, programat n MathCAD i


aplicat exemplului precedent.

Determinarea lotului optim de reaprovizionare si a costului


optim pentru preturi unitare cu discount-uri
Intervalele pentru care se acorda discount

Preturile unitare de achizitionare

1 4999

q := 5000 9999
10000 106

2.75
pu := 2.60

2.50

Necesarul anual Q := 50000


Costul de lansare a comenzii de reaprovizionare

s := 50

Costul unitar anual de stocare este o fractiune


din costul de achizitionare

:= 0.2

Lotul optim de reaprovizionare

aopt ( h ) := 2 Q

s
h

Determinarea minimului elementelor unui sir si a pozitiei sale

Mn ( x) :=

m x

i1
for k 1 .. last ( x)
if m > x

m x

ik

9. Elemente de teoria stocurilor


Discount ( Q , s , pu , ) :=

215
k last ( pu )
nk
sw 1
CT n+ 1

Q
qk, 1

s + pu k

qk, 1

+ Q pu k

a n+ 1 aopt ( pu k )
sw 0 if a n+ 1 q k , 1
if sw 0
while ( k 1) ( sw 4)
h k pu k
a k aopt ( h k)
if ( q k , 1 a k q k , 2)
ak q k , 1
kk1
if q k , 1 a k q k , 2
CT n+ 1

Q
ak

s + h k

ak
2

+ Q pu k

a n+ 1 a k
sw 4
if sw = 4
for k 1 .. n
CT k

Q
qk, 1

s + h k

qk, 1
2

Ao Mn ( CT )
CT n+ 1 Ao1
i Ao2
a n+ 1 ai

a n+ 1

CT n+ 1
Apelul subprogramului MathCAD se face cu secvena
Discount ( Q , s , pu , ) =

+ Q pu k

Modele i algoritmi de optimizare

216

9.5. Model pentru stocarea mai multor tipuri de produse

Se presupune c stocul este format din p tipuri de produse. Att parametrii


cunoscui ct i cei necunoscui se refer la fiecare tip de produse aflate n stoc.
Parametrii cunoscui:
rata cererii ri,
costurile de stocare unitare hi,
costurile de lansare si, i = 1, p .
Parametrii necunoscui:
mrimea optim, ai, a lotului de reaprovizionare din produsul i ,
ciclul optim de reaprovizionare, Ti, a stocului cu produsul i , i = 1, p .
Formularea problemei:
S se determine elementele necunoscute astfel nct costul de stocare i lansare
pe unitatea de timp pentru produsul i
ha
sr
C i (ai ) = i i + i i
ai
2
s fie minim, i deci i costul total pe unitatea de timp
p

C (a1 ,..., a p ) = C i (a i )
i =1

s fie minim. Se obin:


a i opt =

2ri s i
2s i
, Ti opt =
.
hi
ri hi

Comentariu. Determinarea loturilor economice pentru mai multe produse revine la


determinarea lotului economic pentru fiecare produs n parte.

9.6. Modele stochastice de stocare

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
Reducerea nivelului de
reaprovizionare
Reducerea lotului de
reaprovizionare
Creterea nivelului de
reaprovizionare
Creterea lotului de
reaprovizionare

Rezultat
Scade costul de stocare al stocului de siguran i crete
costul lipsei de stoc
a
Scade costul de stocare al stocului mediu ( ) i cresc costul
2
lipsei de stoc i costul total de lansare comenzi
Crete costul de stocare al stocului de siguran i scade
costul lipsei de stoc
Crete costul de stocare al stocului mediu i descrete costul
total de lansare comenzi

9.6.1. Determinarea nivelului optim de reaprovizionare


Pentru determinarea nivelului optim de reaprovizionare P0, aplicm analiza
marginal (Bonini et al, 1997), adic se ncepe analiza costului total cu o valoare
iniial pentru P0 , fie P0 = R .
S vedem ce se ntmpl cu costul total dac se adaug o unitate de produs de
stoc la P0. Costul total pe perioada analizat (de exemplu, un an) va crete cu
aproximativ h , deoarece IS crete cu o unitate.
Dac nu se adaug o unitate la P0 , creterea costului va rezulta din faptul c o
cerere cu o unitate mai mare pe perioada timpului de avans va mri probabilitatea
lipsei de stoc, astfel (Figura 9.9):
Creterea costului prin neadugarea unei uniti la P0 este egal cu
Q
(Probabilitatea unei uniti de stoc cerute n plus) d
a
Q
a fiind numrul de cicluri de reaprovizionare pe perioada analizat.

Se consider urmtoarea ipotez:
Cererea r, pe unitatea de timp, este o variabil aleatoare cu repartiia
cunoscut, F(x).

Modele i algoritmi de optimizare

218
Creterea costurilor

(1 F ( P0 )) d

Q
a

Costul neadugrii
unei uniti

O
P0 opt

P0

Figura 9.9

Atunci, cererea R, pe perioada timpului de avans L, este de asemenea o


variabil aleatoare cu funcia de repartiie cunoscut, F(x)=P(R<x).
Probabilitatea unei uniti de stoc cerute n plus este 1 F ( P0 ) . Figura 9.9
reprezint costurile adugrii i neadugrii unei uniti de stoc la P0 . Din
egalitatea celor dou costuri avem :
ah
ah
Q
.
h = (1 F ( P0 ) ) d 1 F ( P0 ) =
F ( P0 ) = 1
d Q
d Q
a
P0 poate fi acum obinut din tabela funciei de repartiie F.
Se poate scrie urmtorul algoritm pentru determinarea nivelului optim de
reaprovizionare.
Algoritm pentru determinarea nivelului optim de reaprovizionare P0
Pas 1. Date de intrare : h, d, Q, s R , R ;

2s Q
ah
; =1
;
h
d Q
Pas 3. Din tabela funciei de repartiie a cererii pe perioada de avans R, se ia Z.
Popt = R + Z R . Stop !
Pas 2. Calculeaz a opt =

Observaii

9. Elemente de teoria stocurilor

219

1. Stocul de siguran este I S = P0 R = Z R .


2. Pentru un (0, 1) , un risc asumat de a avea lips de stoc pe perioada
timpului de avans, se poate determina nivelul critic al stocului astfel :
= P(R P0)=1F(P0) F(P0)=1 ,
relaie ce permite determinarea nivelului critic al stocului P0.
Determinarea costului total
Costul total=Costul de lansare+Costul de stocare+Costul lipsei de stoc

Q
Q a

CT (a, P0 ) = s + + P0 R h + d (R P0 ) f ( R )dR .
(9.6)
a 2

P0
a
Q
reprezint costul de lansare al tuturor comenzilor de reaprovizionare pe
a
perioada de timp analizat,
Q
numrul comenzilor de reaprovizionare pe perioada de timp analizat,
a

Q
d (R P0 ) f ( R)dR costul lipsei de stoc pe perioada de timp analizat,
P0
a

unde: s

(R P ) f ( R)dR
0

numrul mediu de uniti de stoc lips din stoc pe un ciclu

P0

de reaprovizionare,
f(x) densitatea de repartiie a cererii.
Se determin P0 opt i aopt din condiia impus costului total dat de (9.6), s
fie minim:
Q
Q

CT
h a d P0 f ( P0 ) + a d [F ( P0 ) + P0 f ( P0 ) 1] = 0
P = 0

(9.7)
0
h
Q
2 s + d (R P0 ) f ( R )dR + = 0
CT = 0
2
a
a
P0

Prima relaie (9.7) se poate rescrie astfel:


Q
Q
h d + d F ( P0 ) = 0 .
a
a
Atunci
ah
P0 opt .
F ( P0 ) = 1
(9.8)
d Q

a opt

2Q s + d (R P0 opt ) f ( R )dR

P0

=
.
h

(9.9)

Modele i algoritmi de optimizare

220

Se observ c P0 apare n exprimarea lui aopt (9.9) i a apare n exprimarea


lui P0 opt (9.8). Pentru rezolvarea acestei probleme se poate folosi un procedeu
iterativ astfel :
- cu un a estimat, de exemplu dat de modelul lotului economic, se calculeaz P0,
din tabela funciei de repartiie F din relaia (9.8),
- apoi, cu acest P0 se calculeaz a cu relaia (9.9) i aa mai departe, pn cnd
cele dou valori gsite satisfac relaiile (9.7).
Dac R a N ( R, R ) , atunci

(R P ) f ( R)dR =
0

N ( Z ) , unde N(Z) este

P0

numrul mediu de comenzi de reaprovizionare a stocului pe perioada timpului de


avans. Astfel, relaia (9.7) devine
2Q(s + d R N ( Z ) )
(9.9)
a opt =
h
i costul total optim este

Q a opt
+
+ P0 opt R h .
C opt = CT (a opt , P0 opt ) = [s + d R N ( Z )]
(9.6)
a opt 2

Particularizri
1) Dac timpul de avans, L, este constant i cunoscut i cererea, r, este o
variabil aleatoare repartizat N (m,R), atunci R=Lr este o variabil aleatoare

repartizat N L m, L R . Notnd cu z , cuantila inferioar a


variabilei aleatoare N (0,1) , adic

1
2

u2
2

du ,

rezult c n acest caz nivelul de reaprovizionare este


P0 = L m + z L R .
2) Presupunnd timpul de avans, L, constant i cererea, r, variabil aleatoare
repartizat Exp(), atunci cererea pe perioada timpului de avans este
R = r1 + ... + rL a Erlang ( , L)
i P0 se determin din relaia
P0

f ( x)dx = 1 = P( R < P )
0

( riscul asumat fiind mic) folosind tabela repartiiei Erlang(,L).

9. Elemente de teoria stocurilor

221

3) Dac L este o variabil aleatoare cu media M[L]=l, iar r este o variabil


aleatoare repartizat N (m,R), independent de L, atunci R=Lr este o variabil

aleatoare normal cu M[R] = lm i D2[R] = lR2, adic N l m, l R . n


acest caz nivelul de reaprovizionare este
P0 = l m + z l R

Exemplu. La un service auto sunt necesare 1800 bidoane de ulei de motor pe an.
Costul de lansare a unei comenzi de reaprovizionare cu ulei este de s=10 u.m.,
costul de pstrare h=0.6 u.m./an, iar timpul de avans este de 20 zile. Cererea
medie pe timpul de avans este R = 30 bidoane, R a N ( R, R ) . Costul lipsei
din stoc a unui bidon de ulei este d=5 u.m. S se determine cantitatea optim de
reaprovizionare i punctul optim de reaprovizionare.
Rezolvare. Consider mrimea optim a lotului de reaprovizionare
2 sQ
2 10 1800
=
= 245 bidoane de ulei.
a opt =
h
0 .6
Indicele de lips de stoc asumat este
ha
0.6 245
( P0 ) = 1
=1
= 0.9837 =
d Q
5 1800
fiind funcia de repartiie a unei variabile aleatoare normale.
Din tabelele repartiiei normale lum cuantila corespunztoare, Z = 2.14 .
Se obine punctul optim de reaprovizionare P0=100+2.1430=164 . Astfel, stocul
de siguran este I S = Popt R = 164 100 = 64 bidoane de ulei.
n anumite ipoteze asupra repartiiei ciclului de reaprovizionare, T a G ( ) ,
numrului de cereri din intervalul de timp (0, t), n(t ) a Po( t ) ,
mrimii unei cereri X, X a F ( x) ,
se poate determina repartiia cererii totale pe intervalul de timp ( 0, t ).

9.6.2. Modele de stocare pe o singur perioad


cu cerere aleatoare
Dac rata cererii nu este determinist, modelul de stocare cu cerere aleatoare
presupune cunoscut repartiia acesteia. Modelele de stocare pe o singur perioad
se refer la situaia n care o singur comand este lansat pentru un produs. La
sfritul perioadei produsul a fost fie epuizat, fie exist un surplus de articole
nevndute care vor fi vndute la o valoare de lichidare de stoc. Modelul pentru o
singur perioad este aplicabil n situaii ce implic articole sezoniere sau perisabile
care nu pot fi pstrate n stoc i vndute n perioada urmtoare. De exemplu: hainele

Modele i algoritmi de optimizare

222

de sezon (costume de baie, hainele de iarn), ziare etc. Cum comanda se face o
singur dat pe perioada considerat, singura decizie de stoc care trebuie luat este: ce
cantitate din produsul respectiv s se comande la nceputul perioadei ? O astfel de
problem este cunoscut sub numele de problema vnztorului de ziare.

Exemplu de cerere cu repartiie discret


Un magazin cumpr roii o dat pe sptmn de la productor cu 6 u. m. / kg i
le vinde cu 11 u. m. / kg. La sfritul sptmnii preul de lichidare de stoc este de
2 u. m./kg. Din experiena avut (reflectat n Tabelul 9.6) magazinul vinde ntre
160 i 200 kg de roii pe sptmn. Deoarece cererea este relativ stabil, se
presupune c este continu cu acea rat. S se determine mrimea comenzii de
reaprovizionare pentru magazin, astfel ca profitul magazinului s fie maxim
(Turban i Meredith, 1988) .
Tabelul 9.6
Numr kilograme
vndute (x)

Numr de
sptmni

Probabilitatea
cererii

160
170
180
190
200
Total

4
10
12
15
9
50

0.08
0.2
0.24
0.3
0.18

Funcia empiric
de
repartiie (P(xa))
0.08
0.28
0.52
0.82
1

Rezolvare
n rezolvarea acestui tip de probleme este indicat folosirea metodei analizei
incrementale. Analiza incremental compar ctigul sau pierderea realizat prin
comandarea unui articol suplimentar pentru care nu ar fi existat cerere, cu ctigul
sau pierderea realizat prin necomandarea unui articol pentru care ar fi existat cerere.
Fie: a cererea de aprovizionare cu roii pentru o sptmn,
c+ costul unitar al supraestimrii cererii, adic pierderea datorat
comandrii unui kilogram suplimentar care apoi se constat c nu se poate vinde,
c- costul unitar al subestimrii cererii, adic pierderea datorat necomandrii
unui kilogram suplimentar care apoi se constat c s-ar fi putut vinde,
D+ pierderea total datorat supraestimrii comenzii de aprovizionare,
D+(a)=c+P(aaopt)
D- pierderea total datorat subestimrii comenzii de aprovizionare,
D-(a)=c- P(a>aopt )= c- (1-P(aaopt)) .
Din egalitatea D+(a)= D-(a) se determin cantitatea optim comandat astfel:
c_
.
P (a a opt ) =
(9.10)
c+ + c

9. Elemente de teoria stocurilor

223

11 6
= 0.5555 . Din Tabelul 9.6
c + + c (6 2) + (11 6)
se constat c P (a a opt ) = 0.5555 i se obine aopt=190 kg .
Pentru aceast problem

c_

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.
Pentru aceast problem c+=4030=10, iar c-=6040=20. Considernd
cererea egal cu media, analiza incremental pentru dou cazuri este artat de
Tabelul 9.7.
Tabelul 9.7
Cazul

Mrimea
comenzii

501

II

500

Pierderea produs dac


Cererea este supraestimat i o
unitate nu poate fi vndut
Cererea este subestimat i o
unitate ar fi putut s fie vndut

Pierderea
posibil

Probabilitatea

c+=10

P(a500)

c-=20

P(a>500)

P(a500)= P(a>500)=0.5, D+(a)=c+0.5=5 u.m. , D-(a)=c-0.5=10 u.m.


Este de preferat s se comande 501 perechi de pantofi. Se continu investigarea
pn cnd
D+(a)= D-(a) .
innd seama de relaia (9.4), se obine pentru acest exemplu
a opt 350 2
P (a a opt ) =
= ,
650 350 3

224

Modele i algoritmi de optimizare

iar aopt=550.
n situaiile practice apare problema cunoaterii repartiiei cererii pentru
produsul respectiv i cea a costurilor c+ i c- .
c_
are rol esenial n
n modelele cu o singur perioad, cantitatea
c+ + c
determinarea cantitii optime de reaprovizionare. Cnd c+<c- se recomand s fie
mai mic lotul de reaprovizionare. Cnd c-<c+ se recomand s fie mai mare lotul
de reaprovizionare. Cnd cele dou costuri sunt egale, probabilitatea de a avea
surplus este egal cu probabilitatea de a avea lips de stoc i atunci se recomand
ca lotul de reaprovizionare s fie egal cu media.

9.6.3. Modele stochastice de stocare bazate


pe modele de ateptare
Aplicarea modelelor de ateptare la rezolvarea problemelor legate de gestiunea
stocurilor se poate prezenta astfel (Vduva et al, II, 1974):
1. cererile ce urmeaz a fi satisfcute sunt considerate clieni n modelul de
ateptare. Pentru ca s fie satisfcute cererile ar trebui ca n stoc s se afle o
cantitate practic infinit, ceea ce n realitate nu este posibil;
2. ncrcarea stocului corespunde venirilor n sistemul de ateptare i satisfacerea
cererilor corespunde ieirilor din sistemul de ateptare.
n continuare vor fi prezentate dou modele de stocare avnd la baz modele de
ateptare.

9.6.4. Modelul P0()/Exp()/1:(, FIFO)


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 ) .
1
Din condiia ca C() s fie minim ( C ( ) = 0 , C ( ) > 0) , se obine
C ( ) = c u M [ N (t )] + d p 0 = c u

cu
d
i astfel se pot determina elementele necunoscute ale modelului.
Practic se cunoate cererea a Exp( ) i astfel numrul de uniti cerute pe
unitatea de timp este o variabil aleatoare Poisson de parametru , fiind
intensitatea cererii, presupus cunoscut.
Se cere determinarea parametrului opt = intensitatea optim de ncrcare a

opt = 1

stocului.
Dar

c u
.

Se poate determina probabilitatea ca nivelul stocului s depeasc o anume


valoare ,

= = 1

n =

j =0

P(N (t ) ) = p n = (1 ) j =
deoarece

p n = n (1 ) .

Problema se poate formula i astfel:


S se determine nivelul stocului care s fie atins i/sau depit cu
probabilitatea (0, 1) suficient de mic.
ln
.
Atunci, din relaia = obinem =
ln
Ipoteza c intrrile n stoc pot avea loc n mod indefinit se poate nlocui cu alta,
rezultat din faptul c stocul are o limit a capacitii, m. Atunci

Modele i algoritmi de optimizare

226

n p 0
pn =
0
i deoarece

p
n =1

pentru 1 n m
pentru n > m

= 1 se obine
p0 =

1
.
1 m +1

Astfel
m

n =1

n =1

M [N (t )] = n p n = n n p 0 =

(1 ) m
n n 1 .
1 m +1 n =1

ns
m

n =
n =1

de unde rezult c
m

n n1 =

1 m
1

[1 (m + 1) ] (1 ) +
m

m +1

(1 )2

n =1

Obinem

(1 ) [1 (m + 1) m ] (1 ) + m +1

=
1 m +1
(1 )2
[1 (m + 1) m + m m+1 ] .
=
(1 ) (1 m+1 )
N = M [N (t )] =

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)
2 1 m m +1 + (m 1) m
R = M [N (t ) 1] =
.
(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


elementele modelului.

.
i acum se pot calcula

9.6.5. Modelul cu mai multe staii paralele


i cu timp de avans L aleatoriu

9. Elemente de teoria stocurilor

227

Ipotezele modelului
n momentul cnd se scoate o unitate din stoc se comand alta, astfel nct
numrul de uniti din stoc plus cele comandate s fie S=constant,
fiecare cerere este egal cu unitatea (r=1); numrul de cereri pe unitatea de
timp este o variabil aleatoare Poisson, de parametru ,
timpul de avans L este o variabil aleatoare exponenial negativ de
parametru .

A. Cererea nesatisfcut nu se pstreaz


Analogia cu modelul de ateptare Exp( )/Exp( )/c : (, N d )
Se consider
cele c locuri din stoc drept staiile de serviciu ale sistemului de ateptare,
Nd semnific faptul c exist clieni nedisciplinai care, dac nu pot fi servii,
prsesc sistemul,
N(t) numrul de uniti din sistem la momentul t este un proces finit,
Pn(t)=P(N(t)=n) probabilitatea de a avea n uniti n stoc. Cnd sunt n
uniti n stoc nseamn c sunt lansate cn comenzi.
Determinarea coeficienilor n , n, n{1, 2, . . . , c}. Deoarece o comand
sosete dup timpul aleatoriu L, care are repartiia Exp(), rezult c intensitatea
intrrii n stoc a unuia din cele c articole este c, adic, 0= c.
Dac exist n uniti n stoc, atunci poate s soseasc numai una din cele cn
comenzi, deci
n= (cn) , 1 n c , c = 0.
Pentru a determina intensitatea ieirii inem seama de faptul c ieirea depinde
de cerere, deci n = , 1 n c.
Se pot scrie ecuaiile de stare ale modelului astfel
P0(t ) = c P0 (t ) + P1 (t )
P(t ) = [ + (c n) ]P (t ) + P (t ) + (c n + 1) P (t ) , 1 n c 1
n
n
n +1
n 1

Pc(t ) = Pc (t ) + Pc 1 (t )
Pn (t ) = 0 , n > c.
Rezolvarea pentru cazul staionar conduce la soluia
1
,
p0 =
c
1
c!
n
n = 0 (c n)!
iar
1
c!
p0 =
c n p c , 1 n c,
pn =
n
(c n ) !
(c n)!
unde

Modele i algoritmi de optimizare

228

Se poate determina stocul mediu


cn n
.
n
n =0
c

M[N(t)] = p c

Numrul mediu de cereri pe unitatea de timp este , deci numrul mediu de


1

, va fi
, iar numrul
cereri pe intervalul mediu de timp de avans, egal cu

mediu de cereri satisfcute pe intervalul de timp de avans este


M[R] = cM[N(t)].
Stabilirea funciei obiectiv
Fie cv preul de vnzare al unei uniti de stoc i
h costul de stocare pe intervalul de timp de avans mediu
Profitul pe perioada T este
B(c) = M[R]cvhM[N(t)] = c v c (h + v)

c E c ( ) E c 1 ( )
,
Ec ( )

unde
x n x
e .
n = 0 n!
c fiind o variabil ntreag, condiia B(c) = 0, revine la
B(c+1)B(c) = 0,
adic
E ( )
E ( )
h
= c
c 1
.
h + cv
E c +1 ( ) E c ( )
c

E c ( x) =

Dndu-se h, c, cv, ultima relaie permite determinarea stocului optim pentru


obinerea unui profit maxim.

B. Cererea nesatisfcut se pstreaz


Pot exista cel mult m cereri nesatisfcute i atunci numrul de uniti din stoc
satisface relaia m n c.
Analogia cu modelul de ateptare Exp( )/Exp( )/c : (m, FIFO)

9. Elemente de teoria stocurilor

229

Formularea problemei. S se determine nivelul optim al stocului c n funcie de


, L, costul unitar de stocare h i costul unitar al lipsei de stoc d. n acest caz
N(t) reprezint numrul de cereri nregistrate,
0 N(t) c+m.
n stoc vor exista j = cN(t) uniti.
Determinarea coeficienilor n, n, 0 n c+m
Dac exist n cereri nregistrate, intensitatea cu care apare o nou cerere este
n = , 0 n c+m, n = 0 pentru n > c+m.
Intensitatea satisfacerii cererilor n se determin astfel.
Dac exist n cereri la un moment dat t, 1 n c, atunci ele se pot satisface
cu unitile ce vor sosi n stoc cu intensitatea , deci
n = n , 1 n c.
Dac c n c+m, nu pot sosi n stoc dect c uniti ce au fost comandate,
care intr n stoc cu intensitatea , deci numai c din cele n cereri vor fi
satisfcute, atunci
n = c , c n c+m.
Deoarece numrul maxim de cereri ce se pot realiza este c+m, rezult c
n = 0, pentru n > c+m.
Astfel, ecuaiile de stare ale modelului sunt
P0 (t ) = P0 (t ) + P1 (t )
P (t ) = ( + n ) P (t ) + P (t ) + (n + 1) P (t ) 1 n c
n
n
n 1
n +1
.

P
(
t
)
(
S
)
P
(
t
)
P
(
t
)
S
P
(
t
)
cnc+m
=

n
n 1
n +1
n
Pc+ m (t ) = c Pc + c (t ) + Pc + m 1 (t ).
Soluia pentru cazul staionar n funcie de =

este

n
1 n c
p0

n
!
n

p n = nc p0 c n c + m
c!c

0
n>c+m
c+m

Din

p
n =0

(9.11)

= 1 deducem
p0 =

1
m +1

1
n
c
c 1

c
+

!
!
n
c
n =0
1
c
Se pot determina acum:
numrul mediu de uniti existente n stoc

(9.12)

Modele i algoritmi de optimizare

230

M[N+(t)] =

(c n ) p
n=0

numrul mediu de uniti lips din stoc


M[N(t)] =

c+m

(c n ) p

n = c +1

Astfel, funcia de cost care trebuie optimizat este


C(c)= M[N+(t)]h M[N(t)]d.
n

Notm Q( n) = p j funcia de repartiie a variabilei aleatoare discrete n.


j =0

Atunci
c +1

c +1+ m

n =0

n =c + 2

C (c) C (c + 1) C (c) = h (c + 1 n) p n d
S

S+L

n =0

n = S +1

h ( S n) p n + d

( S n) p

c+m

n =0

n = c +1

= h (c + 1 n c + n ) p n d

(c + 1 n ) p
n

(c + 1 n c + n ) p

d (c + 1 c m 1) p c +1+ m = h Q(c) d (1 Q(c) ) .


d
Din condiia de optim, C(c)=0, se obine Q(c) =
.
d +h
Pentru a gsi o soluie ntreag a acestei ecuaii se poate folosi urmtorul algoritm.
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!
Se observ c algoritmul determin acea valoare ntreag pentru care
d
Q (c 1) <
Q (c) .
d +h

9.7. Probleme propuse

9. Elemente de teoria stocurilor

231

1. Din experiena anilor trecui, universitatea are nevoie pentru consumurile curente
de 1200 de cutii de hrtie A4 pentru un an. Costul de lansare a unei comenzi de
reaprovizionare cu hrtie este de 150 000 lei, iar pentru depozitarea unei cutii se
consider c se cheltuiesc 35 000 lei pe un an. S se stabileasc un plan optim de
aprovizionare cu hrtie A4, care s conduc universitatea la cheltuieli minime. Se
consider c anul are 300 zile lucrtoare i c nu se admite lipsa hrtiei n depozit.
R. Pentru un an avem: aopt=101.42 cutii 101 cutii, costul total anual este de
3 549 647.87, numrul de comenzi lansate ntr-un an este 12, Topt 25 zile.
2. Firma care se ocup cu semaforizarea interseciilor din Capital are nevoie de
10 000 de becuri pe an. Costul de lansare a unei comenzi de reaprovizionare este de
1 500 000 lei, costul anual de pstrare a unui bec este de 3500 lei. Presupunnd c
anul are 300 zile lucrtoare i c nu se admite lipsa becurilor din depozit, s se
determine:
a) cantitatea optim de reaprovizionare
b) costul total anual al stocrii
c) cte comenzi de reaprovizionare vor fi lansate anual.

R. a) Qopt=2927.7 2928 , b) CT =10 246 950.77 10 246 951 , c) N=3.42 3 .


3. RomTelecom cumpr anual consumabile n valoare de 500 000 euro.
Costul de lansare a unei comenzi de reaprovizionare este de 80 euro, iar costul
anual de pstrare este de 20% din valoarea consumabilelor pstrate. S se
determine:
a) care este valoarea optim a unei comenzi de reaprovizionare?
b) de cte ori ntr-un an se lanseaz cereri de reaprovizionare?
c) care este costul total anual de lansare a comenzilor?
d) care este costul total anual de stocare?

R. a) Valoarea optim a comenzii de reaprovizionare este 20 000 euro; b) se


lanseaz ntr-un an 25 cereri de reaprovizionare; c) costul total anual de lansare a
comenzilor de reaprovizionare este de 2000 euro; d) costul total anual de stocare
este de 4000 euro.
4. O firm de reparaii aparatur electronic are o component pentru care poate
aplica modelul cu lips de stoc. Cererea nual este de 2000 uniti, costul anual
unitar de pstrare este h=10 u.m. , costul de lansare a unei comenzi de
reaprovizionare este de s=25 u.m. , costul anual unitar al lipsei de stoc este
d=30 u.m.. Se presupune c anul are 250 zile lucrtoare. S se determine:
a) mrimea optim a comenzii de reaprovizionare
b) numrul maxim de uniti lips din stoc pe perioada lipsei de stoc.
c) nivelul maxim al stocului
d) ciclul optim de reaprovizionare

Modele i algoritmi de optimizare

232

e) costul total anual

R. a) mrimea optim a comenzii de reaprovizionare a opt = 115


b) numrul maxim de uniti lips din stoc pe perioada lipsei de stoc, S=29.
c) nivelul maxim al stocului Imax= a opt S =86
d) ciclul optim de reaprovizionare, Topt=11.4 zile lucrtoare
e) Ch=322, Cs=435, Cd=110 i atunci, costul total anual, CT=867 .

5. O companie trebuie s asigure un produs chimic (soluie) la fiecare 6 luni unui


client. Cum procesul de producie dureaz dou luni, producia trebuie nceput
naintea formulrii cererii de ctre client. Ci litri trebuie produi tiind c : preul
de vnzare este de 20 u. m. / litru, costul de producie este de 15 u. m. / litru, lipsa
de stoc este rezolvat prin cumprarea soluiei de la alt firm cu 19 u. m. / litru,
surplusul se vinde cu 5 u. m. / litru. Din experiena care exist cererea se consider
ca fiind N (1000,100). Care este planul de producie optim ?
4
= 0.29 . Din tabela
Rezolvare. c-=19-15=4, c+=15-5=10, P (a a opt ) =
4 + 10
repartiiei normale standard
1

x2
2

e dx = 0.29
2
se ia z=0.55. Atunci aopt=-0.55=1000-0.55100=0.945 litri. n acest caz, costul
de subestimare este mai mic dect cel de supraestimare i atunci compania i
asum un risc mai mare de apariie a lipsei de stoc. La valoarea aopt obinut,
probabilitatea de a avea surplus este 0.29, iar cea de a avea lips de stoc este 0.71 .
P(a z ) =

6. Folosind algoritmul general din 9.4. s se rezolve urmtoarea problem :


Un magazin de nclminte brbteasc vinde n medie la fiecare 3 luni 500
perechi de pantofi negri. Fcnd aprovizionarea n loturi de cte 500 perechi de
pantofi, magazinul obine de la productor cel mai mic pre petru o pereche, 28
u.m. Costul de depozitare este 20% din preul de achiziie. tiind c o lansare de
comand de aprovizionare este de 30 u.m. i c productorul ofer i alte reduceri
de preuri n funcie de mrimea comenzii, conform cu Tabelul 9.8, s se
stabileasc mrimea optim a comenzii de reaprovizionare a magazinului i s se
precizeze dac este mai avantajoas vechea politic de reaprovizionare.
Tabelul 9.8
Cantitate
Pre unitar
0 99
36
100 199
32
200-299
30
28
300

ANEX
Noiuni generale de probabiliti i statistic
matematic
A.1. Cmp de evenimente. Axioma lui Kolmogorov

A.1.1. Evenimente. Probabiliti


Fie o mulime nevid dat, K o familie de submulimi ale lui ,
K P (). Elementele lui K le numim subevenimente.
Familia K se numete cmp complet aditiv dac sunt verificate urmtoarele axiome:
A1. () X K , cX K (cX= \ X)
A2. U X K dac X K , () I , I familie de indici cel mult
I

numrabil ( I submulime a lui N ).

A.1.2. Probabilitate
Funcia de mulime P : K R se numete probabilitate dac:
P1. () X K , P(X) 0;
P2. ()I familie de indici cel mult numrabil, este ndeplinit relaia:
X K , () I , X X = , , I ,

P U X = P ( X ) ;
I
I
P3. P() = 1.

A.1.3. Cmp de probabilitate complet aditiv


Cmp de probabilitate complet aditiv este tripletul { , K , P} , iar se
numete evenimentul sigur i evenimentul imposibil.
P() = 1, P( ) = 0 .

Modele i algoritmi de optimizare

234

A.1.4. Probabilitate condiionat


Fie { , K , P} un cmp de probabilitate complet aditiv, A, B K cu
P(B)>0. Numim probabilitatea evenimentului A condiionat de B i notm
P( A B)
PB(A) sau P(AB) raportul
.
P( B)

A.1.5. Evenimente independente


Fie { , K , P} un cmp de probabilitate complet aditiv i A, B K .
Spunem c evenimentele A i B sunt independente dac se verific relaia:
P ( A B) = P ( A) P ( B ) .
Dac evenimentele A i B sunt independente, atunci au loc relaiile:
P (cA B) = P (cA) P ( B )
P ( A cB) = P( A) P (cB)
P (cA cB) = P(cA) P (cB).

Observaie. Dac A i B sunt independente, atunci PB(A) = P(A).

A.2. Variabile aleatoare

Fie

{ , K

, P}

un cmp de probabilitate complet aditiv sau cmp de

probabilitate i X o funcie, X : R. Aplicaia X este variabil aleatoare


dac { X ( ) > c} K , pentru () c R. .

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

Teorema 2. Dac X i Y sunt dou variabile aleatoare, atunci:


a) X Y
b) X + Y
c) X Y
X
, pentru Y 0
d)
Y
sunt variabile aleatoare.

A.2.1. Funcia de repartiie


Fie x R i X o variabil aleatoare. Notm F(x) = P( X ()) < x ) (de fapt,
F ( x) = P ( { R X ( ) < x} ) . Funcia F se numete funcia de repartiie a
variabilei aleatoare X .

Exemplu. Dac X este o variabil aleatoare discret (ia numai un numr finit sau o
infinitate numrabil de valori), atunci funcia de repartiie este suma
probabilitilor valorilor lui X () situate la stnga lui x.
x 0
p 0.2

1
0.3

2
0.1

3
0.3

0
0.2

0.2 + 0.3
F ( x) =
0.2 + 0.3 + 0.1
0.2 + 0.3 + 0.1 + 0.3

4
0.1

x0
0 < x 1
1< x 2
2< x3
3< x 4
4< x

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:

Modele i algoritmi de optimizare

236

a) F( x1 ) F( x2 ) , x1 < x2 ;
b) lim F ( x) = F (+) = 1 ; lim F ( x) = F () = 0 ;
x

c) F( x 0) = F( x ) (continuitate la stnga).

A.2.2. Densitate de repartiie

Dac exist o funcie nenegativ

f( y )

astfel nct

F ( x) =

f ( y )dy ,

()xR , atunci numim funcia f densitate de repartiie sau de probabilitate.


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.2.3. Variabile aleatoare independente


n sensul SteinhausKa
Fie

( X )I

, I familie oarecare de indici. Spunem c aceasta este o familie

independent n sensul SteinhausKa dac, () J I , J finit, avem:

P I X 1 (, a ) = P X 1 (, a ) .
xJ
J

A.2.4. Valoare medie. Dispersie. Momente


Fie { , K , P} un cmp de probabilitate i X o variabil aleatoare. Se
numete media variabilei aleatoare

valoarea

M [ X ] = X ( )dP .

Dac

variabila aleatoare este discret, atunci M [ X ] = a i P ( X = a i ) . Dac variabila


iI

aleatoare are densitatea de probabilitate f, atunci M [ X [= xf ( x)dx .

Proprieti
Fie X , Y variabile aleatoare, iar a, b constante reale. Atunci:

Anex

237

a) M[ a X + b] = aM[X] + b ;
b) M[ X + Y] = M[X] + M[Y] ;
c) M[ X Y] = M[ X] M[ Y] numai dac X i Y sunt independente.
Dispersia unei variabile aleatoare X este
2
2
D 2 [ X ] = M ( X M [X ]) = M X 2 (M [ X ]) .

] [ ]

Proprieti
Fie X , Y variabile aleatoare independente, iar a, b constante reale. Atunci:
a) D[ a X + b] = a2D[X] ;
b) D[ X + Y] = D[X] + D[Y] .

Abaterea medie ptratic se definete ca fiind [ X ] = D 2 [ X ] .


Momentul de ordinul r (r>1) al unei variabile aleatoare este

M r [ X ] = X r ( )dP ( ) = x r f ( x)dx

dac X are densitatea de probabilitate f.

A.3. Cteva repartiii clasice

A.3.1. Repartiia uniform


O variabil aleatoare X urmeaz repartiia uniform pe intervalul [a,b] dac
are densitatea de probabilitate
1

dac x [a,b]
f ( x) = b a
0
altfel .
Funcia sa de repartiie este
x
xa
F ( x) = (t )dt =
, ()x [ a, b] .
ba
a
Pentru variabila aleatoare uniform X media i dispersia sunt
1
1
M [ X ] = ( a + b) , D 2 [ X ] = (b a ) 2 .
2
12

A.3.2. Repartiii Markov

Modele i algoritmi de optimizare

238

n modelele de ateptare intervin repartiia Poisson pentru modelarea sosirilor


n sistem i repartiia exponenial pentru modelarea timpilor de servire. Cele dou
repartiii, prima discret i cea de-a doua continu, sunt repartiii complementare.
Ambele sunt numite repartiii Markov.
Repartiia Poisson
O variabil aleatoare discret X urmrete repartiia Poisson de parametru
dac
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 .
Dac Y a Exp( ) , atunci M [Y ] =

1
, iar D 2 [Y ] = .

Repartiia Erlang(,n)
Fie Y1, Y2,..., Yn , n variabile aleatoare repartizate Exp() i independente, iar
n

X = Yi . Variabila aleatoare X este repartizat Erlang(,n) i are densitatea de


i =1

repartiie
f ( x) =

n
( n)

x n1e x ,

iar este funcia gama (funcia lui Euler de spea a II-a)

(a) = x a 1 e x dx .
0

Dac X a Erlang ( ) atunci M [ X ] =

, iar D 2 [ X ] =

n3

A.3.3. Repartiia normal unidimensional a lui Gauss

Anex

239

O variabil aleatoare X urmeaz repartiia normal dac are densitatea de


probabilitate
f ( x) =

( x )2

()x ( , ) ,

2 2

iar funcia de repartiie


F ( x) =

(t )2
2 2

dt ,

2
unde M[X]=, iar D2[X]=2. Cnd =0 i =1 , variabila X se numete variabil
aleatoare normal standard (sau redus), iar pentru aceasta F(x) este tabelat.

A.3.4. Repartiia Beta


O variabil aleatoare X urmeaz repartiia Beta de parametri a i b dac are
densitatea de repartiie
1
x a 1 (1 x) b 1 ()x (0,1)

f ( x ) = B ( a, b)
,
0
altfel
unde B(a,b) este funcia beta (funcia lui Euler de spea I)
(a )(b)
B ( a , b) =
, a>0 , b>0.
( a + b)
Pentru o variabil aleatoare de acest tip,
2
a
1
a
.
M[X ] =
i D 2 [ X ] =

a+b
a + b a + b +1

A.4. Procese aleatoare


Fie { , K , P} un cmp de probabilitate i
E = { X : R X variabil aleatoare} ,
T o mulime oarecare de numere reale. Se numete proces aleatoriu sau proces
stochastic cu mulimea de parametri T o aplicaie : T E .
Considerm c variabilele din E descriu starea unui anumit sistem, iar
mulimea T reprezint timpul. Astfel, un proces aleatoriu reflect evoluia n timp a
unui real sistem dat. Dac mulimea T este finit, procesul aleatoriu este echivalent
cu un vector aleatoriu. Frecvent T=R, T=[0, ) sau T=[0, 1] i se spune c
procesul aleatoriu este cu timp continuu. Dac T=Z sau T=N termenul de
proces aleator se nlocuiete cu cel de lan.

Modele i algoritmi de optimizare

240

Dup cum o variabil aleatoare se consider determinat din punct de vedere


probabilistic atunci cnd i se cunoate funcia de repartiie, pentru definirea unui
proces aleatoriu ar trebui cunoscute toate funciile de repartiie finit dimensionale,
adic ()n N , ()t1 , t 2 , ... , t n T i ()x1 , x 2 , ... , x n R trebuie s fie
cunoscute probabilitile
Ft1 , t2 ,...,tn ( x1 , x 2 , ..., x n ) = P t1 ( ) < x1 , t2 ( ) < x 2 ,..., tn ( ) < x n .

({

})

n cele ce urmeaz vom presupune c intervalul de interes este n timp.


Un proces aleatoriu se numete proces Markov dac pentru ()n N ,
()t1 , t 2 , ... , t n T , t1 < t 2 < ... < t n i ()a R are loc relaia
P ({ (t ) B (t1 ), (t 2 ),..., (t n )}) = P ({ (t ) B (t n )}) ,

unde B = ( , a ), sau ( , a ], sau (a, ), sau [a, ). .


Din aceast definiie rezult c procesul dinamic descris de procesul Markov
are o evoluie n viitor care depinde numai de starea precedent i nu de ceea ce s-a
petrecut cu el la momentele t1 , t 2 , ..., t n 1 .
Un proces aleatoriu : [0, ) E se numete cu creteri independente dac
pentru ()n N i ()t1 , t 2 , ... , t n 0 cu proprietatea c t1 < t 2 < ... < t n ,
variabilele aleatoare (t1 ) , (t 2 ) (t1 ) , (t 3 ) (t 2 ) ,..., (t n ) (t n 1 ) sunt
independente.
Un proces aleatoriu cu creteri independente i satisfcnd condiia (0)=0 se
numete proces Poisson dac ia numai valori ntregi nenegative i dac pe orice
interval [s,t] , creterile sale urmeaz repartiii Poisson de parametru (t s ) , adic

[ (t s ]
P( (t ) ( s ) = n ) = e (t s )

, ()n N * .

n!
Se poate considera c (t ) nregistreaz numrul de apariii ale unui
eveniment n intervalul de timp [0, t] .
Media i dispersia procesului Poisson sunt M [ (t )] = t , D 2 [ (t )] = t .
ntr-un proces Poisson probabilitatea apariiei unui eveniment este constant i
apariia unui eveniment este independent de ceea ce s-a ntmplat imediat naintea
observaiei curente. Pot fi considerate procese Poisson: numrul erorilor de tipar
dintr-o carte, ziar etc., numrul pieselor defecte dintr-un lot de fabricaie, vnzrile
unui produs etc. Repartiia probabilitii Poisson aplicat procesului Poisson d
probabilitatea numrului de evenimente pe un interval, [0, t] , date fiind:
a) numrul mediu de evenimente pe unitatea de timp, =rata sau intensitatea
procesului,
b) lungimea intervalului, t .
Atunci, probabilitatea apariiei a n evenimente n intervalul [0, t] este
e t (t ) n
P( X = n , t ) =
.
n!

Anex

241

Notm m = t i atunci m este numrul de evenimente care s-ar produce n


intervalul [0, t ] .
ntr-un proces Poisson este interesant de cunoscut intervalul de timp dintre
dou evenimente succesive. Vrem s tim care este repartiia de probabilitate
pentru aceste intervale. Aceasta este repartiia exponenial.
Pentru m de mai sus P (Y > t ) = e m reprezint probabilitatea ca timpul dintre
dou evenimente s fie mai mare ca t este e-m , adic probabilitatea ca s nu apar
nici un eveniment n intervalul [0,t] . Astfel, repartiia Poisson pentru evenimentele
petrecute pe unitatea de timp i repartiia exponenial a intervalului dintre dou
astfel de evenimente sunt dou modaliti alternative de a descrie acelai lucru. Se
poate spune c numrul de evenimente pe unitatea de timp este repartizat Poisson
cu media pe unitatea de timp, sau c intervalul dintre dou evenimente este
1
exponenial cu media =
uniti de timp.

A.5. Teste de concordan

n practic apare necesitatea comparrii a dou procese tehnologice diferite, a


dou metode de cercetare diferite etc. Este necesar s se cunoasc dac metodele
comparate dau rezultate identice, iar dac nu, care este mai eficace.
n statistic o diferen semnificativ este aceea care nu poate fi pus pe seama
ntmplrii la un anumit nivel de probabilitate sau de ncredere. De exemplu, cu ct
este mai mic diferena dintre dou medii, cu att este mai mare probabilitatea ca
ele s aparin unei selecii extrase din aceeai colectivitate de baz.
Se numete ipotez statistic orice presupunere cu privire la caracteristicile
unei variabile aleatoare, fa de legea ei de repartitie sau fa de parametrii ce o
determin (Mihil i Popescu, 1978).
Mijloacele de verificare a ipotezelor statistice se numesc teste statistice. Cnd
ipoteza se refer la natura repartiiei, de exemplu afirmaia c o variabil empiric
are o anumit repartiie teoretic, testul se numete test de concordan.
Afirmaia H0 : o variabil empiric are o anumit repartiie teoretic este
numit ipoteza H0 , iar ipoteza alternativ: H1 : variabila empiric poate avea
oricare alt repartiie.
Testul pentru verificarea ipotezei nule d o regul de descompunere a spaiului
n-dimensional al seleciilor Rn (n este volumul seleciei) n dou regiuni R1n , R0n
cu

R n = R1n R0n i

R1n R0n = , astfel nct dac valorile observate

( X 1 , X 2 ,..., X n ) R1n se accept ipoteza H0 , iar dac ( X 1 , X 2 ,..., X n ) R0n

se

242

Modele i algoritmi de optimizare

respinge ipoteza H0 . R0n se numete domeniul critic sau regiunea critic a


testului.
Probabilitile
= P ( R0n H 0 ) = P(resping H 0 cnd H 0 este adevrat)

= P( R1n H 1 ) = P (accept H 0 cnd H 0 este fals )


se numesc riscul de genul nti i respectiv riscul de genul al doilea. se mai
numete i prag de semnificaie i de obicei se ia =0.05 .

A.5.1. Etapele verificrii ipotezelor statistice


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.
Concordana dintre repartiia empiric i cea teoretic se stabilete cu ajutorul
unui test de concordan.
Se pune problema racordrii unei variabile empirice Xe la o variabil teoretic X,
n
x2 L xn
x
x
, N i = N , X =
,
X e = 1
(x)
N 1 N 2 L N n i =1
adic se cerceteaz dac irul numeric al frecvenelor absolute empirice Ni reflect
legitatea ipotetic a variabilei aleatoare teoretice. Rspunsul respectiv este util n
aprecierea caracteristicilor variabilei empirice prin prisma legitii variabilei
teoretice.
Rezolvarea acestei probleme se face n urmtoarele etape :
1. Estimarea parametrilor innd seama de semnificaia pe care ar putea s o aib n
legtur cu caracteristicile repartiiei teoretice;
2. Se construiete variabila pseudoteoretic:
x2 L xn n
~ x
, N i = N
X = 1
N 1 N 2 L N n i =1
fcndu-se astfel legtura ntre variabila empiric Xe i cea teoretic X.
Determinarea frecvenelor absolute N i , ()i = 1, n se face cu ajutorul funciei
N
de probabilitate f ( x i ) = i N i = Nf ( x i ) , () i = 1, n .
N

Anex

243

3. Verificarea concordanei dintre repartiia empiric i cea teoretic, adic se


stabilete dac diferenele dintre N i N i , ()i = 1, n , sunt datorate ntmplrii,
adic nu sunt semnificative, sau diferenele sunt semnificative i atunci exist o
neconcordan ntre repartiia teoretic i cea empiric.

A.5.2. Testul de concordan 2


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

i =1

N i

estimarea parametrilor, nu sunt prea mici ( N i > 5 ), atunci c2 =

are repartiia cu = n 1 k , n fiind numrul de valori observate, iar k ,


numrul parametrilor estimai (Vduva, 1977).
2

Observaie. Numrul gradelor de libertate este strns legat de cantitatea de informaie


de care se dispune n cercetarea care se efectueaz. Ea se reflect n volumul n, de
n

date experimentale, n-1 informaii sunt independente, deoarece

= N , i se

i=1

mai pierde informaie pentru determinarea celor k parametri estimai.


Pentru < 30 i dai se determin n21 k , din tabela repartiiei 2 ,

( P 2 > n21 k , = ) i dac c2 < n21 k , , atunci exist concordan, iar dac


2
c

2
n 1 k ,

nu exist concordan ntre cele dou repartiii.

A.5.3. Testul Kolmogorov


Acest test de concordan are la baz urmtoarea teorem:

Teorema lui Kolmogorov (Vduva, 1977). Fie X o variabil aleatoare a crei


funcie de repartiie F(x) este continu i X1, X2, ..., Xn o selecie efectuat asupra
sa. Fie Fn(x) funcia de repartiie empiric (sau de selecie) asociat seleciei
numrul valorilor lui X i x
date, adic Fn ( x) =
. Atunci
n
2 2

u
= (1) k e 2u k = K (u ) .
lim P max Fn ( x) F ( x) <
n
n

Modele i algoritmi de optimizare

244

Funcia K(u) se numete funcia lui Kolmogorov i exist tabele cu cuantilele ei.
Algoritm pentru aplicarea testului Kolmogorov (Vduva, 1977)
Pas 1. Se formuleaz ipoteza H0: Variabila aleatoare X are funcia de repartiie
F(x);
Pas 2. Se fixeaz un prag de semnificaie (de exemplu, =0.05 , =0.01 ,
=0.025);
Pas 3. Se determin u , din tabelele funciei K(u) , astfel K (u ) = 1 ;
Pas 4. Se ordoneaz cresctor X (1) X ( 2 ) ... X ( n ) ;

Pas 5. Se calculeaz d i = Fn ( X (i ) ) F ( X i ) , ()i = 1, n ;


Pas 6. Se determin d = max d i ;
1 i n

Pas 7. Dac d <

u
n

, se accept ipoteza H0 , altfel se respinge. Stop!

BIBLIOGRAFIE
Anderson, D. R. , Sweeney, D. J., Williams, Th. A. An Introduction to
Management Science. Quantitative Approaches to Decision Making, ediia a
7a. West Publishing Company, 1997.
Anderson, D. R. , Sweeney, D. J., Williams, Th. A., Joseph, D. A. The
Management Scientist, ediia a 7a. West Publishing Company, 1998.
Bergounioux, M. Optimization et Contrle des systmes linaires. Ed. Dunod,
2001.
Bonini, C. P. , Hausman, W. H., Bierman, H. Jr. Quantitative Analysis for
Management, ediia a 9a. Irwin McGrawHill, 1997.
Cohen, G. Convexite et optimisation, ENPC, Paris, 2000
Cohen, V. La Recherche Oprationnelle. Presses Universitaires de France, 1995.
Dragomirescu, M., Malia, M. Programare ptratic. Editura tiinific,
Bucureti, 1968.
Fletcher, R. Practical Methods of Optimization, vol. 1 Unconstrained
Optimization i vol. 2 Constrained Optimization. John Wiley & Sons, 1981.
Fuente, Angel de la. Mathematical Methods and Models for Economists,
Cambridge University Press, 2000.
Henry-Labordere, A. Recherche Operationnelle. Presses de lcole Nationale des
Ponts et Chausses, 1995.
Hsiao, J. C., Cleaver, D.S. Management Science. Houghton Mifflin Company,
1982.
Ionescu, H., Dinescu, C., Svulescu, B. Probleme ale cercetrii operaionale.
Editura Didactic i Pedagogic, Bucureti, 1972.
Kaufmann, A. Metode i modele ale cercetrii operaionale, vol. I, II. Editura
tiinific, Bucureti, 1967.
Lee, A. M. Teoria ateptrii cu aplicaii. Editura Tehnic, Bucureti , 1976.
Lange, O. Decizii optimale Bazele programrii. Editura tiinific, Bucureti,
1970.
Luenberger, D. G. Linear and Nonlinear Programming. AddisonWesley, 1989.
Malia, M., Zidroiu, C. Matematica organizrii. Editura Tehnic, Bucureti,
1971.
Mihil, N., Popescu, O. Matematici speciale aplicate n economie, Editura
Didactic i Pedagogic, Bucureti, 1978.
Popescu, O i colectiv. Matematici aplicate n economie, Editura Didactic i
Pedagogic, Bucureti, 1997.
Popescu, O i colectiv. Matematici aplicate n economie Culegere de probleme,
Editura Didactic i Pedagogic, Bucureti, 1996.
Preda, V i Bad, M. Culegere de probleme de Cercetri Operaionale, Tipografia
Universitii din Bucureti, 1978.

246

Modele i algoritmi de optimizare

Turban, E., Meredith, J. R. Fundamentals of Management Science, Ediia a 4a.


Irwin, 1998.
tefnescu, A. Curs de Cercetri Operaionale, Tipografia Universitii din
Bucureti, 1989.
Vduva, I. Modele de simulare cu calculatorul. Editura Tehnic, Bucureti, 1977.
Vduva, I., Dinescu, C., Svulescu, B. Modele matematice ale organizrii i
conducerii produciei, vol. I, II. Editura Didactic i Pedagogic, Bucureti,
1974.
Vrnceanu, Gh. Gh., Mititelu, t. Probleme de cercetare operaional. Editura
Tehnic, Bucureti , 1983.
Zidroiu, C. Programare dinamic discret. Editura Tehnic, Bucureti , 1975.
Zidroiu, C. Programare liniar. Editura Tehnic, Bucureti , 1983.

INDEX ALFABETIC

abaterea medie ptratic ........................... 235


algoritmul
de transport .......................................... 104
Dijkstra .................................................. 25
Kruskal .................................................. 21
lui Prim .................................................. 23
simplex .................................................. 61
simplex dual........................................... 88
simplex revizuit ..................................... 63
Wolfe................................................... 125
alternativ ................................................... 13
analiza
convergenei
globale .............................................. 16
locale................................................. 16
marginal ............................................. 215
prospectiv........................................... 142
retrospectiv......................................... 142
sensibilitii............................................ 68
arbore .......................................................... 20
de acoperire de lungime minim............ 20
arborescen ............................................... 18
arc
al grafului............................................... 17
incident .................................................. 18
baz
dual admisibil....................................... 83
primal admisibil ................................... 83
Bellman, principiul ..................... 15, 141, 150
Bland, regula lui ......................................... 72
cmp complet aditiv................................... 231
capacitatea sistemului de ateptare ........... 159
ctigul
parial................................................... 143
total ...................................................... 143
celul ........................................................ 102
cerere ........................................................ 192
ciclare ......................................................... 71
ciclu .......................................................... 102
de reaprovizionare ............................... 194
eulerian .................................................. 20
hamiltonian ............................................ 20
ciclu ntr-un graf ......................................... 20
circuit.......................................................... 18
eulerian .................................................. 20
hamiltonian ............................................ 20
clieni ........................................................ 159

coeficieni
de cost redus...................................59, 106
coeficienii funciei obiectiv .................62, 93
condiia de balansare...................................52
condiiile
de nenegativitate ....................................50
Kuhn-Tucker ..................................49, 125
conul
direciilor admisibile ..............................48
tangent....................................................48
costul de
depozitare.............................................193
lansare ..........................................193, 197
stocare ..................................................197
costul lipsei de stoc ...........................193, 203
costul total.................................................198
costul unitar
al subestimrii.......................................220
al supraestimrii ...................................220
de fabricaie..........................................208
de transport ............................................53
costuri reduse ..............................................67
criteriu de
ieire din baz ..........................61, 90, 107
intrare n baz...........................61, 90, 106
cuantila inferioar .....................................218
cuplu de probleme duale .............................82
asimetrice ...............................................83
simetrice.................................................83
degenerare...................................................72
densitate de repartiie ................................234
diagrama activitilor ..................................30
direcie admisibil.......................................48
disciplina de serviciu ................................160
dispersia variabilei aleatoare.....................235
domeniul de admisibilitate........................142
drum............................................................17
critic .......................................................30
eulerian ..................................................20
hamiltonian ............................................20
ecuaiile
de recuren..........................................146
KolmogorovFeller..............................161
ecuaiilor de stare......................................180
evenimentul
imposibil ..............................................231
sigur .....................................................231

248
factor de serviciu ...................................... 164
FIFO ......................................................... 159
fluxul intrrilor n sistemul de ateptare ... 159
form ptratic
negativ definit .................................... 122
negativ semidefinit............................. 122
pozitiv definit..................................... 122
pozitiv semidefinit ............................. 122
funcia lui Kolmogorov ............................ 242
funcie
beta ...................................................... 237
convex.................................................. 43
de repartiie .......................................... 233
decompozabil
prospectiv........................................ 143
retrospectiv ..................................... 143
gama .................................................... 236
obiectiv .................................................. 14
pozitiv semidefinit ............................... 43
strict concav ......................................... 44
strict convex......................................... 43
grad
exterior................................................... 18
interior ................................................... 18
graf
complet .................................................. 19
neorientat ............................................... 19
orientat................................................... 17
parial..................................................... 18
ponderat ................................................. 19
simetric .................................................. 19
simplu conex.......................................... 20
tare conex............................................... 18
indice de lips de stoc............................... 205
nfurtoarea convex ............................... 42
intensitate de trafic ................................... 164
intensitatea de trafic.................................. 175
intensitatea optim de ncrcare a stocului223
intensitatea procesului .............................. 238
intensiti de deces.................................... 161
intensiti de natalitate.............................. 161
intervalul de control.................................. 195
inventar ..................................................... 193
ipotez
alternativ ............................................ 239
statistic ............................................... 239
lagrangean .................................................. 46
lan.............................................................. 19
eulerian .................................................. 20
hamiltonian ............................................ 20
lege de evoluie......................................... 142
lema
Farkas-Minkowski ................................. 48
substituiei.............................................. 87
lot de reaprovizionare ............................... 194

Modele i algoritmi de optimizare


lungimea cozii...........................................159
lungimea maxim a cozii ..........................160
lungimea medie a cozii ............. 163, 170, 175
mrimea optim a comenzii de
reaprovizionare ....................................199
marja ...........................................................32
matrice triunghiular..................................102
maxim
global .....................................................45
local........................................................45
mecanismul
reaprovizionrii ....................................194
serviciului.............................................159
media variabilei aleatoare .........................234
metoda
celor dou faze .......................................76
colului nord-vest .................................107
costului minim .....................................108
PERT......................................................29
model ....................................................11, 12
de ateptare ....................................15, 159
de stocare ...............................................15
modelare......................................................11
modele de
simulare................................................183
modele de stocare
cu cerere
continu...........................................195
discret ............................................195
cu mai multe staii................................195
cu staie ................................................195
deterministe..........................................195
dinamice...............................................195
statice ...................................................195
stochastice............................................195
momentul lansrii comenzii ......................195
muchiile grafului.........................................19
mulime convex.........................................42
multiplicatorii
lui Lagrange ...........................................48
simplex.................................................104
nivel de reaprovizionare............................195
nivelul mediu al stocului...........................199
nod
ascendent................................................18
descendent..............................................18
precedent................................................18
succesor..................................................18
nodurile grafului .........................................17
numrul de clieni din sistem ....................159
numrul de staii de serviciu .....................160
numrul mediu al clienilor de la coad ....165
numrul mediu de clieni de la coad........181
numrul mediu de clieni din sistem 162, 165,
.....................................................169, 181

Index alfabetic
numrul mediu de clieni servii la un
moment dat .......................................... 169
numrul mediu de servicii ........................ 176
numrul mediu de staii de servire care
lenevesc ............................................... 177
numrul mediu de staii n lucru ............... 181
numrul mediu de staii neocupate ........... 163
obiectiv ....................................................... 13
optimizare............................................. 13, 14
pivot............................................................ 62
poligonul soluiilor.................................... 74
politic ...................................................... 141
de reaprovizionare ............................... 195
optim .................................................. 144
pondere ....................................................... 20
ponderea arcelor ......................................... 19
prag de semnificaie.................................. 240
pre dual...................................................... 68
pre umbr ................................................... 91
probabilitate.............................................. 231
problem
de decizii.............................................. 142
cu orizont finit................................. 141
cu orizont infinit ............................. 141
de programare
convex ............................................. 44
liniar ................................................ 15
ptratic .................................... 15, 124
forma canonic........................... 124
forma standard ........................... 126
dual ...................................................... 81
nedegenerat .......................................... 72
primal................................................... 81
probleme de stoc
aprovizionare ....................................... 192
producie............................................... 193
proces
aleatoriu ............................................... 237
cu creteri independente ...................... 238
Markov ................................................ 238
Poisson................................................. 238
stochastic ...................... v. proces aleatoriu
proces de natere i deces ......................... 160
program
de baz ................................................... 57
de transport ............................................ 52
degenerat................................................ 71
optim...................................................... 57
program liniar ............................................. 51
forma canonic ....................................... 55
forma standard ....................................... 55
programare........................... 14, v. optimizare
cu restricii ............................................. 14
dinamic ................................................ 15
far restricii........................................... 14

249
punct admisibil............................................15
punct de extrem...........................................43
punct regulat ...............................................47
rata
cererii ...................................................193
ieirilor .................................................193
intrrilor ...............................................193
regiunea admisibil .....................................15
regiunea critic a testului ..........................240
regula dreptunghiului..................................62
repartiia
Beta ................................................34, 237
Erlang...........................................218, 236
exponenial .................................164, 236
normal ................................................237
Poisson .................................................236
uniform...............................................235
repartiii Markov.......................................236
restricie
activ......................................................46
inactiv...................................................46
restricii.......................................................13
riscul de genul
al doilea................................................240
nti ......................................................240
rotunjirea rezultatelor................................202
simulare probabilist.................................184
soluie
admisibil.........................................15, 56
de baz ...................................................56
degenerat ..............................................56
global....................................................45
local......................................................45
nedegenerat ..........................................56
optim ..............................................15, 57
starea
final ....................................................142
iniial ..................................................142
staie de servire ..........................................159
stoc....................................................192, 193
stoc intangibil....................................197, 215
subgraf ........................................................18
tabel simplex...............................................62
teoria
ateptrii ..............................................159
grafurilor................................................15
test de concordan ...................................239
testul
2 ........................................................241
lui Kolmogorov....................................242
timpul de
ateptare ...............................................159
P

250
avans .................................................... 195
neocupare a staiilor............................. 159
timpul mediu de
ateptare n sistem 163, 165, 170, 177, 182
ateptare la coad 163, 165, 170, 177, 182
lenevire ................................................ 163
servire .................................................. 163
topologia sistemului de servire................... 159
traiectoria optim...................................... 144
vrf
adiacent.................................................. 18
al grafului............................................... 19

Modele i algoritmi de optimizare


variabil
aleatoare ...............................................232
normal standard .............................237
artificial ................................................76
ecart........................................................56
variabile
de decizie ...............................................12
externe....................................................12
intermediare ...........................................13
vector de
decizie ..................................................141
stare......................................................141

MODELE I ALGORITMI
DE OPTIMIZARE

Conf. univ. dr. Romic Trandafir,


membru al catedrei de MatematicInformatic din Universitatea Tehnic de
Construcii din Bucureti, este absolvent al
Facultii de Matematic a Universitii din
Bucureti, promoia 1974 i doctor n
matematici din anul 1994. Desfoar o
susinut activitate de cercetare n domeniul
matematicilor aplicate. Cercetrile sale,
materializate ntr-un numr semnificativ de
articole publicate n reviste interne i
internaionale, abordeaz teme privind
modelarea stochastic, teoria informaiei i
analiza numeric. Este coautor al monografiei Bazele Analizei
Numerice, Editura Printech, 2001.
Lucrarea conine modele i algoritmi pentru optimizarea
activitilor economice, elemente de teoria grafurilor, programare
convex, liniar, ptratic i dinamic, problema de transport, modele
de ateptare i de stocuri, fiind util cercettorilor din domeniu,
inginerilor, economitilor, precum i studenilor de la facultile
tehnice i economice.

I SBN 9 7 3 - 8 4 6 6 - 7 6 - 8

9 789738 466760

Vous aimerez peut-être aussi