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.

MODÈLES ET ALGORITHMES D’OPTIMISATION Cet ouvrage présente un ensemble de modèles, de méthodes et d’algorithmes d’optimisation. Le premier chapitre, Introduction, où l’objet de l’optimisation et les principaux domaines d’application sont fournis, est suivi de Graphes en optimisation, Programmation convexe, Programmation linéaire, le Problème de transport, Programmation dynamique, Programmation quadratique, Éléments de la théorie files d’attente, Éléments de la théorie de stockes et une Annexe. Ces chapitres représentent un minimum de connaissances nécessaires dans les activités pratiques de management des ingénieurs et économistes. La plupart des résultats sont démontrés, mais il y a des résultats (théorèmes, propositions) qui sont acceptés sans démonstration, pour lesquelles on indique l’ouvrage où ils sont démontrés. Les méthodes et les algorithmes correspondants sont illustrés par exemples complètement résolus. On a donné également les solutions obtenues en utilisant les logiciels Management Scientist, Excel et MathCAD. Presque tous les chapitres finissent par des problèmes proposés à résoudre. L’ouvrage s’adresse aux ingénieurs, économistes, mathématiciens et étudiants des facultés techniques et économiques, étant un outil pour résoudre les problèmes pratiques.

8

Romică Trandafir

MODELE ŞI ALGORITMI DE OPTIMIZARE
Seria „Matematică”

Editura AGIR Bucureşti, 2004

ASOCIAŢIA GENERALĂ A INGINERILOR DIN ROMÂNIA
Copyright © EDITURA AGIR, 2004 Editură acreditată de CNCSIS Toate drepturile pentru această ediţie sunt rezervate. All rights reserved.

Adresa: Calea Victoriei nr. 118, sector 1, Bucureşti, cod 010071; telefon: 40 21 212 81 04; 40 21 212 81 06 (redacţie); 40 21 211 83 50 (difuzare); fax: 40 21 312 55 31; e-mail: editura@agir.ro; Internet: http://www.agir.ro

Referenţi ştiinţifici: ● prof. univ. dr. Ion Văduva; ● prof. univ. dr. Ştefan Mititelu

Redactor: ing. Adina Negoiţă Coperta: Răzvan Drăghici Bun de tipar: 25.08.2004; Coli de tipar: 15,5 ISBN 973-8466-76-8 Imprimat în România

avem de-a face cu o carte bine construită. care tratează în mod concis.PREFAŢĂ Lucrarea de faţă este o reuşită sinteză. Întrucât în tratarea unor modele intervin noţiuni şi metode ale teoriei probabilităţilor şi statisticii matematice. legate de determinarea drumurilor minime. Astfel. 20 iulie 2004 Prof. fapt care măreşte mult utilitatea şi atractivitatea lucrării. În toate aceste modele se presupune că venirile şi duratele serviciilor sunt aleatoare. Un capitol special este dedicat analizei unor modele de teoria matematică a aşteptării. dr. modele care au ca scop reglarea aşteptărilor şi fluxurilor în sistemele de servire în condiţii de incertitudine. sunt tratate la nivel teoretic evoluat. După o Introducere în care se formulează conceptele de bază ale construcţiei modelelor matematice şi ale descrierii problemelor de optimizare. problemele de optimizare. În aceste capitole se fac remarcate construcţia şi analiza aprofundată a numeroşi algoritmi generali. anexa cărţii prezintă tocmai noţiunile de bază necesare înţelegerii acelor modele. problema de transport. în particular în construcţii. dar şi a unor particularităţi ale acestora de un real interes practic. dar şi riguros din punct de vedere matematic. de repartiţii cunoscute. Bucureşti. Apoi. diverse probleme de programare matematică. Sunt tratate modele clasice care determină politici de reaprovizionare optime pentru stocarea unuia sau mai multor produse. Ion Văduva . cum sunt: programarea convexă programarea liniară. claritatea şi rigurozitatea problemelor tratate şi care oferă posibilităţi de aplicare la rezolvarea multor probleme practice. exemple ce sunt prelucrate cu ajutorul unor pachete de programe. univ. a fluxurilor minime/maxime sau a arborilor de acoperire de cost minim. ea prezentând deci un interes deosebit pentru o clasă largă de cititori. care intervin în rezolvarea diverselor tipuri de probleme ridicate de practica inginerească. sau sisteme de aşteptare cu mai multe staţii paralele. ultimul capitol al cărţii tratează modelele reprezentative de teoria matematică a stocurilor. În concluzie. un prim capitol este dedicat formulării şi tratării unor modele şi algoritmi de optimizare din teoria grafurilor. Sunt tratate modele de aşteptare pentru sisteme cu o staţie de servire. Aproape toate metodele şi algoritmii descrişi sunt ilustrate prin exemple preluate cu precădere din practica activităţilor de construcţii. lucrarea tratează sistematic o mare varietate de modele şi algoritmi de optimizare. în cinci capitole distincte. interesantă prin acurateţea. În sfârşit. programarea pătratică şi programarea dinamică. cu coada finită sau infinită. precum şi unele modele aleatoare.

6 Modele şi algoritmi de optimizare .

......11...................................................... Algoritmul lui Kruskal....................................................... Gestionarea optimă a unui depozit........7...5...........10.......63 4...................1.... Programare convexă ..........................4.....................................................................72 4......................2.......................... Exemple de probleme de programare liniară .................... Cazul restricţiilor egalităţi..............................82 4.. Grafuri în optimizare..... Probleme propuse ..........54 4........................................11 1..1.... Problema dietei ........4..........................................................................1..................................................48 3.......................................19 2.1.1..............................................................................................................................2.....17 2.......................................................11 1................................................... Dualitatea în programarea liniară............................................. Diferite forme ale problemelor de programare liniară ...............CUPRINS 1......................1.......1.1..........1.................................................................................................................................1.......2.......................59 4.......................................... Metoda PERT .........8. Algoritmi iterativi şi convergenţă ...................12 1.....................57 4......... Cazul restricţiilor inegalităţi ............... Obiectul optimizării ......... Interpretarea economică a algoritmului simplex.......................................................56 4..........2..........35 3......................65 4........1......... Metoda celor două faze..17 2............ Introducere ..... Căutarea unui arbore de acoperire de lungime minimă ...1................................14 1................................................ Problema de transport ....................11 1.. Convergenţa algoritmului simplex......................... Teorema fundamentală a dualităţii.......................16 2....................... Alocarea optimă a fondurilor financiare ...................6.....21 2....1.........................74 4....................45 3.....2.1.....62 4..............................................................................................................9..................................................77 4........ Algoritmul lui Dijkstra ................................................ Tipuri de probleme ............................................. Exemplu...................3......5........22 2..................5................................................25 2......51 4..........2........................................................................52 4......................2.................................................1.....................................................55 4..............................................................17 2....... Interpretarea geometrică a algoritmului simplex ................ Programare liniară .................. Tabelul simplex şi transformarea sa ......12..........3.............51 4....1............................................................................................................2..........49 4...............2...........16 1.....51 4...............................2.......................... Mulţimi şi funcţii convexe.............................................1...............2..........20 2...... Construcţia modelului............................................................................................................................................................................2........... Definiţii şi algoritmi.....................43 3.......................... Grafuri neorientate..........................................2........................3...........................................54 4....... Fundamentele algoritmului simplex .........................................2.................................13............84 ...... Enunţul algoritmului simplex .................... Degenerare şi ciclare ....................................................................29 2.1.............. Extreme condiţionate ......................................... Concepte de bază în modelare ........................76 4....................................2............................................................ Algoritmul lui Prim.... Grafuri orientate................................................... Utilizarea optimă a resurselor .....43 3......................................4............. Algoritmul simplex ............................. Dimensiunea problemelor........................1....2.

8 Modele şi algoritmi de optimizare 4..........123 6.. Punerea problemei ........................................................161 8..........1...........199 9....3............................102 5.4......................................3..147 7.188 9....2............127 6...................................................................5......................................................................................................................... Probleme propuse .......143 7.................................. Problema investiţiei ....................2....................................... Probleme propuse ....................123 6.................1.............6..1........................92 4.........................................................................................................155 7...................................................94 4........................2...........3...........122 6............6.....................4...........89 4........132 6....143 7.................2...141 7.....4.................................................. Regresii liniare........................................157 8............................................ Modelul Po(λ)/Exp(µ)/c:(∞............................. Definiţii................................2...........................................................16...........................204 .......................................2. Modelul clasic al lipsei de stoc .............. Exemplu..............................152 7..............95 5.............174 8.................................... Utilizarea optimă a resurselor .122 6..............15.....................................170 8..................1...............................5... Analiza retrospectivă ....................................................162 8..................................................1..............2....... Rezolvarea în cazul aditiv.....................3............................................. Probleme propuse .........7..109 5...............124 6................................... Interpretarea economică a algoritmului simplex dual... Fundamentarea algoritmului lui Wolfe.....122 6........................ Problema atribuirii sarcinilor ......................................................................................3...........................................3.FIFO)............ Introducere în teoria aşteptării ................................................... Algoritmul simplex dual ................. Determinarea unei soluţii dual admisibile ..3.....................................................................................1.......2.. Elemente de teoria stocurilor ...................................................................................185 8........................................................................................ Modelul clasic al lotului economic .......................... FIFO) ........... Fundamentele algoritmului de transport ...............161 8............................ Caracterizarea procesului N(t) ca proces de naştere şi deces........................... Simulare........................................................... Forma scurtă a algoritmului lui Wolfe.........1.............148 7........................ Programare pătratică ......5...... Modelul Po(λ)/Exp(µ)/1:(m....................... Proprietăţi....................................................8.............107 5........1............17......1.............194 9...1.194 9..........................2.....................................................................................................................................2................2.....180 8..............................................FIFO)........................................................ Problema repartiţiei investiţiilor ..................119 6.....................................108 5........................................ Problema de transport........................................................ Modelul Po(λ)/Exp(µ)/1:(∞.................................. Probleme propuse ................4..... Problema alocării optime a resurselor.................... FIFO)......1.........................1. Problema gestiunii stocului.... Concepte utilizate în teoria stocurilor ................................... Generalităţi ............146 7....14.... Determinarea soluţiei iniţiale de bază.................................................................... Modelul P0(λ)/Exp(µ)/c:(m............................................................................... Introducere în teoria stocurilor ..... Elemente de teoria aşteptării...............................................................2............................................ Programare dinamică ......................194 9..............102 5.............................................165 8..........195 9............................................. Exemple de probleme care conduc la programare pătratică ............ Enunţul algoritmului de transport .............................................1.........119 5..... Probleme propuse ................

........236 A..5..........236 A......243 Bibliografie ....................................................1................2.......................................7...................................................2...4........3.................... Modele de stocare pe o singură perioadă cu cerere aleatoare ........................................... Etapele verificării ipotezelor statistice ..........................................233 A................. Funcţia de repartiţie ........................1.... Repartiţii Markov............3........ Dispersie... Modele stochastice de stocare bazate pe modele de aşteptare .................................. Variabile aleatoare .......................... Câmp de probabilitate complet aditiv ................................................237 A........................ Testul Kolmogorov ......239 A....................209 9........................233 A.......209 9............................217 9.................... Model pentru stocarea mai multor tipuri de produse ............... Testul de concordanţă χ ..............................................233 A...........................2..............................................3.....1.................................................2............ Extensii ale modelului clasic al lotului economic..............1.....................1......224 9......................................2............ Modelul cu mai multe staţii paralele şi cu timp de avans L aleatoriu ...............................................................6... Axioma lui Kolmogorov ...............2.................... Repartiţia uniformă ..................................................224 9...........3................1...........................................................................4....................................236 A. Probabilităţi................3........................................................ Repartiţia normală unidimensională a lui Gauss. Repartiţia Beta ...2...............5.................................................................................2. Probabilitate ......................................238 A..............4............ Probabilitate condiţionată .................................................................. Determinarea nivelului optim de reaprovizionare............................237 A.................5........................3..............................................................235 A........234 A........................................................... Evenimente.................6.....5...........................1.......245 Index alfabetic ..2.......236 în sensul Steinhaus−Kaç ........6.234 A..........237 A... Variabile aleatoare independente ..................................234 A..............5......247 .........226 9...................... Câmp de evenimente........1...... Modelul P0(λ)/Exp(µ)/1:(∞......................................... Modelul de stocare considerând influenţa costului de producţie ..................1....................... Probleme propuse .............. FIFO).........................216 9....................................3.......................243 A.................. Valoare medie................230 Anexă..................................................239 A...........6................................2..........................210 9.4.... Momente..5........Cuprins 9 9......................................................... Câteva repartiţii clasice..........233 A. Modele stochastice de stocare.......221 9...3.............................. Densitate de repartiţie ...........2..4.....216 9...........................................1.......... Evenimente independente ...........242 2 A..................3...241 A........5.............6................1.......................1..233 A..... Procese aleatoare.. Teste de concordanţă .6......................3.......................... Modelul de stocare considerând influenţa preţului de cumpărare .......................3.......................4.......................................3...............

10 Modele şi algoritmi de optimizare .

Deoarece problemele lumii reale devin extrem de complicate este necesar să se facă o abstractizare şi o simplificare a realităţii într-un model. atunci nici o acţiune nu va avea loc. Obiectul optimizării Un manager vrea să aleagă acel curs al activităţii sale care va fi cel mai performant în atingerea scopului firmei sale. Determinarea unui model care să fie folosit şi a valorilor parametrilor procesului 4. INTRODUCERE 1.1. Este indicat să se urmărească etapele (Bonini et al.1. trebuie să se folosească anumite criterii pentru măsurarea performanţei activităţii în discuţie. .1. Anumite atribute ale problemei trebuie ignorate ca să se poată lua o decizie. Să considerăm de exemplu problema construirii unei clădiri. 1. Stabilirea criteriului de eficienţă 2. sursele de finanţare şi costurile. modelul poate fi modificat repede şi eficient. Abstracţia şi simplificarea sunt paşi necesari în rezolvarea oricărei probleme umane. Selectarea unei mulţimi de alternative posibile 3. Determinarea alternativei care optimizează criteriul stabilit la etapa 1. Decidentul trebuie să identifice factorii cei mai relevanţi pentru problemă. Decidentul poate hotărî să considere în mod deosebit şi în detaliu toate celelalte potenţiale folosite în această perioadă şi în perioadele viitoare. aceştia trebuie combinaţi în mod logic formând astfel modelul. Dacă decidentul adoptă strategia colectării tuturor informaţiilor înainte de a acţiona. caracteristicile fizice ale clădirii. Mintea umană nu poate considera toate aspectele empirice ale problemei. Este necesară o durată îndelungată pentru culegerea de informaţii privind locul unde se amplasează. Avantajele unui model simplu sunt: 1) economia de timp de concepere 2) poate fi înţeleasă realitatea de către decident 3) dacă este necesar. 1997): 1. Un model este reprezentarea simplificată a problemei reale. influenţa asupra costurilor. În judecarea eficienţei diferitelor decizii posibile.1. Construcţia modelului După ce decidentul a identificat factorii critici ai problemei concrete pe care o are de rezolvat. fenomenului natural complex i se reproduce comportarea esenţială cu mai puţine variabile şi care sunt legate între ele mai simplu. Prin modelare. studiul detaliat al condiţiilor climatice şi de sol.

Decidentul îşi bazează acţiunile sau deciziile pe aceste concluzii. Un model este o abstracţie şi o simplificare a unei probleme reale. se selectează alternativele. se construieşte un model. suma alocată reclamei etc. încorporând ideal elementele esenţiale şi relaţiile din problema reală. Dacă deducerea concluziilor din modelul abstract este corectă şi dacă variabilele importante au fost abstractizate atunci soluţia modelului ar servi ca o soluţie efectivă pentru problema empirică. Tehnica abordată pentru descrierea şi stabilirea legăturilor variabilelor selectate depinde de natura variabilelor. . În luarea unei decizii. Decidentul doreşte ca modelul simplificat să prezică rezultate rezonabile şi să fie consistent cu acţiunea efectivă.12 Modele şi algoritmi de optimizare Un model cât mai apropiat de realitate cere un timp excesiv în construcţie. se stabileşte criteriul de decizie. Luarea deciziei implică informaţia cantitativă obţinută din model cu judecarea intuitivă a factorilor calitativi. Rezolvarea unui model înseamnă obţinerea concluziilor logice care rezultă. măsuri ale performanţei şi variabile intermediare. Concepte de bază în modelare Primul pas în construirea unui model este stabilirea factorilor şi variabilelor pe care decidentul le consideră importante. se evaluează alternativele folosind modelul apoi se selectează cea mai bună alternativă. ele reprezentând alegerile alternative pentru decident. preţul. Există două surse de erori în folosirea modelului pentru factorul de decizie: 1) omiterea unor variabile importante din model 2) erori în definirea relaţiilor dintre variabile. restricţii. culoarea. De exemplu: trebuie să se introducă un nou produs în fabricaţie. Variabilele de decizie sunt acele variabile pe care le controlează decidentul. 1. Acestea pot fi clasificate în cinci categorii: variabile de decizie. Variabilele exogene sau externe sunt acelea care sunt importante în problema de decizie.2. variabile exogene.1. Dacă variabilele pot fi date în reprezentare cantitativă atunci modelele matematice sunt cele mai indicate. Decidentul poate alege: să se introducă sau nu. De exemplu: preţul materiilor prime pentru realizarea noului produs. După ce modelul a fost construit se pot obţine concluziile prin intermediul acţiunilor logice. Matematica împreună cu calculatoarele moderne fac posibilă rezolvarea problemelor care cer modele de mare complexitate şi atunci când analiza cantitativă se poate aplica ea facilitează procesul de luare a deciziilor. dar sunt controlate de factori externi sferei decidentului. concluzii ce constituie un ghid efectiv în luarea deciziei dacă modelul este proiectat şi rezolvat corect.

alegerile posibile reprezintă adesea un continuu (de exemplu: ce dimensiune să se dea unei grinzi ?) şi o enumerare exhaustivă a posibilităţilor este de neconceput. În problemele tehnice. un obiectiv pe care încearcă să-l atingă. explicit sau nu. a stocurilor. studiul structurii acestor metode şi experimentarea pe calculator a metodelor cu date experimentale şi cu date reale. * * * A face « cel mai bine posibil » este sensul oricărei atitudini naturale în viaţa de zi cu zi. în comerţ în probleme de alocarea resurselor. principii variaţionale . Cuvintele « a optimiza. economie. a clădirilor. resurse. Optimizarea poate fi definită ca ştiinţa determinării «celei mai bune» soluţii la anumite probleme definite matematic. determinarea soluţiei cu metode algoritmice. O selecţie a domeniilor în care apar probleme de optimizare ar cuprinde: proiectarea reactoarelor chimice. matematică.1. de tipul că algoritmul care ia decizia se reduce la a înfăţişa. Atunci trebuie găsit un algoritm mai performant. 2000).Introducere 13 Restricţiile pot fi legate de capacităţile de producţie. adică o metodă pentru a găsi drumul spre soluţia cea mai bună dintre toate soluţiile posibile. Adesea ele leagă factorii de cost şi de câştig. optimizare etc. restricţii al căror nivel a făcut la rândul său obiectul deciziilor prealabile şi adesea exterioare. În luarea unei decizii decidentul are un scop. » sunt presupuse să reflecte această idee de « cel mai bine posibil ». inginerie. Variabilele intermediare sunt necesare pentru includerea tuturor factorilor importanţi în problema de decizie. să considere şi să evalueze consecinţele lor probabile şi să reţină pe cea care pare « cea mai bună » (dar cea mai bună are sens doar în măsura în care un criteriu de alegere a fost definit mai înainte). Măsuri ale performanţei. Ea implică studiul criteriilor de optimalitate pentru probleme. a aparatelor aerospaţiale. care sunt adesea modele ale realităţii fizice. în diferite ramuri ale analizei numerice. toate posibilităţile. comerţ etc. de dimensionat o instalaţie etc. Metodele de optimizare au o largă aplicabilitate în aproape orice activitate în care sunt prelucrate informaţiile numerice: ştiinţă. limitări legislative. Se folosesc să lege variabilele de decizie şi exogene de măsurile de performanţă. În viaţa curentă alegerile posibile se limitează adesea la două (atunci le numim alternative) sau câteva unităţi. a podurilor. de securitate. sau altele. Dar aceasta nu are decât un sens relativ în raport cu nişte restricţii impuse din exterior sau acceptate de bunăvoie (Cohen. în ajustarea datelor. Pentru un inginer « a face cel mai bine posibil » ar trebui să fie un obiectiv permanent atunci când are de conceput o clădire. planificarea producţiei. Expresia este relativizată în funcţie de buget. Criteriile sau măsurile performanţei sunt expresii cantitative ale acestor obiective. politica firmei etc.

Folosirea optimizării se bazează pe concentrarea atenţiei asupra unui singur obiectiv conceput să cuantifice performanţa şi calitatea deciziei într-o problemă ce ar necesita determinarea valorilor unui număr mare de variabile interconectate. Se optimizează o funcţie obiectiv care cuantifică produsul unui proces economic sau profitul rezultat în urma aplicării sistemului. Conceptul de optimizare este bine încetăţenit ca principiul de bază în analiza problemelor complexe de decizie sau alocare. Problemele cu restricţii permit modelarea fenomenelor complexe prin descompunerea în subprobleme şi fiecare subproblemă având mai multe restricţii. E este mulţimea indicilor pentru restricţiile cu egalitate.2. Optimizarea ar trebui privită ca un instrument de concepere şi analiză. Tipuri de probleme Termenul programare. . x2. şi nu ca un principiu care să ducă la soluţia corectă din punct de vedere filozofic.14 Modele şi algoritmi de optimizare în sisteme de ecuaţii diferenţiale şi cu derivate parţiale. 1995). Când variabilele sunt supuse unor restricţii (relaţii) avem de-a face cu programare cu restricţii. iar I este mulţimea indicilor pentru restricţiile cu inegalitate. …. funcţii de penalitate etc. 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ă. Restricţiile de forma g i ( x ) ≤ bi pot fi puse sub forma g i ( x ) − bi ≤ 0 . Forma generală a unei probleme de programare cu restricţii este ⎧min f ( x ) x ∈ R n ⎪ (1. gi sunt funcţiile care dau restricţiile asupra variabilelor x1. (Cohen. care face obiectul acestei lucrări. Formularea problemei implică întotdeauna găsirea unui echilibru între construirea unui model suficient de complex pentru a descrie cât mai bine problema şi uşurinţa de rezolvare a acestuia. Problemele fără restricţii par lipsite de proprietăţi structurale astfel încât aplicabilitatea lor în probleme practice este redusă.1) ⎨g i ( x) = 0 i ∈ E ⎪ g ( x) ≤ 0 i ∈ I ⎩ i unde: f este funcţia obiectiv. xn. 1. 1989). Acest obiectiv este maximizat sau minimizat supus unor restricţii care să limiteze alegerea variabilelor de decizie. în această lucrare va fi sinonim cu optimizare şi îşi are originea în planificarea optimală. În lipsa restricţiilor spunem că avem programare fară restricţii (Luenberger.

Introducere 15 Definiţia 1. . deoarece multe dintre restricţiile şi obiectivele care apar în practică sunt liniare prin definiţie. Popularitatea programării liniare se datorează în principal etapei de formulare. Asigurarea unui regim optim de funcţionare a unui proces de producţie sau aprovizionarea optimă cu anume sortimente a cererilor pieţei se realizează cu ajutorul modelelor de stocare. (∀)x ∈ R . fie cu ajutorul Solver-ului din EXCEL.1) se numeste problemă de programare liniară. Un punct x ∈ R n care verifică restricţiile (1.2. fiind prezentate soluţiile modelelor. fie cu ajutorul pachetului de programe MathCAD. Ca o aplicaţie practică a teoriei grafurilor este prezentată organizarea şi planificarea proiectelor complexe şi stabilirea duratei minime de realizare a acestora.1. Definiţia 1. fie cu ajutorul pachetului de programe specializat în rezolvarea problemelor de optimizare. exemple practice rezolvate fie manual. O soluţie admisibilă x * ∈ R este o soluţie optimă pentru problema (1. aşa că în continuare se vor considera numai probleme de minimizare. II. problema (1. 1967). a reducerii cheltuielilor de funcţionare a sistemului de aşteptare etc.1) se numeşte punct admisibil (realizabil) sau soluţie admisibilă şi mulţimea tuturor acestor puncte R. şi nu celei de rezolvare numerică. iar dacă funcţia obiectiv este pătratică atunci problema (1. Optimizarea sistemelor reale cu evoluţie în etape constituie obiectul programării dinamice. problema de maximizare devine o problemă de minimizare. care poate fi exprimat astfel: Orice politică optimă nu poate fi alcătuită decât din subpolitici optime. formează regiunea admisibilă (realizabilă). max f ( x ) = − min{− f ( x )} .1) se numeşte problemă de programare pătratică. care are la bază pricipiul de optimalitate al lui Bellman (Kaufmann. Programarea liniară permite rezolvarea unei game largi de probleme cu un efort redus.1.1) dacă f ( x * ) ≤ f ( x ) . Prin schimbarea Dacă toate funcţiile gi(x) care dau restricţiile sunt liniare şi funcţia obiectiv este liniară. Fenomenele de aşteptare se optimizează cu modele de aşteptare care dau informaţii asupra organizării sistemului în vederea reducerii timpilor de aşteptare în sistem. Toate aceste modele fac obiectul acestei lucrări. Management Scientist (MS).

procesul se repetă obţinându-se un şir de vectori x0. Teoria iniţială a optimizării s-a concentrat asupra obţinerii rezultatelor teoretice. de dimensiune medie (între 5 şi 100 de variabile sau restricţii) şi de dimensiuni mari (cu peste 100 de variabile şi restricţii). Teoria algoritmilor iterativi poate fi împarţită în trei părţi. 1989). analizează convergenţa unui algoritm către soluţia optimă atunci când se iniţializează cu un punct depărtat de soluţia optimă. numită şi analiza convergenţei globale. Algoritmi iterativi şi convergenţă Cea mai importantă caracteristică a calculatoarelor este capacitatea lor de a efectua operaţii repetitive într-un mod eficient şi din această cauză majoritatea algoritmilor de rezolvare a problemelor de optimizare sunt iterativi (Luenberger. …. Această clasificare reflectă nu numai diferenţe de dimensiuni. Problemele de dimensiuni medii pot fi rezolvate pe un calculator. Lucrarea de faţă argumentează convergenţa majorităţii algoritmilor prezentaţi. În problemele de programare liniară soluţia se obţine după un număr finit de paşi. Este esenţial când se recomandă un algoritm să se menţioneze şi o estimare a timpului necesar pentru obţinerea soluţiei.16 Modele şi algoritmi de optimizare 1. Acest şir converge către x* . Dimensiunea problemelor care pot fi rezolvate a crescut o dată cu dezvoltarea teoriei şi a tehnicilor de calcul.2. xk. …. algoritmul se opreşte când s-a obţinut un punct suficient de aproape de soluţie. Se pot distinge acum trei categorii de probleme: de dimensiune redusă (cu cel mult 5 variabile sau restricţii). Prima parte se ocupă cu crearea de algoritmi. dar şi de abordare. dar converge către ea. 1. Astfel problemele de dimensiuni mici pot fi rezolvate de mână sau cu un calculator de buzunar. Abordările recente se axează pe exploatarea caracteristicilor calculatoarelor. fiecare îmbunătăţind valoarea funcţiei obiectiv. Dimensiunea problemelor O măsură a complexităţii problemei de programare este dimensiunea acesteia exprimată prin numărul de necunoscute şi de restricţii (Luenberger. . 1989). 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.1. x1.2. obţinând soluţia prin metode iterative. Cea de-a treia componentă se numeşte analiza convergenţei locale şi studiază rata de convergenţă a şirului către soluţia optimă. Practic. ignorând aspectele de calcul ale metodelor propuse. În probleme de programare neliniară şirul nu atinge niciodată soluţia. În căutarea unei soluţii se alege un vector iniţial x0 şi algoritmul determină un vector x1 care conduce la o valoare mai bună a funcţiei obiectiv. faţă de precedentul.2. A doua parte. soluţia problemei.

Grafuri orientate Definiţia 2. individul 4 îl apreciază pe individul Figura 2.2. (4.. 2).1. b) ordinea lucrărilor într-un şantier. uk ui ∈ U . Definiţii şi algoritmi 2. extremitatea finală (extremitatea). 4 (4. Se numeşte graf orientat o pereche de mulţimi G=(X. y ∈ X . k − 1 . iar indivizii 3 şi 4 se apreciază reciproc. 1995).2. (3. iar y. x se numeşte extremitatea iniţială (originea) a arcului. . i = 1. 3 individul 2 nu îl apreciază pe individul 1.1. iar U este o mulţime formată din perechi ordonate (x.1. iar arcele sunt drumurile.1.. 4} . Se numeşte drum într-un graf orientat un şir de arce D = u1 . y ) ∈ U .y). x. Grafurile permit modelarea unui număr mare de situaţii (Henry-Labordere... Exemple de grafuri: a) o reţea rutieră (cu drumuri având sens unic) – vârfurile sunt intersecţiile.1 2. U={(1. Definiţia 2. 3. 3)}. unde: X este o mulţime finită şi nevidă. numită mulţimea arcelor (muchii). 2).1. 2. ale cărei elemente se numesc noduri (vârfuri) . Dacă ( x. Grafic se poate reprezenta ca în Figura 2. 4) . i = 1. 2 c) relaţiile stabilite între indivizi (situaţie întâlnită în psihologia de grup) – 1 de exemplu: X={1. GRAFURI ÎN OPTIMIZARE 2. Individul 1 îl apreciază pe individul 2. k − 1 cu proprietatea că extremitatea finală a arcului ui { } coincide cu extremitatea iniţială a arcului ui+1 .U).

Fie A ⊂ X şi UA={u∈U astfel încât cele două extremităţi ale lui u să fie în A} . a cărui orientare este astfel încât fiecare vârf al său cu excepţia unuia singur. UA) se numeşte subgraf al lui G. Definiţia 2. Fie G=(X. Se numeşte gradul lui x şi se notează cu d(x) numărul d +(x)+ d − (x). GA =(A.U) un graf orientat şi A⊂X. Graful se numeşte tare conex dacă pentru orice perechi de vârfuri x. 2. y ∈ X există un drum din x plecând la y . Un circuit format dintr-un singur arc se numeşte buclă. Se numeşte arborescenţă un graf tare conex şi fără cicluri.5. Definiţia 2. Definiţia 2.18 Modele şi algoritmi de optimizare Dacă extremitatea finală a arcului uk coincide cu extremitatea iniţială a arcului u1 atunci drumul se numeşte circuit. drumul se numeşte elementar. .1 (1. Fie G=(X. (d(x)=d +(x)+ d − (x)). x)∈U .6. iar (1. Un nod x dintr-un graf orientat G se numeşte precedentul altui nod y din G dacă există arcul (x. 2. U ′) se numeşte graf parţial al lui G. y ) ∈ U . Un nod x dintr-un graf orientat G se numeşte 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 numeşte descendentul altui nod x din G dacă există un drum de origine x şi extremitate y. 4. 3) nu este drum. Un nod y dintr-un graf orientat G se numeşte succesorul altui nod x din G dacă există arcul (x. 3) este un drum. În Figura 2. Se numeşte gradul interior al lui x şi se notează d − (x) numărul de noduri precedente lui x. numit rădăcină. Arcul u ∈ U este incident mulţimii A spre interior dacă este incident spre exterior mulţimii A = X − A . este extremitatea terminală a unui arc şi numai unul. orientat. G ′ = ( X . Arcul u ∈ U este incident mulţimii A spre exterior dacă extremitatea sa finală aparţine lui A.7. y ) ∈ U . Exemplu.3. Definiţia 2. iar extremitatea iniţială nu aparţine lui A. Definiţia 2.4. y)∈U sau (y. Vârful y este adiacent vârfului x dacă (x. Se numeşte gradul exterior al lui x şi se notează d +(x) numărul de noduri succesoare lui x.U) un graf orientat şi fie U ′ ⊂ U . Dacă nodurile arcelor drumului sunt distincte două câte două.

. Dacă u = (x. Grafuri neorientate Definiţia 2. y) cu x.12.8. G=(X. se Definiţia 2. fără bucle. U) căruia i se asociază o funcţie l : U → R + numită ponderea arcelor...11. x )∈ U . G=(X.9. Definiţia 2.. • fiecărui arc u ∈ U îi este asociat un număr l (u ) ≥ 0 numit capacitatea arcului u .1. numit destinaţia reţelei. U). Un graf neorientat. 2. şi care nu are ascendenţi. unde: X este o mulţime finită şi nevidă. Se numeşte graf ponderat sau valuat şi se notează G=(X. ( x.10. Vârfurile x1 .. k { } cu proprietatea că oricare două vârfuri consecutive sunt adiacente. Într-un graf neorientat. iar U este o mulţime de perechi neordonate (x. U. în care. Dacă x1. cu proprietăţile următoare: • există un nod x0 unic. y ∈ X avem ( x. i = 1. xi +1 )∈U . şi care nu are descendenţi. adică (xi . • există un nod xf unic. G=(X.y) = capacitatea tronsonului de drum (x. b) l(x. i = 1.U).2. xk xi ∈ X . Un graf G=(X..2. lanţul se numeşte elementar. numit originea reţelei. k − 1 . Definiţia 2. iar numărul de muchii care intră în componenţa sa se numeşte lungimea lanţului. Se numeşte graf neorientat şi se notează G=(X. l) un graf (X. Exemple: a) l(x. y∈X . x şi y se numesc extremităţile muchiei u.U). iar elementele lui U se numesc muchiile (arcele) grafului..y) = lungimea tronsonului de drum. (x. Elementele lui X se numesc vârfurile (nodurile) grafului. Se numeşte reţea de transport un graf orientat.. y )∈ U . Definiţia 2. se numeşte lanţ o mulţime de vârfuri L = x1 .y). U). y ) ∈ U .. xk se numesc extremităţile lanţului. y ) ∈ U atrage ( y. se numeşte graf complet dacă pentru (∀ )x. xk sunt distincte două câte două. altfel se numeşte neelementar.U) o pereche de mulţimi. Grafuri în optimizare 19 Definiţia 2.13. dacă numeşte graf simetric.y) care uneşte localităţile x şi y.

Un graf G=(X.17. . Se disting la un arbore două tipuri de vârfuri : vârfuri la care mai multe muchii sunt incidente şi alte vârfuri la care o singură muchie este incidentă. un lanţ k şi muchiile (x1.15. Un lanţ. (xk- xk) sunt distincte două câte două. Să notăm cu elementelor lui X).2.. xk xi ∈ X . y )∈( x1 . 2. Acestea din urmă se numesc vârfuri pendante sau frunze. în cadrul metodei PERT. U.. benzi rulante. O astfel de problemă apare în proiectarea reţelelor de comunicaţii.. Se numeşte ponderea unui lanţ. l) un graf conex (ipoteză necesară pentru a asigura existenţa cel n = X (numărul puţin a unui arbore) ponderat neorientat. unde obiectivul este să se minimizeze lungimea cablului necesar conectării tuturor nodurilor care trebuie să comunice între ele.20 Modele şi algoritmi de optimizare Definiţia 2.U) se numeşte simplu conex sau conex dacă pentru orice pereche de vârfuri x. Un lanţ. drum. Se numeşte ciclu într-un graf L = x1 .. drum. În continuare sunt prezentaţi doi algoritmi care rezolvă această problemă. adică. De exemplu. Căutarea unui arbore de acoperire de lungime minimă Fie G=(X. ciclu sau circuit se numeşte eulerian dacă el trece o dată şi numai o dată prin toate arcele grafului. în proiectarea reţelelor de drumuri.U).. y ) . ciclu sau circuit valoarea P= ( x . ciclu sau circuit se numeşte hamiltonian dacă el trece o dată şi numai o dată prin toate vârfurile grafului. Definiţia 2. folosind arce ale grafului să se lege între ele toate nodurile astfel încât lungimea totală a arcelor folosite (suma ponderilor) să fie minimă. x 2 . Definiţia 2. sisteme de canalizare etc. Se pune problema găsirii arborelui de acoperire de lungime minimă. .14.16.18. .. Definiţia 2.. y ∈ X există un lanţ de extremităţi x şi y . Definiţia 2. drum. x2). Un arbore este un graf conex şi fără cicluri.. { } cu proprietatea că x =x 1 G=(X. i = 1... ponderea unui drum este durata sa totală. x n ) ∑ l ( x. k 1.

ceea ce contrazice faptul că V≠Vn−1 este arborele de lungime minimă. vk – muchia de lungime cea mai mică dintre cele rămase astfel încât Vk−1 ∪vk să nu formeze ciclu până când k=n−1 . Exemplu. Se consideră v1 – muchia de lungime cea mai mică. Rezultă astfel că Vn−1 este arborele minim. Pas 3. Apoi v2 – muchia de lungime cea mai mică dintre cele rămase şi se notează V2={v1. Pas 2. Vom presupune că graful G are lungimile muchiilor diferite două câte două (dacă u≠v . Din construcţia lui Vk . un arbore şi lungimea sa este inferioară aceleia a lui V . Fie V≠Vn−1 arborele minim şi să presupunem că are cele n−1 muchii ordonate astfel încât lungimile lor sunt în ordine crescătoare la fel ca şi cele ale lui Vn−1 şi că uk este prima muchie a lui V care nu este în Vn−1 . U. Să se construiască un arbore de acoperire de lungime (pondere) minimă. Deoarece lista muchiilor lui V este ordonată crescător după lungimile muchiilor l(uk)≤l(up). Pe arce sunt trecute ponderile. l) un graf conex ponderat neorientat. v2} . Vn−1 Vn v1 v1 v2 v2 … … vk−1 vk−1 vk uk vk+1 uk+1 … … vp up … … vn un l(v1)<l(v2)<…< l(vk−1) V ∪vk conţine un singur ciclu (graful este conex şi dacă se adaugă o muchie el va conţine un singur ciclu şi numai unul). {Vn−1 este un graf de n−1 muchii şi nu are cicluri}. Grafuri în optimizare 21 2. Fie G=(X. Algoritmul Kruskal Pas 1.1. u. avem de asemenea l(vk)<l(uk) deoarece vk≠uk. X = 5 şi U = 7 .2. folosind algoritmul lui Kruskal. Acesta este. 1995).2. Demonstrăm prin absurd că Vn−1 este arborele minim căutat (HenryLabordere. Graful V∪vk− up are n−1 muchii şi este fără cicluri deoarece suprimarea lui up înlătură singurul ciclu al lui V∪vk . şi atunci l(vk)<l(up). . aşadar. Repetă k :=k+1 . Algoritmul lui Kruskal Algoritmul lui Kruskal permite căutarea unui arbore de acoperire de lungime minimă. Acest ciclu conţine cel puţin o muchie up∉ Vk−1 . k :=2 .2. atunci l(u)≠l(v) ). vk nu creează un ciclu cu Vk−1. v – muchii. ca în Figura 2. Stop.

3])+ l([1.3] = min { l (v)} ) şi care adăugată la V2 să nu formeze cicluri.3 10 Figura 2.2. 2.5]. l) şi.5]}. nu cere ca ponderile a două muchii diferite să fie diferite. Algoritmul lui Prim Algoritmul lui Prim determină arborele de acoperire de lungime minimă într-un graf conex ponderat G=(X. χ n ) .4]} deoarece l ([3.22 Modele şi algoritmi de optimizare 16 15 2 17 3 1 16 14 19 18 4 5 14 5 2 1 15 3 10 4 Figura 2. χ 2 .2])=10+14+15+16=55 .5])+ l([1. [1.4].2... v2=[2. [2. [1. Se obţine v∈U −V1 V2={[3.3]. [2.5].2 Pas 1. 1≤ i≤ 7 Pas 2. Se obţine v∈U −V2 V3={[3. Se alege din U-V2.3) şi lungimea minimă a arborelui găsit Lmin=55.5] = min {l (v)} ) şi care adăugată la V1 să nu formeze cicluri. [1. U. k=4.2]. muchia cu cea mai mică pondere ( l[2.4]) = min{l (vi )} .5].4])+ l([2.2]} arborele de lungime minimă. k=3. muchia cu cea mai mică pondere ( l[1. Lungimea minimă a grafului este Lmin=l([3. k=2. Se notează nodurile lui G cu numere de la 1 la n . [2. Se alege din U-V1. Se obţine V4={[3. Se consideră V1={v1=[3.3]}. v3=[1. Algoritmul se încheie furnizând arborele de acoperire de lungime minimă V4 (Figura 2.4]. Dintre muchiile rămase cea care are pondere minimă şi care nu formează cicluri prin adăugare la V3 este [1.. cu componentele .3]. spre deosebire de algoritmul lui Kruskal. Sunt folosiţi trei vectori de dimensiune n astfel: χ = ( χ 1 .4]..

..3]). cu componentele ci = ⎨ pentru nodul iniþial ⎩0 pentru i = 1. p n ) . c = (c1 . cu componentele pi = ⎨ ⎩0 pentru nodul iniþial ⎧l ([i. A={ s } arborele parţial. s=1. Stop! i =1 n cj=l([i. Exemplu.. ⎧ j dacã muchia [i. pi ]) ponderea muchiei [i..j]) . A={1} nodul χ 1 1 0 0 2 0 0 0 3 0 0 0 4 0 0 0 5 0 0 0 p c Pas 2. j ] este în arbore p = ( p1 .j]. Se iniţializează cu 0 cei trei vectori. n . Se dă nodul de start s ( 1 ≤ s ≤ n ) şi χ s = 1 . Să se aplice algoritmul lui Prim grafului din exemplul precedent. l([1.i] . pj=i şi până când χ i = 1 (∀) i = 1. Arborele de acoperire de lungime minimă este dat de muchiile [pi.. Grafuri în optimizare 23 χi = ⎨ ⎧1 dacã nodul iniþial i este în arbore ⎩0 altfel . Iteraţia I: min{l([1. Repetă Determină muchia [i. c n ) . pi ] .2]). c 2 .3])=15 nodul χ 1 1 0 0 2 0 0 0 3 1 1 15 4 0 0 0 5 0 0 0 p c . Atunci χ j = 1 . l([1.2.4])}= l([1. p 2 . Pas 3. iar lungimea minimă este Lmin = ∑ ci . Algoritmul furnizează arborele de acoperire de lungime minimă prin înlocuirea muchiilor unui arbore oarecare obţinut cu vârfurile grafului G cu muchiile arborelui de lungime minimă.. care are o extremitate în arborele parţial. Pas 2. i ∈ A şi cealaltă j ∈ X − A .. n .. cu ponderea minimă. Pas 1. Algoritmul Prim Pas 1.

5]) }= l([2. Problema găsirii arborelui de acoperire de lungime minimă este rezolvată în Management Scientist de modulul Minimal Spanning Tree (arbore de acoperire de lungime minimă).4])=10 nodul χ p c 1 1 0 0 2 0 0 0 3 1 1 15 4 1 3 10 5 0 0 0 Iteraţia a III-a: min{ l([1. l([3.2])=16 nodul χ p c 1 1 0 0 2 1 1 16 3 1 1 15 4 1 3 10 5 0 0 0 Iteraţia a IV-a: min{ l([2.4 şi se trece la pasul următor. Pas 3. Figura 2.2].5]) }= l([3. l([3. Arborele de acoperire de lungime minimă este {[1.4 . l([1. i = 1. Pentru aplicarea acestui modul exemplului de mai sus se procedează astfel. l([3.5])}= l([1. [3.4]} şi are lungimea Lmin=55 . După lansarea pachetului de programe se selectează modulul Minimal Spanning Tree ca în Figura 2.2]). [2. l([3. [1.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 .4.5]).2]).4]) .24 Modele şi algoritmi de optimizare Iteraţia a II-a: min{ l([1.4]). l([3.2]). l([3.3].5].2]).

New. Este necesar să se determine drumul cel mai „scurt” dintre două noduri oarecare ale reţelei rutiere. (Henry-Labordere.2. Solve. dacă lungimile tuturor arcelor sunt nenegative. de aici. . Rezultatele sunt date de Figura 2. numărul de muchii şi apoi muchiile şi ponderile lor. Acest tip de problemă se mai întâlneşte şi în proiectarea reţelelor de calculatoare.l). Figura 2.6 . 1995). Algoritmul lui Dijkstra Se pune adesea problema determinării unui plan de transport printr-o reţea rutieră (de transport) astfel încât cheltuielile de transport sau duratele de transport să fie minime.5 în care se introduc numărul de noduri.5 Pentru rezolvare şi afişarea rezultatului se selectează Solution şi.3. Apar succesiv ferestrele din Figura 2. Algoritmul lui Dijkstra permite calcularea lungimilor celor mai scurte drumuri de la un vârf s la toate vârfurile x ale unui graf conex G=(X. Figura 2. în stabilirea traseelor mijloacelor de transport în comun etc.U. de aici.6 2. Grafuri în optimizare 25 După apăsarea butonului OK apare o fereastră din care se selectează File şi.

până când S=X sau ∏(y)=∞. ∏(s) :=0 . Dacă graful este neorientat Γ + (x) = Γ − ( x) = Γ( x) = mulţimea arcelor incidente în nodul x. Pentru z ∈ Γ + ( y) ∏(z) :=min {∏(z).x) altfel ∏(x) :=+∞ . ∏(y)+l(z. Se observă că valorile ∏(z) rămân nemodificate pentru z ∈ S . Pas 3. Pentru orice x ∈ X − S dacă x ∈ Γ(s ) atunci ∏(x) :=l(s. z∉S def Dacă ∏(y)<∞ atunci S := S ∪ { y} . Atunci. Rezolvare. Algoritmul Dijkstra Pas 1. Exemplu.26 Modele şi algoritmi de optimizare Fie ∏(x) lungimea celui mai scurt drum de la s la x . s nodul de start. care are toate vârfurile în S cu excepţia lui x }. ∏(x) = {lungimea celui mai scurt drum de la s la x .7 sunt date 7 localităţi numerotate de la 1 la 7 şi timpul (în ore) necesar parcurgerii distanţei pe arterele care le leagă. {Iteraţia curentă} Repetă Determină y ∈ X − S astfel încât ∏(y) = min ∏(z) . Să se determine ruta pe care se realizează timpul minim între localităţile 1 şi 7. iar cu Γ − (x) = { mulţimea arcelor care intră în nodul x}. Se notează cu Γ + (x) = {mulţimea arcelor care pornesc din nodul x}.7. 4 1 1 2 5 3 4 9 2 2 5 6 7 1 7 2 4 3 6 Figura . Pas 2. În Figura 2. {Iniţializări} S :={s} . Stop. Se aplică algoritmul Dijkstra grafului reprezentat de Figura 2.y)} . lucru ce poate fi exploatat în transpunerea pe calculator a algoritmului. Fie S mulţimea vârfurilor pentru care se calculează ∏.

2. Π (6). y=3.3+5}=5 ∏(5)=min{∏(5).3.4}. ∏(3)+l([3. z∈ X − S y=2.6])}=min{12.2.5}. ∏(2)+l([2. Iteraţia I . ∏(2)+l([2. ∏(6)=min{∏(6).7} .4. z∈ X − S Γ(5) = {3. S={1.5])}=min{5. ∏(4)+l([4. Π(5).5. Π (4).3+9}=12 y ∏(y) 1 0 2 1 3 5 4 3 5 5 6 12 7 ∞ Iteraţia a III-a {Π( y )} = min {Π( z )} = min{Π(3).3.6} .4. ∏(4)+l([3.4])}=min{5. Π(6). Π(6).6])}=min{∞.6. Π (5).3.6])}=min{8. Π(6). Γ(4) = {1.2])=1 ∏(3)=min{∏(3). y ∏(y) 1 0 2 1 3 ∞ 4 4 5 ∞ 6 ∞ 7 ∞ Pas 2. ∏(3)+l([3.2. Π(7)} = Π(3) . Grafuri în optimizare 27 Pas 1.6} . Π (5). Π(7)} = Π(5) . {Π ( y )} = min {Π ( z )} = min{Π(2). S={1.5.4])}=min{4.7])}=min{∞. Π(7)} = Π(4) .2. ∏(5)+l([5.4} .1+2}=3 y ∏(y) 1 0 2 1 3 5 4 3 5 ∞ 6 ∞ 7 ∞ Iteraţia a II-a Π( y ) = min {Π ( z )} = min{Π(3). s=1.2. Γ(2) = {1.5+6}=8 ∏(7)=min{∏(7). y=4. z∈X − S S={1.3.2}.3])}=min{∞.4}.5+7}=12 y ∏(y) 1 0 2 1 3 5 4 3 5 5 6 8 7 12 . z∈X − S Γ(3) = {2. ∏(4)+l([4.1+4}=5 ∏(4)=min{∏(4). S={1. Γ(1) = {2. ∏(3)=min{∏(3).5+3}=8 y ∏(y) 1 0 2 1 3 5 4 3 5 5 6 8 7 ∞ Iteraţia a IV-a {Π( y)} = min {Π( z )} = min{Π(5). ∏(5)+l([5. Π(7)} = Π (2) . S={1}. Π (4). ∏(2)=l([1.5+2}=5 ∏(6)=min{∏(6). Π(3).4} .5])}=min{∞.3+2}=5 ∏(6)=min{∏(6). y=5.4. ∏(5)=min{∏(5).

6}. Algoritmul se opreşte deoarece S=X. Figura 2.2].8+1}=9 y ∏(y) 1 0 2 1 3 5 4 3 5 5 S={1.28 Modele şi algoritmi de optimizare Iteraţia a V-a {Π( y)} = zminS{Π( z )} = min{Π(6).7} . Pentru rezolvarea problemei din exemplul precedent cu Management Scientist.2.4.3.9 .4.7])}=min{12. ∈X − S={1. după lansarea sistemului se selectează modulul Shortest Route (Figura 2. şi 2. Π(7)} = Π(6) . ∈X − Γ(6) = {3. Drumul cel mai scurt între nodurile 1 şi 7 se obţine din muchiile (marcate cu litere îngroşate) D={[1. ∏(7)=min{∏(7). Pentru nodurile din mulţimea S ∩ Γ( y ) nu s-au mai evaluat ∏(y).8 .2.6. y=6.5.3. 6 8 7 9 Iteraţia a VI-a {Π( y)} = zminS{Π( z )} = min{Π(7)} = Π(7) .3]. [2. y=7.7]} şi este de 9 ore. [6.8.4. În Management Scientist modulul Shortest Route determină cel mai scurt drum dintre două noduri ale reţelei şi precizează muchiile care realizează acest drum.7}.6].5.4) şi se introduc datele în ferestrele prezentate în Figurile 2.5. Vectorul ∏(y) conţine cele mai mici distanţe de la nodul 1 la celelalte noduri. ∏(6)+l([6. [3.

Figura 2.4. 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 realizării întregului proiect.10). 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 activităţi separate care necesită coordonare.2. asigurând controlul evoluţiei procesului şi atrage atenţia asupra acelor întârzieri în realizarea activităţilor care ar determina o întârziere în realizarea proiectului (Bonini et al. În realizarea unui proiect unele activităţi trebuie să aibă o anume succesiune. . Grafuri în optimizare 29 Figura 2.9 Rezultatele sunt afişate după selectarea din meniul Solution a opţiunii Solve (Figura 2. altele se defăşoară în paralel. 1997).10 2.

pentru o înţelegere mai uşoară. În Tabelul 2.1 Activitate Timpul necesar precedentă realizării (în zile). care poate fi determinist sau aleatoriu. Diagrama activităţilor este reprezentarea grafică a întregului proiect (graf orientat valuat). Talelul 2. Activităţile sunt arcele. Pentru prezentarea metodei se va considera un exemplu simplu în care duratele activităţilor sunt presupuse deterministe şi cunoscute. Exemplu.1 sunt trecute activităţile unui proiect şi duratele lor.30 Modele şi algoritmi de optimizare Sunt necesare două tipuri de informaţii pentru fiecare activitate din proiect: a) succesiunea activităţilor care preced o activitate. b) timpul necesar realizării activităţii. se vor nota activităţile şi duratele lor în noduri. ti Nici una 2 A 3 A 4 B. În acest exemplu.11 F 8 . Drumul critic este o mulţime de activităţi din proiect care are cea mai mare durată de timp asociată. săgeţile indicând succesiunea activităţilor.11. iar nodurile. momentele de început şi sfârşit ale activităţilor. Graful corespunzător este dat în Figura 2. C 6 Nici una 2 E 8 Activitate A B C D E F B3 A 2 START D 6 C 4 STO P E 2 Figura 2.

care pentru toate activităţile 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 până când toate activităţile care o preced nu s−au terminat. presupunând că toate activităţile sunt desfăşurate conform planului iniţial. Atunci TS=TF−tn . Pentru reducerea duratei totale a proiectului trebuie reduse duratele activităţilor incluse în drumul critic. Pentru ultima activitate se ia TF=DF al acestei activităţi. Drumul critic este cel care are cea mai mare durată. 3. Pentru prima activitate se ia DS egal cu zero. DF . Momentul cel mai târziu de începere a unei activităţi este diferenţa dintre cel mai târziu moment posibil de terminare a activităţii respective şi timpul necesar realizării acestei activităţi. Lungimea drumului critic determină timpul minim în care proiectul poate fi terminat. tn fiind timpul necesar realizării ultimei activităţi. l (EF)=10 zile. Momentul cel mai devreme de începere a unei activităţi este cel mai devreme moment posibil la care acea activitate poate să înceapă. Procedeu pentru determinarea momentelor DS . TS şi TF 1. Dacă se adaugă la DS timpul t necesar realizării primei activităţi se obţine DF pentru prima activitate. DFi – momentul cel mai devreme de terminare a activităţii i. TSi – momentul cel mai târziu de începere a activităţii i. 4. Se notează cu: DSi – momentul cel mai devreme de începere a activităţii i. Grafuri în optimizare 31 Sunt posibile doar trei drumuri: l (ABD)=11 zile . presupunând că toate activităţile care o preced au început la cel mai devreme moment posibil. Pentru o activitate oarecare i. şi anume ACD. 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. Momentul cel mai devreme de terminare a unei activităţi este suma momentului de început cel mai devreme posibil cu timpul necesar realizării activităţii respective. se ia TFi=min{TSk | activitatea k succede imediat activitatea i} şi TSi=TFi−ti. Aflarea drumului critic O cale de aflare a drumului critic este descrisă în continuare. 2. − orice întârziere în realizarea activităţilor de pe drumul critic va produce întârziere în realizarea proiectului. Pentru o activitate oarecare i. având pentru activităţile care o succed imediat determinate TS şi TF . l (ACD)=12 zile.2. TFi – momentul cel mai târziu de terminare a activităţii i. Momentul cel mai târziu de terminare a unei activităţi reprezintă cel mai târziu moment posibil de terminare a activităţii respective fără întârzierea proiectului.

DF. se pot calcula marjele ca fiind Mi= DSi – TSi sau Mi= DFi – TFi . apoi New şi se precizează faptul că duratele activităţilor sunt deterministe şi numărul acestor activităţi. TS. Figura 2. a unei activităţi reprezintă numărul de zile cu care o activitate poate întârzia fără ca termenul de încheiere al proiectului să fie afectat. Din fereastra care apare se selectează File.13. M.2 sunt trecute momentele DS. .12 Se afişează o fereastră în care se introduc duratele activităţilor şi activităţile care le preced imediat. Activităţile se codifică folosind literele alfabetului în ordine crescătoare. TF pentru toate activităţile. În schimb.32 Modele şi algoritmi de optimizare Marja. După lansarea pachetului de programe se selectează modulul PERT/CPM (Figura 2. O activitate care precede o alta trebuie să fie deja definită atunci când este definită ca precedenţă.2 Durata D DF S 2 0 2 3 2 5 4 2 6 6 6 12 2 0 2 8 2 10 Activitate A B C D E F TS 0 3 2 6 2 4 TF 2 6 6 12 4 12 M 0 1 0 0 2 2 Exemplul de mai sus poate fi rezolvat şi cu ajutorul pachetului de programe Management Scientist.12. fără ca termenul de finalizare a proiectului să se modifice. DF.4). În Tabelul 2. M şi TF pentru acest exemplu obţinute în urma aplicării procedeului de mai sus. activităţile care au marja pozitivă pot fi decalate cu un număr de zile egal cu marja. După determinarea valorilor DS. TS. ca în Figura 2. ca în Figura 2. atunci orice întârziere în realizarea unei activităţi incluse în drumul critic va cauza întârziere în finalizarea proiectului. Pentru exemplul de mai sus se consideră că proiectul durează 12 zile şi s-a luat TF pentru activitatea D egal cu 12. Dacă proiectul are termenul de finalizare egal cu lungimea drumului critic. Tabelul 2.

13 Selectând Solution. Figura 2. Se introduce astfel şi o funcţie de cost în luarea deciziei.2. se obţine soluţia sub forma dată de Figura 2. .14 S−au obţinut aceleaşi rezultate ca şi prin aplicarea procedeului descris mai sus. Analiza numai sub aspectul duratei poate fi completată cu costuri asociate activităţilor. Aceasta implică şi costuri suplimentare.14. Grafuri în optimizare 33 Figura 2. şi de aici Solve. De exemplu. durata unei activităţi poate fi redusă dacă se alocă resurse suplimentare.

45 0. Atunci.67 0. Tabelul 2. ale abaterilor medii pătratice şi ale dispersiilor. − bi – cea mai pesimistă durată pentru activitatea i. − mi – cea mai probabilă durată pentru activitatea i (modul repartiţiei). Un estimator pentru 1 valoarea medie a unei variabile aleatoare Beta(a.11 0.005 . ⎝ σ ⎠ ⎝ 1. adică σ ACD = 0. cele mai pesimiste.3. 14 zile).43 Dacă se presupune că duratele activităţilor sunt variabile aleatoare independente. sunt trecute duratele activităţilor cele mai optimiste.34 Modele şi algoritmi de optimizare În continuare se consideră cazul. 1. Se va considera şi în acest caz repartiţia duratei drumului critic ca fiind N (12.45 + 0. unimodală şi cu valori în intervalul (a. În practică se cunosc anumite date despre duratele activităţilor.45 0. astfel: ⎛T − µ ⎞ ⎛ 14 − 12 ⎞ P(T < 14) = F ⎜ ⎟ = F⎜ ⎟ = F (2) = 0. mai apropiat de realitate. folosind tabela repartiţiei normale standard. estimările duratelor medii.11 5.3 bi mi ti 3 5 6 8 3 15 2 3 4 6 2 8 2 3 4 6 2 8 Activitate A B C D E F ai 1 1 2 4 1 1 σi 0.33 0.b).45 0.67 0. Se caută drumul critic cu duratele activităţilor ti şi se obţine acelaşi drum critic (duratele medii ti coincid cu duratele activităţilor în cazul determinist).67 0.33 2.01 = 1. în Tabelul 2.11 + 0. cele mai probabile (ca rezultat al experienţelor anterioare).977 .b) este t = (a + 4m + b ) şi 6 1 pentru abaterea medie standard σ = (b − a ) .005) şi atunci se poate să se determine probabilitatea ca durata drumului critic să fie mai mică decât o valoare (de exemplu. Repartiţia Beta(a.b) ar putea caracteriza aceste durate deoarece este o repartiţie continuă. atunci dispersia drumului critic ACD este suma dispersiilor activităţilor 2 componente.33 σ i2 0. iar abaterea medie standard este σ ACD = 1. 6 Pentru exemplul precedent. Dacă drumul critic conţine multe activităţi (peste 30) durata totală poate fi considerată repartizată normal.45 = 1. cum ar fi: − ai – cea mai optimistă durată pentru activitatea i.01 . când duratele activităţilor sunt aleatoare. trebuie să se cunoască despre aceste variabile aleatoare care sunt densităţile lor de probabilitate.005 ⎠ .

iar muchiile.16 sunt prezentate cele 5 centre şi serverul central (în noduri).5]. Arborele de acoperire . Lmin=22 .5. [5.3].15 prezintă străzile şi distanţa dintre şantiere şi sediul firmei. străzile. [6. iar muchiile reprezintă traseele posibile şi lungimile cablurilor între server şi centrele firmei. obţinută pe traseul D={[1. Reţeaua arătată în Figura 2. Nodurile reprezintă şantierele numerotate de la 1 la 6. Probleme propuse 1. [3.15 2 6 4 5 7 6 Sediul firmei (1) R. Numerele de pe muchii reprezintă distanţa în kilometri. utilaje. 2. Să se stabilească legăturile care să conducă la cel mai mic cost (lungimea totală a cablurilor să fie minimă). Transportul zilnic de oameni. În Figura 2. Dacă se doreşte minimizarea distanţei dintre sediul firmei şi şantierul 6. materiale de la sediu la şantiere şi invers este destul de costisitor.6].2.16 4 4 3 3 3 5 1 R. Deoarece liniile sunt scumpe. 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. care este drumul care trebuie parcurs şi lungimea sa? 17 15 2 6 3 4 10 4 3 5 Figura 2. Grafuri în optimizare 35 2. 2 4 2 5 4 3 Serverul central (1) 4 2 6 Figura 2.7]} . proprietarul doreşte ca lungimea totală a cablurilor folosite să fie minimă. O firmă de construcţii are şantiere în 6 locuri diferite.

iar lungimea minimă a cablurilor este de Lmin=11.) sunt trecute pe muchiile acestui graf.4].3].4 .36 Modele şi algoritmi de optimizare de lungime minimă este dat de muchiile {[1.18 Costurile (lucrărilor propriu-zise. 3 1 3 1 4 2 3 5 6 2 2 Figura 2.17 3. 4. de expropriere. 14 şi costă 19 u. [4. R. Tabelul 2. 9. Traseul de cost minim care leagă localitatea 1 de localitatea 14 trece prin localităţile 1.5]} (Figura 2. 1967).17). 12. Să se stabilească traseul autostrăzii care uneşte localităţile 1 şi 14 şi care să implice costuri minime (Kaufmann.6].4. Fie un proiect ale cărui date sunt trecute în Tabelul 2. sociale etc. [4. m (unităţi monetare). Trebuie să se construiască o autostradă care să treacă prin apropierea localităţilor notate în Figura 2. lucrărilor de artă. 8 3 11 2 5 8 2 1 3 4 6 6 7 4 3 9 4 6 9 5 8 11 9 3 2 9 5 12 6 8 5 13 4 3 14 7 10 11 Figura 2.2]. [4.18 cu numere de la 1 la 14. 3. 5. [1.

A B4 E4 C D Figura 2. În problema 4 se consideră că timpul necesar realizării activităţii C este de 9 zile. B. TF pentru fiecare activitate. E Timpul necesar realizării (în zile). Tabelul 2. TS. b) Să se calculeze DS. . F. Grafuri în optimizare Activitate A B C D E F Activitate precedentă Nici una A Nici una B. presupunând că DF şi TF pentru ultima activitate coincid. C B D. R. Durata proiectului este de 15 zile. c) Să se precizeze activităţile incluse în drumul critic.2.19 F2 b) În Tabelul 2.19.5 sunt trecute valorile corespunzătoare. a) Diagrama grafului asociat este dată în Figura 2. DF.5 DS DF 0 5 5 9 0 7 9 12 9 13 13 15 Activitate A B C D E F TS 0 5 3 10 9 13 TF 5 9 10 13 13 15 c) Drumul critic este format din activităţile A. ti 5 4 7 3 4 2 37 a) Să se traseze diagrama grafului asociat proiectului. 5. E.

6 Activitate Descriere activitate precedentă Proiectul de arhitectură Nici una Identificarea chiriaşilor potenţiali Nici una Dezvoltarea prospectului A Selectarea antreprenorului A Pregătirea autorizaţiei de A construcţie Obţinerea autorizaţiei de E construcţie Construcţia D. iar creşterea duratei este doar de 2 zile. . F şi durata proiectului este de 16 zile.7 Activităţi precedent ai e – 2 – 6 A 1 C 1 B 6 Activitate A B C D E bi 6 10 15 9 10 mi 4 8 5 5 8 unde: − ai – cea mai optimistă durată pentru activitatea i. 7.C chiriaşii Instalarea chiriaşilor G.7 Tabelul 2.6 . b) Da.38 Modele şi algoritmi de optimizare a) Să se precizeze dacă se modifică drumul critic în acest caz. Tabelul 2.H Activitate A B C D E F G H I Timpul necesar Realizării (în săptămâni). Se consideră un proiect având datele despre activităţi trecute în Tabelul 2. 6. I. iar durata minima a iniţiativei este de 26 săptămâni. Un depozit angro doreşte să se modernizeze şi să se extindă. E.F Finalizarea contractelor cu B. a) Nu. D. deoarece activitatea C are o marjă de 3 zile. Activităţile critice sunt A. F. şi drumul critic este compus din activităţile C. b) Dar dacă activităţii C îi sunt necesare 11 zile. Să se stabilească durata minimă şi care sunt activităţile critice ale acestei iniţiative. se modifică drumul critic? R. ti 5 6 4 3 1 4 14 12 2 R. Activităţile necesare sunt trecute în Tabelul 2. − bi – cea mai pesimistă durată pentru activitatea i. G.

8. . a) Media duratelor şi dispersia sunt trecute în Tabelul 2. a) Să se calculeze timpul mediu ti şi dispersia σ i2 pentru timpul necesar realizării fiecărei activităţi. ⎛ 16 − 15 ⎞ P(TACD < 16) = F ⎜ ⎟ = 0.78 0.94 .44+0.67 .44=0. ⎝ 2 ⋅ 77 ⎠ Pentru drumul BE dispersia este de 0.44+5.64 .20 A4 C6 D5 STAR STO B8 Figura 2.2. să se calculeze probabilitatea ca durata drumului ACD să fie mai mică decât 16 zile. Grafuri în optimizare 39 − mi – cea mai probabilă durată pentru activitatea i (modul repartiţiei).20 E Lungimea drumului critic este 16 zile.44 b) Diagrama asociată grafului este dată de Figura 2. Care este lungimea medie a drumului critic? c) Presupunând că duratele activităţilor drumului critic sunt independente şi că durata drumului critic este repartizată normal.77 .8 Activitate ti σ i2 A B C D E 4 8 6 5 8 0.44 0. Tabelul 2.44+1.44 5. b) Să se traseze diagrama grafului asociat.44 1.78=7. d) Care este probabilitatea ca proiectul să se termine în mai puţin de 16 zile ? R.88 . c) Pentru drumul ACD lungimea medie este 15 zile. iar dispersia este 0. iar abaterea medie pătratică este 2. iar abaterea medie pătratică este 0.

50. ⎝ 0.40 Modele şi algoritmi de optimizare ⎛ 16 − 15 ⎞ P (TBE < 16) = F ⎜ ⎟ = 0.94 ⎠ .

TF şi marja pentru fiecare activitate. Restricţiile impuse de ordinea acţiunilor: − excavarea nu poate începe decât dacă: – utilajele au fost livrate. c) Să se precizeze lungimea drumului critic şi activităţile incluse în drumul critic.9 sunt date duratele şi condiţionările acţiunilor acestui proiect.2. C C Timpul necesar realizării (în luni). B4 D5 STAR A1 STO C8 Figura 2. DF. În Tabelul 2. Tabelul 2.50 = 0. TS. ti 10 4 8 5 6 a) Să se traseze diagrama grafului asociat proiectului.9 Activitate A B C D E Activitate precedentă Nici una Nici una Nici una A.21 E6 . – conductorii de utilaje au fost angajaţi.21.32 . Grafuri în optimizare 41 d) Probabilitatea ca durata proiectului să fie mai mică de 16 zile este P (T proiect < 16 ) = 0. b) Să se calculeze DS. R. 8. a) Diagrama este dată de Figura 2. presupunând că DF şi TF pentru ultima activitate coincid. B.64 ⋅ 0. Exploatarea unei cariere implică următoarele acţiuni: − construirea drumurilor de acces (A) − cumpărarea şi livrarea utilajelor de excavare pentru înlăturarea zonei fertile (B) − angajarea de personal: conductori de utilaje şi mineri (C) − adâncirea excavaţiei (D) − pregătirea minerilor angajaţi în mineritul de suprafaţă (E).

I. duratele: cea mai optimistă. . E. cea mai probabilă 17 şi cea mai pesimistă 19. H. Tabelul 2. D şi are lungimea 15. Pentru aceasta iniţiază un proiect ale cărui activităţi şi durate sunt trecute în Tabelul 2. I Durata realizării (în săptămâni) cea mai cea mai cea mai pesimistă probabilă optimistă 4 1 2 3 2 1. R.5 1 5 1.5 3 4 3 2 3 3.28 . cea mai probabilă şi cea mai pesimistă de realizare a acestui proiect.10.72 .5 1.10.11 Activitate Descriere activitate Proiectarea produsului Cercetarea pieţei de defacere Stabilirea procesului tehnologic Construirea prototipului Pregătirea broşurii cu instrucţiuni de folosire Estimarea costurilor Testarea prototipului Inspectarea pieţei Stabilirea preţului şi estimarea vânzărilor Raportul final Activitate precedentă Nici una Nici una A A A C D B. G. E H F.5 2.5 2. Tabelul 2.5 3 A B C D E F G H I J Să se precizeze activităţile critice.5 1.11 .5 7.5 4.5 2 2 12 5 4 11 4 2. DS DF 0 10 0 4 0 8 10 15 8 8 Activitate A B C D E TS 0 6 2 10 15 TF 10 10 10 15 15 M 0 6 2 0 7 c) Drumul critic conţine activităţile A. 9.42 Modele şi algoritmi de optimizare b) Valorile cerute sunt conţinute în Tabelul 2. Activităţile critice sunt A. O firmă producătoare de aspiratoare îşi propune să introducă în fabricaţie aspiratoare portabile. J şi duratele cea mai optimistă 14.

Fie Ki .1. Mulţimea punctelor xθ date de (3. Definiţia 3. x m ∈ K . o dreaptă. o bilă închisă de centru a şi rază r. Mulţimi şi funcţii convexe În acest capitol sunt prezentate câteva noţiuni şi rezultate (Fletcher. m mulţimi convexe. în general: (∀ )x 0 . x n } . PROGRAMARE CONVEXĂ 3. i=1..n (R ) . Lema 3. i =0 m (∀)θ i ∈ [0. un hiperplan (adică ⎨ x ∈ R n ∑ ai xi = b ⎬ ). atunci (∀ )x 0 . x1 etc.m. Fie x 0 . Exemple de mulţimi convexe: mulţimea formată dintr-un singur punct. xθ din Definiţia 3..2) Definiţia 3. un semiplan i =1 ⎩ ⎭ n ⎧ ⎫ (adică ⎨ x ∈ R n ∑ ai xi ≥ b ⎬ ).1] şi ∑θ i =0 m i =1 (3.….. . O mulţime K ⊂ R n se numeşte convexă dacă (∀)θ ∈ [0. x* vârful conului) etc. n ⎧ ⎫ un segment de dreaptă.. Definiţia 3.1) xθ = ∑ θ i x i ∈ K .2) se numeşte înfăşurătoarea convexă a mulţimii {x 0 . A ∈ M m . x n ∈ K ..3. Atunci K = I K i este tot o i =1 m { ( ) } mulţime convexă.2....1. ⎪ ⎪ i =1 ⎩ ⎭ { } un con ( C = x ∈ R n A x − x * ≥ 0 .. atunci xθ = (1 − θ )x 0 + θ x1 ∈ K sau.. x1 ∈ K şi (3. i =1 ⎩ ⎭ n ⎧ ⎫ ⎪ ⎪ 2 Br (a) = x ∈ R n x − a 2 ≤ r = ⎨ x ∈ R n ∑ (xi − ai ) ≤ r ⎬ .. II.1. x1 . 1] .2. 1981) pe care se bazează metodele şi algoritmii următoarelor trei capitole.3.1 se numeşte combinaţia liniară a punctelor x0. . x1 . x1 .

Fie K ⊂ R n . punctele circumferiţei unui cerc sunt puncte de extrem pentru poligon.6. (∀ )θ ∈ [0. Funcţia f este convexă dacă d 2 f ( x 0 ) este pozitiv semidefinită (Definiţia 6.1. 5 ′′ . x1 ∈ K are loc relaţia f ( x1 ) ≥ f ( x 0 ) + ( x1 − x 0 )' ∇f ( x 0 ) (3. o funcţie dublu diferenţiabilă pe K. iar ∇f este gradientul lui f. x1 ∈ K i pentru dat de (3. mulţime deschisă şi convexă în R n.1) cu restricţii liniare este o mulţime convexă. x se numeşte punct de extrem pentru K dacă. Funcţia f este convexă pe K dacă (∀ )x 0 . ( x1 − x 0 )′ ∇f ( x1 ) ≥ ′ f ( x1 ) − f ( x 0 ) ≥ ( x1 − x 0 ) ∇f ( x 0 ) (3. x1 ∈ K şi θ ∈ (0.4’) . x1 ∈ K are loc relaţia f ((1 − θ ) x 0 + θ x1 ) ≤ (1 − θ ) f ( x 0 ) + θ f ( x1 ) . altfel spus. Definiţia 3.4. Definiţia 3.5’. respectiv disc. f se numeşte strict convexă dacă f ((1 − θ ) x 0 + θx1 ) < (1 − θ ) f ( x 0 ) + θ f ( x1 ) . atunci rezultă că x=x0=x1. 1) . atunci se poate da următoarea definiţie a funcţiei convexe. Exemple: vârfurile unui poligon regulat.5 şi 3.5. Definiţia 3. Definiţia 3. Fie Atunci xθ intersecţia lor. având x=(1−θ ) x0+θ x1 . Funcţia f se numeşte convexă dacă (∀ )x 0 . (3. (∀ )θ ∈ (0. sau.2) este în fiecare mulţime Ki . Fie f : K → R . o mulţime convexă. x nu cade în interiorul nici unui segment din K.2) pentru (∀ )x 0 ∈ K . o mulţime convexă şi f : K → R o funcţie continuă. 1] . Exerciţiu. (∀ )x 0 . Mulţimea punctelor admisibile într-o problemă de programare (1. x 0 .4) unde cu prim s-a notat transpunerea. Corolar 3. Definiţia 3. 1) . deci şi în Consecinţa 3. (∀) i = 1.44 Modele şi algoritmi de optimizare Demonstraţie.1.3) Dacă f este diferenţiabilă pe K şi K este deschisă.5) Cu alte cuvinte. Să se demonstreze echivalenţa Definiţiilor 3. m . x 0 ≠ x1 (3. x1 ∈ K . Fie K ⊂ R n . panta unei funcţii convexe este nedescrescătoare de-a lungul oricărei drepte. o mulţime convexă şi f : K → R o funcţie continuă. atunci rezultă că x 0 . Fie K ⊂ R n .5’.

8.2. Fie x1 . Demonstraţie. funcţiile pătratice 1 de forma f ( x ) = x ' Cx + c ' x + c 0 . atunci convexă pe K.3. i = 1.6) sau mulţimea soluţiilor admisibile (regiunea realizabilă) pentru problema de programare convexă (3. Consecinţa 3. m i ⎪ ⎩ unde: f şi gi sunt funcţii convexe pe Rn .3. o mulţime convexă şi f : K → R o funcţie continuă. Fie K ⊂ R n . atunci R (a) = { x ∈ R n g ( x ) ≤ a } este convexă. Dacă g = (g1 . o mulţime nevidă şi o funcţie f : K → R . Definiţia 3.. ..7. m .2. θ ∈ [0.6) este o mulţime convexă.6). Regiunea realizabilă R dată de (3. unde C este o matrice pozitiv semidefinită 2 (x’Cx≥0 . g n ) este convexă pe R n . m .2. o mulţime convexă şi funcţiile convexe f i : K → R . adică g ( xθ ) ∈ R ( a ) . { } ′ Lema 3. Fie K ⊂Rn.. Exemple de funcţii convexe: funcţiile liniare (sunt şi concave). ). convexitatea lui g avem g ( xθ ) ≤ (1 − θ ) g ( x 0 ) + θ g ( x1 ) ≤ (1 − θ ) a + θ a = a . f se numeşte concavă dacă –f este convexă şi f se numeşte strict concavă dacă –f este strict convexă. Fie K ⊂ R n . Dacă λi ≥ 0 . Mulţimea R se mai numeşte şi domeniul problemei de programare convexă (3. Extreme condiţionate Problema minimizării unei funcţii convexe f pe o mulţime convexă K se numeşte problema de programare convexă şi se poate scrie sub forma ⎧min f ( x ) ⎪ (3. 1] .. i = 1. Programare convexă 45 Definiţia 3. Lema 3.6) ⎨ x ∈ R = x ∈ R n g ( x ) ≤ 0 . Din Vom nota R (0) = R . f = ∑ λi f i i =1 m este o funcţie 3. x 2 ∈ R (a ) şi xθ = (1 − θ ) x 0 + θ x1 . i = 1.

Fie x* o soluţie locală pentru problema (3. Dacă f este strict convexă pe R . xθ se află în vecinătatea lui x şi inegalitatea de mai sus contrazice proprietatea de optim local a lui x*.46 Modele şi algoritmi de optimizare 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 * ) . nu pot exista două soluţii globale distincte în R pentru problema (3. dar nu globală. ( ) Teorema 3. au loc relaţiile f(x0)=f(x1) şi f ( xθ ) ≤ (1 − θ) f ( x0 ) + θf ( x1 ) = f ( x0 ) . Un minim global (local) pentru problema (3. este convexă.2. iar din convexitatea strictă a lui f avem f ( xθ ) < (1 − θ ) f ( x 0 ) + θf ( x1 ) = f ( x 0 ) = f ( x1 ) şi s-a obţinut o contradicţie. xθ = (1 − θ ) x 0 + θx1 . 1] se consideră xθ = (1 − θ ) x * + θ x1 ∈ R (din convexitatea lui R ). Deoarece x0 .1. Punctul x ∈ K este un maxim (minim) local sau relativ pentru f dacă (∃)r > 0 astfel încât pentru * ( ) (∀)x ∈ Br ( x* ) = {x ∈ R n x . ceea ce arată că R este convexă.6). Pentru θ ∈ [0. .1) . Din convexitatea lui f rezultă f ( xθ ) ≤ (1 − θ) f ( x * ) + θf ( x1 ) = f ( x * ) + θ f ( x1 ) − f ( x * ) < f ( x * ) .6) este o soluţie globală şi mulţimea soluţiilor globale. Pentru θ suficient de mic. Orice soluţie locală x* a unei probleme de programare convexă (3. adică f ( xθ ) = f ( x 0 ) şi astfel xθ ∈ R .x* < r ⊂ K } avem f ( x ) ≤ f( x * ) f ( x ) ≥ f ( x * ) . Corolar 3. 1] . x1 ∈ R şi θ ∈ [0. Demonstraţie.6) se numeşte soluţie globală (locală) pentru problema (3. Demonstraţie. Aşadar. se consideră x 0 . soluţia locală este şi globală. x1 sunt soluţii globale. atunci orice soluţie globală este unică. * ( ) Pentru a arăta că R este convexă. Fie x 0 ≠ x1 ∈ R şi θ ∈ (0. Atunci (∃)x1 ∈ R astfel încât f ( x1 ) < f ( x * ) . Astfel.6) .6). R. Atunci xθ ∈ R şi f ( xθ ) ≥ f ( x 0 ) = f ( x1 ) .

6). Demonstraţie.4). adică f ( xθ ) < f ( x * ) . g j ( x* ) ≤ 0 . i ∈E .3. Presupunem că x* nu este soluţie a problemei (3. Demonstraţie. f şi g sunt convexe. adică (∃)x ∈ R n . m ( ) ∑ Definiţia 3. din ipoteză avem că ∇f ( x * ) + ∑ λ*∇g i ( x * ) = 0 .6) nu se modifică dacă se înlătură restricţiile pe care soluţia le transformă în inegalităţi stricte. O restricţie inegalitate g i ( x ) ≤ 0 se numeşte activă într-un punct admisibil x* dacă g i ( x * ) = 0 şi inactivă dacă g i ( x * ) < 0 . j ∈ I . 0 < θ < 1 .2. m sunt de clasă C1(R ) şi dacă ∇ xL ( x * . I este mulţimea indicilor restricţiilor inegalităţi din (3.7) λ j * ≥ 0. . Programare convexă 47 Teorema 3. atunci x* este o soluţie globală pentru problema (3. E i este mulţimea indicilor restricţiilor egalităţi. deoarece λ ∗ ≥ 0 şi g ( x ) ≤ 0 . (3. Teorema 3.9. atunci x* este şi o soluţie a problemei restrânse ⎧min f ( x ) (3. În problema (3.8) este o soluţie pentru problema (3.6’). x ≠ x * . i ∈ E * şi f x < f ( x ) .7). ţinând cont şi de relaţia (3. avem f ( x ) ≥ f ( x ) + ∑ λ* g i ( x ) ≥ f ( x * ) + ( x − x * )′∇f ( x * ) + i i =1 m ′ ⎛ ⎞ + ∑ λ* ⎜ g i ( x * ) + x − x * ∇g i ( x * ) ⎟ = i ⎝ ⎠ i =1 m ⎛ ⎞ = f ( x * ) + ( x − x * )′⎜ ∇f ( x * ) + λ*i ∇g i ( x * ) ⎟ = f ( x * ) . () (3. f ( x ) ≥ f ( x ) şi astfel x este soluţie globală. gi ( x* ) = 0 . λ * ) = 0 . λ ) = f ( x ) + ∑ λi g i ( x ) este funcţia lagrangian. soluţie a problemei (3. unde E * = i ∈ E ∪ I g i ( x * ) = 0 .6) ‘mai bună’ decât x*. astfel încât { } Fie xθ = θ x + (1 − θ )x . ⎜ ⎟ i =1 ⎝ ⎠ * * Aşadar.6’).6’) ⎨ * ⎩gi ( x) ≤ 0 .6) dacă f şi gi.6). Dacă x* este o soluţie a problemei (3. j ∈I . λ* g i ( x * ) = 0 i i i =1 m şi.3. Atunci. i = 1. Fie x ∈ R . (∀)i ∈ E ∪ I unde : L ( x . i ∈ E . (∀)x ∈ R . Să arătăm că pentru θ suficient de mic xθ * g i ( x ) ≤ 0 . λi * g i ( x * ) = 0 . Următoarea teoremă afirmă că optimalitatea unei soluţii a problemei de programare convexă (3.

6) cu egalitate. Din convexitatea funcţiilor g i . soluţia ar fi un minim local al problemei obţinute din (3.9) f ( xθ ) ≤ θf x + (1 − θ ) f x * < f x * * Inegalitatea (3. (∀)i ∈ E * şi j deoarece g j x ≤ 0 .9) este în contradicţie cu proprietatea punctului x de a fi soluţie optimă pentru problema (3.6) considerăm că gi(x)=0. Cazul restricţiilor egalităţi Acest caz reprezintă bine cunoscuta problemă a extremelor cu legături (sau extreme condiţionate). Restricţiile active într-un punct admisibil x restrâng domeniul de admisibilitate în vecinătatea punctului x . În problema (3.2. pentru soluţii locale. 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 ⎝ ⎠ .6) poate fi privită numai cu restricţii egalităţi. Astfel. pentru orice θ ∈ (0. g j x* < 0 . m şi că f şi gi sunt diferenţiabile. m .48 Modele şi algoritmi de optimizare Mai întâi să arătăm că xθ ∈ R . în punctele admisibile este o restricţie activă.6). Din convexitatea funcţiei f şi din (3. () ( ) ( ) Convenim ca orice restricţie (3. un astfel de punct x nu există. (∀) j ∉ E θ * * ( ) j j . i ∈ E numeşte regulat dacă vectorii ∇g i ( x ) . în timp ce restricţiile inactive nu au influenţă în vecinătatea punctului x . * se 3. i = 1.6’). Teorema 3.1. () () ( ) g ( x ) ≤ θg (x ) + (1 − θ )g (x ) < 0 .6). i ∈ E sunt liniar independenţi.4. (∀) j ∉ E * .6) prin ignorarea restricţiilor inactive şi tratarea restricţiilor active ca egalităţi. în studiul proprietăţilor unui extrem local atenţia se poate concentra numai asupra restricţiilor active. Un punct x * ∈ K care satisface restricţiile g i ( x ) = 0 . Definiţia 3. Aşadar. adică este un punct admisibil pentru problema (3. Dacă s-ar cunoaşte care restricţii sunt active pentru rezolvarea problemei (3.8) rezultă (3. Aşadar. problema (3.10. i = 1. 1) avem g i ( xθ ) ≤ θg i x + (1 − θ )g i x * ≤ 0 .

x ( k ) − x = δ (k) s ( k ) ..6) şi un şir x ( k ) k ≥1 ⊂ R astfel încât x ( k ) ⎯k →∞ → x .. Lema 3. iar ( ) ( ) s ( k ) = 1 . δ ( k ) > 0 .1. asfel încât ∇f ( x * ) + ∑ λ*∇g i ( x * ) = 0 . şi C t = s ∈ R n s ′∇g i ( x * ) ≤ 0 .n (R ) .3.2. Se poate demonstra următoarea propoziţie (Fletcher. i ∈ E * sunt liniar independenţi. 1981). s = lim s ( k ) k →∞ se numeşte direcţie admisibilă Ca={s∈Rn ⎥ s este direcţie admisibilă în x*} conul direcţiilor admisibile în x * . Atunci există multiplicatorii λi ≥ 0 . Vectorul (realizabilă) în x * .λ2 . unde λ = (λ1 .10) are loc dacă : i) restricţiile cu indicele i ∈ E * sunt liniar independente. i ∈ E * Notăm { } conul tangent în x * la R..10) Ca = Ct . i i =1 m Numerele λ1 . x* fiind un punct regulat care realizează un minim local. Propoziţia 3. (Farkas-Minkowski) Fie A ∈ M m.. rang ( A) = m şi presupunem că (∀)x ∈ R m Ax ≥ 0 şi c ′x ≥ 0 . 3. astfel încât vectorul c se scrie sub Definiţia 3. Pentru demonstrarea condiţiilor Kuhn-Tucker (cunoscute şi sub denumirea de condiţii optimale de ordinul I) avem nevoie de lema Farkas-Minkowski a cărei demonstraţie o omitem (Henry-Labordere..6) cu I ≠ φ îl au condiţiile KuhnTucker. 1995). λ m se numesc multiplicatorii lui Lagrange. Fie un punct x * ∈ R de extrem local (global) pentru problema ⎯ ⎯ (3.. Ipoteza de calificare a restricţiilor (3. Cazul restricţiilor inegalităţi Un rol esenţial în rezolvarea problemei (3. n ′ forma c = A t λ .4.. Atunci există numerele λm ∈ R . sau ii) vectorii ∇g i ( x * ) . Programare convexă 49 are în x* rangul m . .11.2. i = 1. λn ) .. Ipoteza de calificare a restricţiilor într-un punct de extrem este dată de relaţia (3.

6) este să existe multiplicatorii λ i ∈ R + . i ∈ E * . Se observă că pentru suficienţa condiţiilor Kuhn-Tucker nu mai este necesară ipoteza calificării restricţiilor. Considerăm vectorul λ = [λE . . astfel încât (i) ∂g ( x * ) ∂g ( x * ) ∂f ( x * ) + ∑ λk k + ∑ λk k = 0 . deoarece g i ( x * ) = 0 . i ∈ E şi deoarece pentru (∀)s ∈ C a avem f ( x ( k ) ) = f ( x * ) + δ ( k ) s ( k ) ∇f ( x * ) + O (δ ( k ) ) . Dar f ( x ( k ) ) ≥ f ( x * ) ⇒ δ ( k ) s ( k ) ∇f ( x * ) + O (δ ( k ) ) ≥ 0 . (∀)x ( k ) ∈ Br ( x * ) . (Condiţiile Kuhn-Tucker) În ipotezele de mai sus. 5 şi 6 funcţiile obiectiv sunt cazuri particulare de funcţii convexe. gi sunt diferenţiabile şi vectorii ∇g i ( x * ) . I ≠ φ şi ⎪E⎪+⎪I⎪=m≤n . Condiţiile Kuhn-Tucker sunt necesare. (∀)i = 1. (∀ ) j ∈ I − E * .0 ]∈ R n şi ∇f ( x* ) = −λ ′∇g ( x* ) cu proprietatea că λ ′∇g ( x* ) = 0 . înlocuind x cu s şi A cu ∇gE ( x * ) . j ∈ I { } { } sunt independenţi.6) . egalitate evidentă. n ∂xi ∂xi ∂xi k∈E k∈I (ii) λk g k ( x * ) − bk = 0 . m . Algoritmii prezentaţi în aceste capitole se bazează pe particularităţile fiecărui tip de problemă.5. rezultă că (∃)λ E ≥ 0 . Din ipoteza de calificare a restricţiilor în x* rezultă că s′∇g i ( x* ) ≤ 0 . i = 1. deci convexe. iar restricţiile sunt liniare. i ∈ E . unde ∇gE ( x * ) este matricea care are ca linii ∇g i ( x* ) . condiţia necesară şi suficientă pentru ca x* să fie o soluţie a problemei (3. Condiţiile Kuhn-Tucker sunt suficiente. f. Împărţim relaţia de mai sus la δ ( k ) > 0 şi trecem la limită pentru k → ∞ şi obţinem că s′∇f ( x * ) ≥ 0 .50 Modele şi algoritmi de optimizare Considerăm că : E ≠ φ . În Teorema 3. astfel încât ∇f ( x* ) = −λE ∇gE ( x* ) . x* punct admisibil dă un minim local. (∀)k ∈ I ( ) Demonstraţie.2 se consideră b=0 şi rezultă că x* este soluţia problemei (3. λ j = 0 . i ∈ E ∪ ∇g j ( x * ) g j ( x * ) = b j . Teorema 3. În Lema Farkas-Minkowski. În capitolele 4.

forţă de muncă.. trebuie să fie respectate condiţiile: ai1 x1+ai2 x2+. De exemplu. maşiniunelte.4. i∈{1.1) xj reprezentând cantitatea ce trebuie produsă din sortimentul j. resurse financiare etc.. Fie i numărul de ordine al resursei şi fie bi cantitatea disponibilă din resursa i. pentru procesul de producţie j.. Se presupune că ai j nu depinde decât de tipul resursei (i) şi de tipul produsului realizat (j) şi nu de cantităţile produse.) sunt în cantităţi limitate. (4. PROGRAMARE LINIARĂ 4. care este aij xj. ea nu poate fi un număr negativ: (4.1) se numesc restricţiile problemei.1. m}... . 2. Fie j numărul de ordine al activităţii desfăşurate şi fie xj nivelul (necunoscut) la care trebuie să se desfăşoare această activitate.. Cu ajutorul acestor resurse se pot desfăşura mai multe activităţi (de exemplu: procese de producţie).. Deoarece nu se poate consuma din resursa i mai mult decât cantitatea de care se dispune.. Utilizarea optimă a resurselor Un manager de agent economic trebuie să rezolve destul de des următoarea problemă (Zidăroiu.1.. sau ∑a j =1 n ij x j ≤ bi .1. 1983): Resursele pe care le are la dispoziţie (materie primă.2).+ain xn ≤ bi . (∀) 1 ≤ i ≤ m. Fie aij cantitatea din resursa i necesară producerii unei unităţi din produsul j. condiţiile de nenegativitate.+ain xn . j∈{1. ceea ce constituie evident o simplificare a situaţiei reale.. Exemple de probleme de programare liniară 4. Inecuaţiile (4. care constă în fabricarea unui anumit produs.. Cu aceste notaţii se pot determina mărimile următoare: − cantitatea din resursa i folosită pentru producerea cantităţii xj.. 2.2) xj ≥ 0. m}. iar (4. − cantitatea totală din resursa i folosită pentru producţia totală formată din n produse: ai1 x1+ai2 x2+. se notează cu xj cantitatea ce va fi produsă.

2) care dă pentru profitul (4. Adoptarea unei variante de plan (luarea unei decizii) se face pe baza unui criteriu economic. că atât preţul de vânzare cât şi costul nu depind de cantitatea produsă.2) poate avea o infinitate de soluţii.. o soluţie sau nici una. – cantitatea transportată de la toate cele m depozite la centrul de consum j .2. Se pot exprima atunci următoarele mărimi: – cantitatea cerută de la depozitul i la toate cele n centre de consum (4. 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). din acea problemă economică s-a obţinut următoarea problemă matematică: n ⎧ max ∑ (c j − d j ) x j ⎪ ⎪ n j =1 ⎪ (4.52 Modele şi algoritmi de optimizare Sistemul de inecuaţii liniare (4. 4. Pentru problemele corect puse.. adică acea soluţie a sistemului de inegalităţi (4.3) Problema care se pune acum este de a determina acea variantă de plan. + xin = cantitatea aflată la depozitul i. Problema de transport Se consideră că există m centre de aprovizionare (depozite) şi n centre de consum (puncte de lucru. iar ∑d j =1 n j n x j . ca de exemplu venitul sau profitul să fie maxim. 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 unităţi 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ă).3) valoarea maximă. cel mai frecvent este cazul cu o infinitate de soluţii.4) ⎨∑ a ij x j ≤ bi ⎪ j =1 ⎪x j ≥ 0 ⎪ ⎩ Aceasta este o problemă de programare liniară. pentru simplificarea problemei. şi deci profitul obţinut va fi: n ∑c j =1 n j x j − ∑ d j x j = ∑ (c j − d j )x j j =1 j =1 (4. magazine etc. Dacă se notează cu cj preţul de vânzare al unei unităţi din produsul j şi cu dj costul unitar pentru acelaşi produs (se presupune.1).1. atunci venitul total va fi: cheltuielile de producţie ∑c j =1 n j x j . sau program liniar.1) şi (4. uzine. (4. În acest moment. ceea ce nu prea este în concordanţă cu realitatea).5) ai = xi1 + xi2 + .).

1 ≤ i ≤ m. Trebuie aprovizionat un grup de uzine dirijate de un centru comun. 1 ≤ j ≤ n .10) (4. Programe liniare de acelaşi tip pot să apară şi în următoarea situaţie. 1 ≤ i ≤ m ∑x i =1 m ij = bj . Sistemul de ecuaţii (4.4.5).7) xij ≥ 0. O condiţie evidentă este (4. 1 ≤ i ≤ m. . Pentru a putea efectua transportul este necesar ca ∑a = ∑b i =1 j =1 n j . care să minimizeze cheltuielile totale de transport: min ∑∑ c ij x ij . 1 ≤ i ≤ m (4.6) are o infinitate de soluţii.13) (4.8) (4. 1≤i≤m. i =1 j =1 m n (4. 1 ≤ j ≤ n 1 ≤ j ≤ n. (4. Dintre acestea trebuie alese cele care dau costului total de transport valoarea minimă. Costul total al transportului de la toate cele m depozite la toate cele n centre de consum este ∑∑ c i =1 j =1 m i m n ij xij . egalitate numită şi condiţia de balansare sau de echilibru. (4. n puncte de consum şi se cere determinarea unui plan de transport (xij).. având la dispoziţie m centre de aprovizionare.11) ∑x j =1 n ij = ai . xij ≥ 0. 1 ≤ j ≤ n.6) – costul transportului de la depozitul i la centrul de consum j este cijxij. Se obţine astfel un program liniar: min ∑∑ c ij x ij i =1 j =1 m n (4. 1 ≤ j ≤ n xij ≥ 0. 1 ≤ i ≤ m.15) ∑x i =1 m ij ≥ bj . Programare liniară 53 bj = x1j + x2j + .12) în condiţiile ∑x j =1 n ij ≤ ai . care se numeşte program de transport.+ xmj = necesarul la centrul de consum j.14) (4. 1 ≤ j ≤ n..9) (4.

1 ≤ i ≤ m. Dacă ai .54 Modele şi algoritmi de optimizare unde ai .1. cu existenţa unui risc al investiţiilor şi neliniaritatea profitului total. Fie . astfel încât să se obţină un profit maxim. Preţul produsului fluctuează de-a lungul perioadei de analiză. (4. 1≤j≤n. capacităţile de depozitare ale punctelor de desfacere.13). iar cij este costul unitar de transport de la depozitul i la uzina j. adică: max ∑ a j x j j =1 n (4. Alocarea optimă a fondurilor financiare Având la dispoziţie o sumă totală S care poate fi investită în diverse activităţi j. considerând problema unui plan de transport de la mai multe uzine i la punctele de desfacere j. bj . sunt cantităţile necesare uzinelor. 1 ≤ j ≤ n. 1 ≤ j ≤ n. 4. Modelarea problemei.18) xj ≥ 0. bj .14) îşi schimbă sensul. Problema se poate pune şi invers. 4.4.1. Problema mai poate fi complicată dând anumite reguli suplimentare în legătură cu posibilitatea de investiţie. fiecare producând un anumit profit unitar aj .16) în condiţiile: ∑x j =1 n j =S (4. Gestionarea optimă a unui depozit Să considerăm problema funcţionării unui depozit care cumpără şi vinde un anumit produs cu scopul maximizării profitului pe o anumită durată de timp. 1 ≤ i ≤ m. sunt capacităţile centrelor de depozitare. Pentru a avea soluţii trebuie ca ∑a ≥ ∑b i =1 i j =1 m n j . 1 ≤ j ≤ n. investită pentru activitatea j. se pune problema determinării sumei xj . dar pe durata unei unităţi de timp preţul de achiziţie şi preţul de vânzare sunt aceleaşi. reprezintă acum capacităţile de producţie ale uzinelor. Depozitul are o anumită capacitate fixă S şi un cost unitar de stocare h .3. 1 ≤ j ≤ n.17) (4. Depozitul este iniţial gol şi trebuie să rămână gol la sfârşitul perioadei de analiză. se obţine un model similar în care grupurile de inecuaţii (4. 1 ≤ j ≤ n.

1.. + a x ≥ b m2 2 mn n m ⎪ m1 1 ⎪ x i ≥ 0 .4. + a1n x n ⎪ a x + a x + .. din care trebuie să se pregăteacă o dietă. Se presupune că o unitate din alimentul i conţine aji unităţi din ingredientul j.. Dacă sunt n intervale de timp avem: max ∑ ( pi bi − hxi ) i =1 n ⎧ xi +1 = xi + d i − bi .19) 4. x . . beton etc. Modelarea problemei Se notează cu xi numărul de unităţi din alimentul i conţinut în dietă. Să se determine cea mai economică dietă care satisface minimul nutriţional cerut. Problema dietei Se presupune că există n alimente diferite. n − 1 ⎪ ⎪ xn + d n − bn = 0 ⎨ ⎪ xi + d i ≤ S ⎪x = 0 . i = 1.. Trebuie minimizat costul total al dietei min {c1x1+ c2x2+. cantitatea achiziţionată în perioada i. Programare liniară 55 − xi − di − bi − pi stocul din depozit la începutul perioadei i.. i = 1. (4. Dieta trebuie să conţină zilnic m ingrediente nutritive şi din fiecare ingredient j.. cu preţul unitar ci pentru alimentul i. + a x ≥ b2 22 2 2n n ⎪ 21 1 ⎪ M M ⎨ ⎪a x + a x + . Acelaşi tip de problemă poate apărea în realizarea amestecurilor de tip mortar. b ≥ 0 i i i ⎩ 1 Se obţine astfel o problemă de programare liniară.+ cnxn} supus la restricţiile următoare date de conţinutul în ingrediente nutriţionale ≥ b1 ⎧ a11 x1 + a12 x 2 + ... minimum bj unităţi.5. d . cantitatea vândută în perioada i şi preţul pe perioada i. n ⎩ Problema care a rezultat este tot o problemă de programare liniară.

ale cărei elemente sunt coeficienţii componentelor vectorului xj .1. Diferite forme ale problemelor de programare liniară Scrisă matriceal. Prin x≥ 0 se va înţelege că fiecare componentă a vectorului x este nenegativă. Se spune că o problemă are forma standard dacă toate restricţiile sunt ecuaţii şi tuturor variabilelor li se impun condiţii de nenegativitate ⎧min(max)c ′x ⎪ ⎨ Ax = b ⎪x ≥ 0 (4.20) poate fi adusă la forma standard (4.22) folosind următoarele transformări: i) transformarea maximului în minim şi invers se bazează pe următoarea egalitate: max f ( x ) = − min{− f ( x )} ii) transformarea sensului unei inegalităţi se realizează prin înmulţirea cu −1 x∈X x∈X . iar bi sunt subvectori ai vectorului b (1 ≤ i.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.21) ⎩ c′x = ∑ ci xi i =1 n Se spune că o problemă are forma canonică dacă toate restricţiile sunt inegalităţi de acelaşi sens şi tuturor variabilelor li se impun condiţii de nenegativitate ⎧min c ′x ⎪ (4. x3 − vectorul variabilelor asupra cărora se impun condiţii de nepozitivitate. x oarecare. x ≤ 0 unde x1 este vectorul variabilelor asupra cărora se impun condiţii de nenegativitate. Orice problemă de forma (4. j ≤ 3) . cea mai generală problemă de programare liniară are forma (Zidăroiu.22) ⎨ Ax ≥ b ⎪x ≥ 0 ⎩ ⎧max c ′x ⎪ ⎨ Ax ≤ b ⎪x ≥ 0 ⎩ (4. 1983) ′ ′ min [ c1 x 1 + c ′ x 2 + c 3 x 3 ] 2 ⎧ A11 x 1 + A12 x 2 + A13 x 3 ≥ b1 ⎪ 1 2 3 (4.2.56 Modele şi algoritmi de optimizare 4.21) sau forma canonică (4. x2 − vectorul variabilelor asupra cărora nu se impun condiţii de semn.22’) Observaţia 4. Aij − submatrice a matricei A .

. coloanele sale constituie o bază în R m). y ≥ 0. (4. x2 ≥ 0 iv) o variabilă x ≤ 0 se înlocuieşte cu o variabilă nenegativă −x v) transformarea ecuaţiilor în inecuaţii ⎧a ′x ≤ b a ′x = b ⇔ ⎨ ⎩a ′x ≥ b vi) transformarea inecuaţiilor în ecuaţii a'x ≤ b se poate scrie ca o ecuaţie a'x+y=b. Se numeşte soluţie nedegenerată o soluţie de bază care are exact m componente nenule. Notăm cu S partea din matricea A care mai rămâne şi cu xS variabilele corespunzătoare. x1 ≥ 0 .n(R).n(R) o matrice pătratică nesingulară extrasă din A şi notăm xB vectorul variabilelor corespunzătoare coloanelor lui B. Variabilele principale se numesc variabile de bază. B.2). a'x ≥ b se poate scrie ca o ecuaţie a' x− y=b.3. Fie B∈Mm. A∈Mm.4. Sunt necesare câteva noţiuni de bază pentru prezentarea algoritmului (Zidăroiu. z* = min{c'x⏐x∈ Rn } .24) xB = B−1b−B−1S xS . Variabilele ecart nu apar în funcţia obiectiv (sau apar cu coeficienţi nuli). Algoritmul simplex Acest algoritm (datorat lui G.23) luăm xB variabile principale şi celelalte xS . variabile secundare şi avem (4. 1983). Notăm R = {x∈ R n x program}. introducând o variabilă y ≥ 0 numită variabilă ecart.23) ⎣x ⎦ Astfel. Se numeşte soluţie admisibilă sau program o soluţie a sistemului de ecuaţii şi inecuaţii (4. Fie sistemul de ecuaţii Ax = b. Anulând variabilele secundare avem (4.25) xB = B−1b . Programare liniară 57 iii) o variabilă x căreia nu i se impun condiţii de semn se înlocuieşte cu diferenţa a două variabile nenegative x = x1−x2 . O astfel de soluţie se numeşte soluţie de bază (deoarece B fiind nesingulară. rang A = m. xS=0. 1951) se aplică problemelor de programare liniară sub forma standard. 4. în (4.1) ce verifică şi condiţia de nenegativitate (4. Se numeşte soluţie degenerată o soluţie de bază care are şi componente nule. Dantzig. Sistemul Ax = b devine: ⎡ B⎤ [BS ] ⋅ ⎢ x S ⎥ = b sau BxB + SxS = b.

an şi se presupune că x’=(x1. …. Teorema fundamentală a programării liniare stă la baza algoritmului simplex (Luenberger. …. Demonstraţie. Soluţia de bază a problemei de programare liniară sub forma standard se numeşte program de bază (x = 0 este program de bază dacă x=0 este program). 0. Se presupune că exact p≤ m dintre variabilele xi sunt diferite de zero şi că acestea sunt chiar primele. y2. atunci are şi un program de bază optim.26) x1a1+x2a2+…+xpap=b.yp. (ii) Dacă problema de programare liniară sub forma standard (4. a2. ap sunt liniar independente. a2. …. deoarece A are rangul m.…. ap pot fi liniar independente sau liniar dependente. astfel încât cele m coloane să fie liniar independente. Atribuim valoarea zero variabilelor corespunzătoare celor m−p componente şi obţinem o soluţie de bază degenerată. atunci are cel puţin un program de bază. a2. Alegem ⎧x ⎫ ε = min ⎨ i y i > 0⎬ .58 Modele şi algoritmi de optimizare Convenim să punem z* = +∞ dacă R = φ. atunci x*∈ R cu proprietatea că z* = c' x* se numeşte soluţie optimă sau program optim. Coloanele a1. Cazul I. Presupunem că a1. 0. ⎩ yi ⎭ Pentru orice valoare ε soluţia dată de (4. atunci cel puţin o componentă va deveni zero o dată cu creşterea lui ε. Deoarece am presupus că măcar o componentă yi este pozitivă. x2.…. putem elimina . Dacă p<m .26) relaţia (4.21) are un program optim. se pot găsi m−p coloane din cele n−p rămase. Scădem din relaţia (4. atunci.1. Presupunem că a1.27) înmulţită cu ε şi avem (4. Pentru ε=0 aceasta se reduce la soluţia iniţială admisibilă. xn)’ este o soluţie admisibilă şi atunci are loc relaţia x1a1+x2a2+…+xnan=b.27) y1a1+y2a2+…+ypap=0 în care cel puţin o constantă yi este pozitivă.29) x−εy este o soluţie a sistemului de ecuaţii Ax=b. Atunci (4.0) observăm că pentru orice ε (4. a2. …. (i) Dacă problema de programare liniară sub forma standard (4. Dacă p=m atunci soluţia este de bază şi demonstraţia se încheie.28) (x1−εy1)a1+(x2−εy2)a2+…+(xp−εyp)ap=b Notând cu y’=(y1. Notăm cu R * mulţimea soluţiilor optime. ….29) este admisibilă şi are cel mult p−1 componente pozitive. Dacă z* = −−∞. Teorema 4. Cazul II. 1989). ap sunt liniar dependente. Repetând acest proces dacă este necesar.21) are un program. Atunci există o combinaţie liniară a acestor vectori egală cu zero (4. Dacă z* este finit. (i) Se notează coloanele matricei A cu a1. spunem că problema are optim infinit.

Fundamentele algoritmului simplex Din Teorema 4. xp . Dezavantajul ce apare constă în volumul mare de calcule.1 rezultă că putem determina soluţia problemei de programare liniară sub forma standard astfel: pentru toate bazele B din matricea A (acestea sunt. Algoritmul simplex dă o metodă de explorare sistematică şi economică a programelor de bază. astfel încât (4. valoarea funcţiei obiectiv este (4. x2.29) este optimală. Programare liniară 59 componentele pozitive până când avem o soluţie admisibilă corespunzătoare coloanelor care sunt liniar independente. …. Pentru această soluţie. evident. algoritmul furnizează criterii pentru cazurile în care problema de programare liniară nu are programe sau are optim infinit. Astfel putem concluziona că c’y=0. mai precis de trecere de la un program de bază la altul care dă funcţiei obiectiv o valoare mai mare sau mai mică. Este ca şi în cazul II de la (i) numai că trebuie să arătăm că pentru orice ε soluţia dată de (4. restul demonstraţiei este ca la (i). xn) o soluţie admisibilă optimală care are exact p componente pozitive x1. în număr finit). (ii) Fie x’=(x1. Coloanele sunt liniar independente.30) c’x−εc’y Pentru ε suficient de mic. Astfel.30) să conducă la o valoare mai mică pentru funcţia obiectiv. 4. Este exact ca şi la (i). reţinem dintre acestea doar pe acelea care sunt programe de bază (B−1b ≥ 0) şi alegem pe aceea care dă funcţiei obiectiv valoarea optimă (cea mai mică sau cea mai mare). după cum problema este de maximizare sau minimizare. De asemenea. chiar şi atunci când problemele sunt de dimensiuni mici. Cazul II. sistemul Ax=b se poate scrie (Zidăroiu. …. Din nou pot fi două cazuri: coloanele corespunzătoare componentelor nenule pot fi liniar independente sau liniar dependente. Contradicţie cu faptul că x este soluţie optimală şi astfel trebuie să presupunem că c’y=0. Dacă c’y≠0 se poate determina un ε mic şi semnul acestuia. x2.4. 1983) xB=B−1b−B−1SxS sau . Având stabilit că noua soluţie admisibilă cu mai puţine componente pozitive este optimală. Am ajuns în cazul I şi se poate aplica acesta în continuare. x−εy este o soluţie admisibilă pentru valori pozitive sau negative ale lui ε. calculăm soluţia de bază corespunzătoare B −1 b . Cazul I. Coloanele sunt liniar dependente. dacă B este o bază (să presupunem că B−1b ≥ 0).4.

B={indicii variabilelor de bază}. Observaţie 4. j∈S (4. Pentru simplificarea scrierii renunţăm la indicele superior B. xS =0) este optim. B i∈B (4.32) (4.2. Teorema 4.34) unde z B = ∑ ci xiB = c ′ ⋅ x B . înţelegându-se că este vorba de elementele corespunzătoare bazei. S={indicii variabilelor secundare}.31’) (4. atunci programul de bază corespunzător bazei B. 1983). putem exprima funcţia obiectiv cu ajutorul variabilelor secundare xS astfel n ⎛ ⎞ ⎞ ⎛ B B z = ∑ c j x j = ∑ c j x j + ∑ ci ⎜ xiB − ∑ yij x j ⎟ = ∑ ci xiB − ∑ ⎜ ∑ ci yij − c j ⎟ x j ⎟ ⎜ ⎜ ⎟ j =1 j∈S i∈B ⎝ j∈S j∈S ⎝ i∈B ⎠ ⎠ i∈B sau z = z B − ∑ zB − cj xj . Dacă zj−cj ≤ 0.36) α j = −( z j − c j ) sunt numiţi coeficienţi de cost redus sau coeficienţi de cost relativ.2.31). j j∈S ( ) (4.60 Modele şi algoritmi de optimizare xB = x − ∑ yBxj j B j∈S (4.31) sau pe componente B xiB = xiB − ∑ y ij x j . (xB=B−1b. La baza algoritmului simplex stau următoarele observaţii ce rezultă din teoremele prezentate în continuare (Zidăroiu. Pentru j∈ B. i∈ B.33) unde x B = B −1 b y B = B −1 a j j iar: aj este coloana j a matricei A . y B = B −1 a j = e j . . ej fiind vectorul unitate. (∀) j∈ S. j Folosind (4. j B j i∈B (4.35) z B = ∑ ci y ij = c ′ ⋅ y B .

Demonstraţie.5. Dacă yik > 0 (∀)i∈B. Teorema 4.37). x atunci x k ≤ i . atunci problema are optim infinit. pentru (∀) i∈B. dar (∃) yik > 0.4. atunci pentru a păstra xi ≥ 0 . Demonstraţie. Teorema 4.4. Observaţia 4. cu zk−ck > 0. Atunci creşterea maximă a y ik lui xk este dată de (4. Dacă (∃)k∈ S . Dacă yik ≤ 0 (∀) i∈B atunci xiB = xiB − y ik x k . Pentru acest program valoarea funcţiei obiectiv este z B . (∀)i ∈ B cu proprietatea că yik > 0 . dedusă din B prin înlocuirea coloanei al cu coloana ak. deoarece xj≥0 rezultă că ∑ z B − ci x j ≤ 0 j ( ) j∈S şi atunci z > z B . iar creşterea lui xk nu face negativă nici o componentă de bază. ( xj=0 pentru j∈S – {k}). Dacă există k ∈ S cu proprietatea că zk−ck>0. Demonstraţie. Dacă zk−ck > 0. şi dacă yik ≤ 0. Atunci z = z B − ( z k − c k ) x k ⎯⎯ ∞ → −∞ ⎯ xk → Teorema 4. atunci xk poate creşte până la valoarea: x x min i = l . Pentru orice alt program x . ar fi preferabil să se aleagă acela pentru care xl (z k − c k ) y lk .3.37) i yik > 0 y y lk ik ~ pentru care se obţine un nou program de bază. atunci programul asociat bazei B nu este optim ∑ z B − ci x j > 0 . asociat bazei B . Dacă (∃)k∈ S cu zk−ck > 0.3. (4. Dacă există mai mulţi indici k pentru care zk−ck > 0. ştiind că x i = x i − y ik x k ≥ 0 . atunci programul asociat bazei B nu este optim (cu excepţia cazului în care programul este degenerat) şi poate fi îmbunătăţit dacă xk ia valori pozitive. iar z < z B j ( ) j∈S (cu excepţia cazului în care programul este degenerat) şi poate fi îmbunătăţit dacă xk>0. Programare liniară 61 Demonstraţie.

1 ≤ j ≤ n. a'2) dacă (∃)j pentru care zj−cj < 0. Se determină o bază B în matricea A. o scădere mai rapidă a funcţiei obiectiv şi dă un număr mai mic de iteraţii (o iteraţie reprezintă o trecere de la un program de bază la altul). j 2) dacă (∃) z B −cj > 0. z B −cj. ceea ce asigură. a) Criteriu de intrare în bază 1) dacă toţi z B −cj ≤ 0. j j conform cu (4. Se înlocuieşte în baza B vectorul al cu vectorul ak . obţinându-se baza ~ ~ ~ ~ ~ B . y B = B −1 a j (aj − coloanele din A). Observaţia 4. (4.62 Modele şi algoritmi de optimizare are cea mai mare valoare. problema are optim infinit.33) apoi se trece la pasul 1. şi se calculează x B . se determină k astfel încât: j zk−ck= max{zj−cj}.4. 2) dacă (∃) yik > 0. Acest criteriu se mai numeşte şi criteriu de intrare în bază. Pas 0. acel k pentru care zk−ck=maxim. z B − c j . (4. y B .5. se determină l astfel încât: ⎧x ⎫ xl = min ⎨ i ⎬ . 1 ≤ j ≤ n. Criteriul dat de (4. programul este optim. Pentru o problemă de maximizare: ⎧max c ′x ⎪ ⎨ Ax = b ⎪x ≥ 0 ⎩ trebuie modificat criteriul de intrare în bază astfel: a'1) dacă toţi zj−cj ≥ 0. se calculează x B = B −1 b . în general.37) reprezintă criteriul de ieşire din bază. b) Criteriu de ieşire din bază 1) dacă toţi yik ≤ 0. Enunţul algoritmului simplex Fie problema de programare liniară sub forma standard (4. Practic. 1 ≤ j ≤ n. i yik > 0 y y lk ⎩ ik ⎭ Pas 2.21). B j j Pas 1. z B = c ′ x B . .34). z B . programul este optim. Pentru această problemă algoritmul simplex are următorul enunţ. înlocuind baza B ~ cu baza B . j∈B. se determină k astfel încât zk−ck= min{zj−cj}. se ia drept criteriu de alegere a lui k .31). Stop. 4.

B j Observaţia 4. B Pentru calculul elementelor z B −cj şi j zB ale primului tablou este util să trecem coeficienţii cj din funcţia obiectiv în partea de sus a coloanelor respective.4.5. z B − c j = (z j − c j ) − ( z k − c k ) j y lk y lk (4. A doua coloană (VB) conţine variabilele de bază. Pentru variabilele de bază. ultima linie fiind valoarea funcţiei obiectiv pentru programul de bază corespunzător bazei B. y kj = y lk y lk (4. Presupunem că baza B este formată din primele m coloane ale matricei A.1). Cum se calculează elementele noului tablou corespunzător noii baze ? Elementele liniei k se împart la pivot ~ ~ y lj x B x kB = l . Pentru fiecare bază se alcătuieşte câte un tabel simplex (Tabelul 4. Să presupunem că ak trebuie să intre în bază în locul lui al.40) . zj−cj. Coloanele următoare conţin vectorii y B (având grijă ca pentru variabilele de j bază y B =ej). adică zB. Prima coloană (CVB) conţine coeficienţii din funcţia obiectiv ai variabilelor de bază. zj−cj= c′ ej−cj=cj−cj=0. Elementul ylk se numeşte pivot şi îl evidenţiem încercuindu-l.39) y lk y lk Modificarea funcţiei obiectiv se face după formulele de mai jos. iar ultima linie conţine diferenţele zj−cj= c ′ yi−cj.6. Programare liniară 63 4. A treia coloană (VVB) conţine valorile variabilelor de bază.1). yij şi le dispunem într-un tabel numit tabel simplex (Tabelul 4.38) Elementele celorlalte linii se calculează cu regula dreptunghiului cu diagonala principală cea a pivotului. ~ ~ y lj x z B = z B − (z k − c k ) l . ~ ~ y lj x B (i ≠ l ) x iB = x i − y ik l (i ≠ l ) . y ij = y ij − y ik (4. Tabelul simplex şi transformarea sa Presupunem că pentru o bază B am calculat x i . z .

şi atunci efortul de calcul trebuie redus la coloanele care sunt necesare în găsirea soluţiei optime..... vi = ik .. 0 y1..39) şi (4.1 Modele şi algoritmi de optimizare Coeficienţii funcţiei obiectiv c1 CVB VB VVB x1 cl xl cm xm cm+1 xm+1 ck xk cn xn alegem min xi y ik Coeficienţii variabilelor de bază în funcţia obiectiv c1 x1 x1 1 .. i ≠ l şi v l = yl k yl k yl k fiind pivotul... Dacă baza iniţială în algoritmul simplex este cea canonică (B=In). M 1 M ym. M 0 . M 0 M yl. y1.. unde Ep este o matrice elementară de forma dată mai jos .n alegem max valoarea funcţiei obiectiv z 0 0 0 zm+1−cm+1 zj−cj>0 În noul tabel în loc de xl este trecut xk în coloana VB.. ym.40). M 1 . y kB = e k . atunci la iteraţia a p-a.. numărul liniilor matricei A.. 1989).64 Tabelul 4. O variantă a algoritmului simplex revizuit se bazează pe reprezentarea inversei matricei de bază B ca un produs de matrice elementare E (Luenberger. M ym. În algoritmul simplex revizuit se fac calcule doar pentru elementele tabloului strict necesare.E 2 E1 .n M cm M xm M xm M 0 . yl....k . care au elementele coloanei p date de relaţiile: y 1 . y1.m+1 . ~ ~ Deoarece xk este variabilă de bază. aşa cum rezultă şi din (4..k . M yl.m+1 M . Înmulţirea lui E la dreapta cu orice coloană a tabelului simplex este echivalentă cu aplicarea regulii dreptunghiului.. inversa matricei B este B −1 = E p E p −1 ..m+1 M .... z kB − c k = 0 .. numărul coloanelor. este mult mai mic decât n.n M cl M xl M xl M 0 ... 0 . În problemele practice m.. obţinute din matricea unitate.k .

Ep-1…E1ak)’ . Exemplu S-a observat că în fiecare lună. P1 şi P2 . Fie x1. nu sunt folosite 8 ore. Se ia hotărârea să se folosească şi acest timp. Timpul necesar de lucru la fiecare maşină este. I. Tabelul 4.4. pe fiecare produs. M3 . ca produse anexe ale secţiei. 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 =⎜ ⎟. ce lucrează într-o secţie a unei întreprinderi.7.2. M2. 24 de ore şi respectiv 18 ore (Văduva et al. dat de Tabelul 4. x2 cantităţile din produsele P1 şi P2 ce trebuie fabricate. punându-le să lucreze la fabricarea a 2 produse suplimentare. x ≥ 0 2 5 ⎪ 1 ⎪ 1 2 ⎪ ⎪ ⎩2 x1 + x2 ≤ 8 ⎩ xi ≥ 0. 4. m. yk − coloana a k-a din noua bază B − va fi calculată direct cu formula yk=(Ep. Rezolvare a) Modelarea problemei.5 după adăugarea variabilele de compensare . 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. 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 ⎨3x1 + 2 x 2 + x 4 = 24 x1 + 3 x2 ≤ 18 ⎨ ⎪ x + 3 x + x = 18 ⎪x . maşinile M1.2 Maşina P1 M1 2 M2 3 M3 1 P2 1 2 3 Să se determine planul de producţie al secţiei pentru produsele P1 şi P2 care să dea un profit maxim. care aduc un profit la unitatea de produs fabricat de 4 şi respectiv 3 u. 1974). i ∈1.

2 .66 Modele şi algoritmi de optimizare b) Tabelul simplex şi calculele aferente Calculele corespunzătoare primei iteraţii sunt pezentate în Tabelul 4. x5=0 . . iar la iteraţia a doua a ieşit din bază x5 şi a intrat x2 . arată că soluţia optimă face egalităţi doar restricţiile 1 şi 3 . Iteraţia a doua este prezentată în Tabelul 4. x4=9.3. Valorile variabilelor auxiliare x3=0 . x2=5. x3=0 . c) Culegerea rezultatelor din tabelul simplex final Maximul funcţiei de optimizat este 21.6 şi se obţine pentru x1=1. Soluţia de bază este nedegenerată.4.3 3 0 x2 1 x3 1 0 x4 0 0 x5 0 alegem min xi y ik 8 =4 2 0 x4 24 3 2 0 1 0 24 3 18 1 =8 0 x5 18 1 3 0 0 1 = 18 valoarea funcţiei obiectiv z 4 x1 alegem min 0 –4 –3 0 0 0 zj−cj<0 8 4 1 1 2 1 2 5 2 1 2 − 1 2 1 2 0 0 0 x4 12 0 1 0 24 0 x5 14 0 − 0 1 28 5 alegem min valoarea funcţiei obiectiv z 16 0 –1 2 0 0 zj−cj<0 La prima iteraţie a ieşit din bază x3 şi a intrat x1 . iar cea de-a doua inegalitate arată că prin această soluţie nu se utilizează integral timpul celei de-a doua maşini. adică se foloseşte integral timpul la aceste maşini.2 .6 . 4 CVB 0 VB x3 VVB 8 x1 2 Tabelul 4.

Figura 4.4. ca în Figura 4.4.2. Programare liniară 67 Tabelul 4. Selectăm acest modul şi în fereastra care apare din submeniul File alegem New. . de restricţii şi tipul problemei. La lansarea programului se afişează pe ecran fereastra de prezentare apoi după apăsarea butonului Continue apare fereastra care permite selectarea modulului pentru rezolvarea problemelor de programare liniară ca în Figura 2.1.6 0 0 9 5 0 Vom rezolva această problemă utilizând pachetul de programe Management Scientist. În fereastra Problem Features precizăm numărul de variabile. ca în Figura 4. apare fereastra în care se introduc coeficienţii funcţiei obiectiv şi restricţiile problemei.1 După apăsarea butonului OK.4 4 3 x2 0 x3 0 x4 0 x5 alegem min xi yik CVB VB VVB x1 4 x1 6 5 1 0 3 5 − 2 5 1 5 0 − 1 5 1 5 8 0 x4 46 5 28 5 0 0 1 − 24 3 x2 0 1 − 0 2 5 2 5 28 5 alegem min zj−cj < 0 valoarea funcţiei obiectiv z 21.

000 24. Informaţia din coloana Reduced Costs arată cu cât ar trebui să se modifice coeficientul variabilei respective în funcţia obiectiv pentru ca variabila să fie pozitivă în soluţia optimă (Anderson et al. .68 Modele şi algoritmi de optimizare Figura 4.400 Value --------------1. atunci costul redus este zero. Tabelul 4.000 9.000 0. Astfel.200 0.5.000 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 Current Value --------------8.000 OBJECTIVE COEFFICIENT RANGES Variable -----------X1 X2 Lower Limit --------------No Lower Limit No Lower Limit Current Value --------------4.000 Dual Prices -----------------1.000 Upper Limit --------------No Upper Limit No Upper Limit No Upper Limit Rezultatele sunt cele obţinute şi în urma aplicării algoritmului simplex.000 18.600 Reduced Costs -----------------0.000 0. 1998).000 3.200 5. dacă o variabilă este deja pozitivă.5 Objective Function Value = Variable -------------X1 X2 Constraint -------------1 2 3 21.2 După ce s−au introdus datele.800 0.600 Slack/Surplus --------------0. pentru rezolvare se apasă butonul Solve şi apare fereastra cu rezultate ca în Tabelul 4.

Observaţia 4. celulele H7−H9 conţin restricţiile problemei H7= B7*D13+C7*D14.5 se referă la: − Slack/Surplus – această coloană dă valorile variabilelor auxiliare. atunci variabilele auxiliare sunt nenule.6. Mai întâi se creează foaia electronică de calcul cu datele de intrare. H8= B8*D13+C8*D14. Pentru restricţiile verificate cu egalitate aceste preţuri vor fi nenule. funcţia de optimizat. Aceeaşi problemă poate fi rezolvată şi utilizând Solver-ul din Excel. ceilalţi rămânând la valorile iniţiale. Secţiunea Objective Coefficient Ranges (intervalele coeficienţilor în funcţia obiectiv) dă intervalul în care pot varia coeficienţii funcţiei obiectiv astfel încât soluţia să rămână optimă. Analiza sensibilităţii prezentată mai sus se bazează pe faptul că un singur termen liber variază la un moment dat. Pentru restricţiile cu inegalităţi stricte aceste preţuri sunt nule.3.4. din cauza nefolosirii integrale a resurselor disponibile. Celulele D13−D14 sunt considerate necunoscutele x1 – x2 . ca în Figura 4. Programare liniară 69 Informaţiile despre restricţii (Constraint) din Tabelul 4. Dacă restricţiile sunt verificate cu inegalităţi stricte. iar celula D3 = B10*D13+C10*D14. Figura 4. În Management Scientist un preţ dual înseamnă « îmbunătăţirea valorii optime a funcţiei obiectiv corespunzătoare creşterii cu o unitate a termenului liber al restricţiei » . − Dual prices – conţine informaţii despre valorile marginale ale resurselor.3 . Ultima secţiune Right Hand Side Ranges (intervalele termenilor liberi) conţine intervalele în care ar trebui să se menţină termenii liberi pentru ca preţul dual asociat restricţiei să rămână nemodificat. H9= B9*D13+C9*D14. altfel vor fi nule.

Se selectează tipul de optim max sau min. apoi se alege simbolul ≥ . Figura 4.70 Modele şi algoritmi de optimizare Pentru rezolvarea acestei probleme folosind Solver-ul trebuie urmăriţi paşii: 1. Când s-au introdus toate restricţiile se selectează butonul OK. astfel (Figura 4. Apare caseta de dialog Solver Parameters (Parametrii Rezolvitor). Solver (Rezolvitor). Se alege semnul ≤ şi se selectează în caseta Constraint celulele cu termenii liberi (D7−D9). 4. Se selectează celula conţinând formula cu funcţia de optimizat (D3). 3. de aici.5. iar în caseta Add Constraint se trec celulele în care s-au înscris formulele cu restricţiile (H7−H9). În caseta de text Subject to the constraints (Se supune restricţiilor) se impune condiţia de nenegativitate asupra variabilelor x1 – x2 şi celelate restricţii ale modelului. max. Se selectează celule D13−D14 în Cell Reference. Se selectează din meniul bară principal Tools (Instrumente) şi. 2.4 5. Se apasă butonul Solve (Rezolvare) şi apare caseta de dialog Solver Results (Rezultate rezolvitor). iar în Reports (Rapoarte) se pot alege . pentru acest caz. 7. Se apăsă butonul Add (Adăugare) şi apare caseta de dialog Add Constraint (Adăugare restricţie). Se apasă butonul OK.4): Figura 4. În caseta de text By Changing Cells (Prin modificarea celulelor) se selectează celulele care reprezintă variabilele problemei (D13−D14).5 6. Adăugarea celorlalte restricţii se face apăsând butonul Add. care are în caseta de text Set Target Cell (Setare Celulă ţintă) celula de optimizat (D3). Figura 4. iar în caseta Constraint (Restricţii) celulele F7−F8.

Sensitivity Report (Raport sensibilitate).2 5. 4.8 18 1. Se apasă butonul OK după precizarea tipurilor de rapoarte.6 Formula $G$13<=$D$7 $G$14<=$D$8 $G$15<=$D$9 $B$13>=$E$13 $B$14>=$E$14 Status Binding Not Binding Binding Not Binding Not Binding Slack 0 9.0 Sensitivity Report Worksheet: [Programare liniara. Limits Report (Raport limite) ca în Tabelele 4.6 1.xls]Sheet1 Report Created: 7/23/2002 7:38:01 AM Target Cell (Max) Original Final Value Value 0 21. Se creează Answer Report (Raport răspuns).2 5.2 5.2 0 1.7 Microsoft Excel 10.2 5.8.0 Answer Report Worksheet: [Programare liniara. Tabelul 4.7 şi respectiv 4.4.6 Reduced Cost 0 0 Objective Coefficient 4 3 Allowable Increase 2 9 Allowable Decrease 3 1 .6.6 Cell $D$3 Name Functia de optimizat Cell $B$13 $B$14 Cell $G$13 $G$14 $G$15 $B$13 $B$14 Name x1 Produsul P1 x2 Produsul P1 Name 2x1+x2<=8 3x1+2x2<=24 x1+3x2<=18 x1 Produsul P1 x2 Produsul P1 AdjusTable Cells Original Value Final Value 0 0 Constraints Cell Value 8 14.6 Tabelul 4.xls]Sheet1 Report Created: 7/23/2002 7:38:02 AM AdjusTable Cells Final Cell $B$13 $B$14 Name x1 Produsul P1 x2 Produsul P1 Value 1.6 Microsoft Excel 10. Programare liniară 71 formele de prezentare a rezultatelor.

0 Limits Report Worksheet: [Programare liniara. . Această situaţie se numeşte ciclare. Side 8 24 18 Allowable Increase 6.8 18 Shadow Price 1.1) din enunţul algoritmului simplex.72 Constraints Final Cell $G$13 $G$14 $G$15 Name 2x1+x2<=8 3x1+2x2<=24 x1+3x2<=18 Value 8 14.xls]Limits Report 1 Report Created: 7/23/2002 7:38:02 AM Target Cell $D$3 Cell $B$13 $B$14 Name Functia de optimizat AdjusTable Name x1 Produsul P1 x2 Produsul P1 Value 1.57142857 1E+30 6 Allowable Decrease 2 9.6 21.8 Upper Limit 1. Dacă valoarea funcţiei obiectiv nu se modifică în cursul câtorva iteraţii succesive.6 Target Result 21.2 14 Tabeleul 4.8 4.1) sau b.6 Value 21. Convergenţa algoritmului simplex.8 0 0. rezultă (Zidăroiu.2 5.6 Lower Limit 0 0 Target Result 16. şi atunci procesul devine infinit fără a conduce la soluţie. este posibil să revenim la una din bazele prin care am trecut deja. 1983) că într-un număr finit de iteraţii se ajunge la una din situaţiile a. 4. xl (z k − c k ) şi această expresie Variaţia funcţiei obiectiv la o iteraţie este y lk este nulă dacă şi numai dacă x l =0.H.2 5. adică dacă programul este degenerat. Degenerare şi ciclare Dacă în cursul aplicării algoritmului simplex valoarea funcţiei obiectiv scade la fiecare iteraţie. deci o valoare bine determinată a funcţiei obiectiv). Deoarece m numărul bazelor este finit (cel mult C n ).8.8 Microsoft Excel 10.6 Se obţin aceleaşi rezultate pentru funcţia obiectiv şi pentru valorile necunoscutelor ca şi cu Management Scientist.4 Modele şi algoritmi de optimizare Constraint R. atunci nici o bază nu se poate repeta (fiecărei baze îi corespunde un program de bază.

deşi aplicăm regula. presupunem că baza curentă este situată pe ultimele m coloane.37). adică. de asemenea ciclează. Pentru o problemă degenerată. Pentru demonstrarea valabilităţii generale a algoritmului simplex este totuşi necesară o regulă care să facă posibilă înlăturarea ciclării. este asigurată. Fără a restrânge generalitatea. în principiu. b) pentru ieşirea din bază se ia coloana candidată cu indicele cel mai mic. atunci când criteriul de ieşire al algoritmului simplex. Reading. Vom demonstra prin reducere la absurd că regula lui Bland înlătură ciclarea. iar vectorul coeficienţilor funcţiei obiectiv c. apare ciclarea. cel mai mic indice { } de coloană favorabilă pentru a intra în noua bază.4.7. degenerarea poate apărea numai în acest caz. l şi h. În timpul ciclului un număr finit de coloane intră şi ies din bază. Presupunem că această nouă problemă are m linii şi n coloane şi că suntem în situaţia ca să înlocuim coloana n cu coloana p. Presupunem că. Din partea b) a regulii lui Bland. Presupunem că acest minim se atinge pentru doi indici. y lk y hk şi presupunem că alegem variabila xl să părăsească baza. Ştergem coloanele şi liniile care nu conţin pivotul în timpul unui ciclu. Programare liniară 73 Pentru o problemă nedegenerată. Degenerarea apare.). Mass. în afara cazului în care vectorul b are componente nule. adică având cel puţin un program degenerat. Regula lui Bland de înlăturare a ciclării (Luenberger. Putem considera problema de programare liniară redusă ca având matricea coeficienţilor restricţiilor A . 1989): a) se selectează coloana q = min q z q − c q > 0 . Degenerarea nu implică în mod necesar ciclarea: cu toate că foarte multe probleme practice sunt degenerate. 1962 Linear Programming. mai precis faptul că el conduce la o soluţie într-un număr finit de iteraţii. adică xl x = h . ciclarea. Notăm pivotul cu amp >0. exemplele de ciclare se construiesc cu destulă dificultate (exemplul dat de Beale în Hadley G. an poate părăsi baza numai dacă nu există egalitatea în testul raportului din criteriul de ieşire . nu defineşte în mod unic variabila care iese din bază. y lk şi deci noul program de bază va fi degenerat. mai precis minimul (4. Atunci ~ y B x h = x h − xl hk = 0 . convergenţa algoritmului simplex. obţinând o nouă problemă de programare liniară redusă care. Dacă programul iniţial nu va fi degenerat. Fiecare dintre aceste coloane intră la nivelul 0 şi funcţia obiectiv nu-şi schimbă valoarea. este posibilă. Addison−Wesley. Observaţia 4.

P2 . Popescu. mergând de la stânga spre dreapta. Observaţia 4. 1983). consumul specific şi profitul unitar pentru fiecare tip de produs sunt date de tabelul 4. Disponibilul de materii prime. 4. 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 . Să considerăm cazul când an este în situaţia de a intra în bază. iar aip≤0 .9. 1978). (∀ )i ≠ n . Interpretarea geometrică a algoritmului simplex Rezolvarea problemelor simple de programare liniară (n=2 sau n=3) se poate face şi geometric. ( ) Contradicţie cu faptul că r p ≤ 0 . Tabelul 4. precizăm variabila care iese din bază ca fiind cea care corespunde raportului minim (Zidăroiu. sau cu cea lexicografică a lui Dantzig şi Wolfe .9. Pentru exemplificare considerăm următoarea problemă (Mihăilă. respectiv. Îndepărtarea situaţiei de ciclare se poate face şi cu metoda perturbării a lui A. Atunci r p = λ ′a p − c p > c p > 0 . Aplicăm formula ′ ri = ⎛ c B B −1 S ⎞ − c i ⎜ ⎟ ⎝ ⎠i ′ ultimelor m coloane ca să arătăm că fiecare componentă λ = (c B ) B −1 ≤ 0 cu excepţia lui λ m > 0 . în momentul când unul dintre rapoarte este mai mic decât celelalte. O regulă practică de evitare a ciclării este următoarea: se divid liniile corespunzătoare variabilelor nule din Tabelul simplex prin pivoţii posibili.9 Produsul Materia primă M1 M2 M3 M4 Profit unitar Consum specific P1 2 1 4 0 2 P2 2 2 0 4 3 12 8 16 12 Disponibil Să se determine cantităţile x şi y care trebuie realizate din produsele P1 .74 Modele şi algoritmi de optimizare din bază şi atunci b=0. M4 . Charnes. deoarece toate coloanele sunt în ciclu. M2.8. pentru ca profitul total să fie maxim. M3. . Realizarea a două produse P1 şi P2 se face folosind patru materii prime M1.

3 3 care reprezintă un fascicul de drepte.6 obiectiv sub forma f 2 (d) y = − x . trebuie găsită acea dreaptă din fasciculul (d) care are ordonata la origine cea mai mare şi care trece printr-un punct din poligonul soluţiilor. 4x=16 ⇒ x=4 (d3) . aşa cum rezultă din Tabelul 4.4.6). un vârf al poligonului soluţiilor. Astfel. astfel încât să se verifice restricţiile. x+2y=8 ⇒ y=4− 2 y=3 (d4) . x≥0 . y0) să ia valoarea maximă. Funcţia f va avea maximul o dată cu ordonata la origine a dreptei (d). Programare liniară 75 Rezolvare Funcţia de optimizat (obiectiv) este f(x. Restricţiile problemei. 4y=12 ⇒ x+y=6 ⇒ y=6−x (d1) . y≥0 . Din d4 acest motiv se numeşte D C poligonul soluţiilor. y0 . ale cărui puncte constituie soluţii ale fmax problemei de programare 4 R a liniară (mulţimea punctelor admmisibile). Considerăm restricţiile cu egalităţi şi reprezentăm grafic dreptele ale căror ecuaţii rezultă (Figura 4. d1 . Să alegem dintre A aceste soluţii pe cele care dau O 0 2 4 6 valoarea maximă pentru funcţia obiectiv. y ≥ 0 ⎩ Se cere să se determine necunoscutele x0 . x (d2) .8. Se observă că acea dreaptă trebuie să treacă prin punctul B.y) = 2x + 3y . iar f(x0 . sunt: ⎧ 2x + 2 y ≤ 12 ⎪ x + 2y ≤ 8 ⎪ ⎪ ⎨ 4 x + 0 y ≤ 16 ⎪ 0 x + 4 y ≤ 12 ⎪ ⎪x ≥ 0 . Reprezentarea grafică a restricţiilor conduce la poligonul OABCD. considerând f ca parametru ( (g) o dreaptă din fascicul). Rezultă g că realizarea practică a B 2 producţiei celor două produse din cele patru materii prime se poate face într-o infinitate d3 de moduri. Punem funcţia Figura 4.

4 2 fiind paralelă cu dreapta corespunzătoare celei de-a doua restricţii (latura BC a poligonului soluţiilor). adică în această variantă sortimentul nu se produce). Avem de-a face cu o problemă cu o infinitate de soluţii optime.10 se prezintă starea sistemului de restricţii şi gradul de utilizare a resurselor pentru soluţia optimă. 4. Această concluzie este dedusă din considerente pur matematice şi în afara oricăror considerente economice.76 Modele şi algoritmi de optimizare x =6−x ⇒ x=4 . Deoarece programul optim este un program de bază. 1968). se modifică profitul unitar pentru produsul P2 .10 Cantitatea folosită pentru Cantitatea programul optim disponibilă 12 2⋅4+2⋅2=12 8 1⋅4+2⋅2=8 16 4⋅4+0⋅2=16 12 0⋅4+4⋅2=8 Gradul de folosinţă 100% 100% 100% 66. deoarece dreapta (d) nu este paralelă cu nici o latură a poligonului soluţiilor. atunci dreapta (d) devine f x (d’) y = − .10. în grupe de activităţi de bază. xk=0. Ax=b (Dragomirescu şi Maliţa. ci cel mult m (cazul programului nedegenerat). Se pot introduce alte criterii suplimentare pentru a putea selecta o soluţie. Presupunem că activitatea k nu face parte din grupul activităţilor de bază corespunzătoare unei baze B (adică xk nu este variabilă de bază. În Tabelul 4.67% {B} = ⎧ y = 4 − x ⎫ I {y = 6 − x} ⇒ ⎨ ⎬ Problema are soluţie unică. Observăm că cele n activităţi de producţie se asociază câte m. În acest caz. Pentru n > 3 nu mai pot fi reprezentate grafic hiperpoliedrele soluţiilor şi deci metoda devine impracticabilă. în locul poligonului soluţiilor obţinându-se poliedrul soluţiilor. nu se vor produce toate cele n sortimente). 2)=14 . corespunzătoare programelor de bază. Dacă. y=2 2⎭ 2 ⎩ Valoarea funcţiei obiectiv este f(4. Interpretarea economică a algoritmului simplex Revenim la problema "utilizarea optimă a resurselor" şi presupunem că restricţiile sunt sub formă de egalităţi. devenind 4. de exemplu. toate punctele segmentului BC sunt soluţii optime ale problemei date. Dacă dorim să mărim nivelul acestei . rezultă concluzia interesantă că într-o organizare optimă a producţiei nu se vor desfăşura toate cele n activităţi posibile (deci. 4− Materia primă M1 M2 M3 M4 Tabelul 4. Metoda geometrică s-ar mai putea aplica şi în cazul a trei necunoscute.

adică producerea sortimentului k. deci. Regăsim astfel criteriul de intrare în bază al algoritmului simplex.41). 4. pentru care activitatea de bază l atinge nivelul 0. . atunci x corespunzător este un program de bază pentru (4. 1983) : ⎧min c ′x ⎪ (4. Dacă zk−ck < 0 (pentru problema de maximizare a beneficiilor). Aplicarea algoritmului simplex constă astfel într-o explorare sistematică a diverselor variante de m activităţi de bază. la fiecare iteraţie se înlocuieşte o activitate l printr-o activitate k. adică (Zidăroiu.39). cu xa = 0.11.37). atunci ∆ z>0 şi. Programare liniară 77 activităţi. producţiile celorlalte sortimente de bază se vor modifica în conformitate cu (4. i∈B adică o creştere a lui xk cu o unitate aduce. până când. dacă nu. şi deci nici o creştere a profitului nu mai este posibilă. Creşterea lui xk cu o unitate implică variaţii de −yik ale celorlalte activităţi şi deci şi o variaţie a funcţiei obiectiv ∆z = c k + ∑ ci (− y ik ) = c k − z k . se înmulţeşte linia respectivă cu −1. aduce o îmbunătăţire a funcţiei obiectiv.4. Metoda celor două faze Metoda celor două faze permite obţinerea unui program de bază de plecare în rezolvarea problemei de programare iniţială sub forma standard. Dacă se obţine un astfel de program de bază cu xa = 0.42) are programe (x. adică să producem sortimentul k în cantitatea xk > 0. introducerea activităţii k în bază. ceea ce revine la o sporire a profitului total. rezultă că xk poate creşte cel mult până la valoarea dată de (4.41) ⎨ Ax = b ⎪x ≥ 0 ⎩ Se poate presupune că bi ≥ 0. cum nu pot fi reduse decât cel mult până la 0.42) ⎨x ≥ 0 ⎪x a ≥ 0 ⎩ Problema (4. unele vor trebui reduse şi. un profit suplimentar ck−zk. Aceasta este interpretarea criteriului de ieşire. pentru toate activităţile care nu sunt în bază. xa). 1≤ i ≤ m . Se adăugă la fiecare ecuaţie câte o variabilă artificială x ia şi se obţine: ⎧ Ax + Ix a = b ⎪ (4. avem zk−ck ≥ 0. în acelaşi timp.41) are programe dacă (4. obţinându-se o creştere a profitului total.

desigur cu valoarea 0.9. Faza I constă din eliminarea din bază a variabilelor artificiale x ia şi înlocuirea lor cu variabilele xj. Matricea A este acum transformată aşa cum a ieşit din faza I. atunci (4. În cele prezentate până acum am presupus că rang A = m. pornind de la acest tabel simplex. Introducerea variabilelor artificiale face ca rangul matricei [A. în care calculăm doar elementele liniei zj−cj corespunzătoare funcţiei obiectiv din faza a II−a. atunci problema (4. Deoarece x ia ≥ 0 ⇒ ∑ x ia ≥ 0 . variabilele x ia = 0 pot fi întotdeauna înlocuite cu variabilele xj care intră în bază tot cu valoarea 0. Se observă că pentru problema (4. (ii) dacă rangA < m.78 Modele şi algoritmi de optimizare În faza I pentru a obţine un program de bază al sistemului (4. coloanele acestora sunt şterse din tabelul simplex şi se începe faza a II-a. 1 ≤ j ≤ m ⎩ j (4. ⎪x ≥ 0 ⎩ Observaţia 4. şi anume: (i) dacă rang A = m (dar problema este degenerată). şi se trece la faza a II-a pentru rezolvarea problemei (4.I]. 1 ≤ i ≤ n ⎪ x a ≥ 0. atunci când se ajunge la min ∑ x ia = 0. Dacă rang A < m sau dacă problema este degenerată. Când toate variabilele au fost eliminate din bază. nu este posibilă eliminarea tuturor variabilelor x ia (câteva rămân în bază cu valoarea 0). I] să fie sigur m.43) dispunem de programul de bază iniţial x=0.43) folosind algoritmul simplex obişnuit. liniile corespunzătoare ale matricei . şi deci min W ≥ 0. este posibil să mai rămână în bază câteva variabile artificiale. deci un program de bază al problemei (4.43) ar avea programe cu xa = 0 şi deci min W = 0) (ii) dacă min W = 0. Faza I se consideră încheiată atunci când toate variabilele x ia au fost eliminate. În acest caz.41) (după eliminarea liniilor redundante). ⎧min c ′x ⎪ Faza a II−a ⎨ Ax = b . am obţinut un program cu xia = 0. xa = b ( ≥ 0 ). 1 ≤ i ≤ m. fără să producă vreo modificare în funcţia obiectiv. adică la sfârşitul fazei I.41) nu are program de bază (dacă ar avea. corespunzător bazei I din matricea acestui sistem [A.41) se rezolvă problema de programare liniară ⎧min ∑ x ia = W ⎪ a ⎪ Ax + Ix = b ⎨ ⎪ x i ≥ 0.43). Sunt posibile 2 cazuri: (i) dacă min W > 0.

Desigur că dacă există k astfel de variabile. Atunci funcţia de optimizat este f = 5x1+4x2+6x3 . ceea ce scurtează faza I. m. x3 cantităţile sortate pe liniile S1 . Să se determine repartiţia optimă pe liniile de sortare a agregatului astfel încât profitul obţinut să fie maxim. în aceste coloane se găseşte matricea B−1I = B−1. Profitul încasat de pe urma sortării materialelor diferă de la o linie la alta precum diferă şi cantităţile ce pot fi sortate conform cu Tabelul 4.11. Exemplu. În acest caz. la sfârşitul fazei I nu mai înlăturăm din tabel coloanele corespunzătoare variabilelor artificiale. m. pentru 2 tipuri de agregate A1. Uneori este necesară cunoaşterea inversei bazei curente a problemei de programare. A2 şi trebuie să sorteze 300 tone din primul tip şi 372 tone din al doilea tip.11 Agregat Linie de sortare S1 S2 S3 Cantitatea ce trebuie sortată A1 2 3 1 300 tone A2 1 2 2 372 tone Profit 5 u. În fiecare tabel al fazei a II−a. Rezolvare a) Modelarea problemei Fie x1. adică matricea A conţine un vector unitate. S3. atunci în ecuaţia respectivă nu este necesară introducerea unei variabile auxiliare. 4 u. . vom introduce doar n−k variabile artificiale. O balastieră are 3 linii de sortare S1. Această discuţie arată că nu este necesar să se impună rang A = m.42) cu b ≥ 0 există xj care apare într-o singură ecuaţie şi cu coeficient pozitiv. Tabelul 4. variabila xj putând fi luată în baza iniţială. S2.4. S2 . m. Dacă în problema (4. adică inversa bazei curente B. Programare liniară 79 A sunt combinaţii ale celorlalte. adică restricţiile corespunzătoare a'i x = bi sunt consecinţe ale celorlalte şi se pot elimina. x2 . S3 respectiv. 6 u.

c) Culegerea şi interpretarea rezultatelor Algoritmul se opreşte cu optim finit. ⎪x . iar la iteraţia a doua a ieşit ⎛3 1⎞ a din bază x 2 şi a intrat x3. x3 ≥ 0 ⎪ ⎩ Calculele fazei a II−a sunt trecute în Tabelul 4. Baza obţinută B = ⎜ ⎜ 2 2 ⎟ are inversa în tabelul final ⎟ ⎝ ⎠ 1⎞ ⎛ 1 − ⎟ ⎜ -1 4⎟ . se ⎟ ⎝ ⎠ aplică metoda celor două faze. obţinut pentru x1=76 .12 . . x2=0 . x . x . x ≥ 0 ⎩ 1 2 3 ⎛ 2 3 1⎞ Deoarece matricea A = ⎜ ⎜ 1 2 2 ⎟ a restricţiilor nu are o bază evidenţiată.13. 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 . anume.80 Modele şi algoritmi de optimizare Trebuie determinat maximul acestei funcţii cu restricţiile ⎧2 x1 + 3x 2 + x3 = 300 ⎪ ⎨ x1 + 2 x 2 + 2 x3 = 372 . b) Metoda celor două faze i) Faza I Se aplică algoritmul simplex problemei a min x1a + x 2 { } a 1 a 2 ⎧ 2 x1 + 3 x 2 + x3 + x = 300 ⎪ ⎨ x1 + 2 x 2 + 2 x3 + x = 372 ⎪ x . care constituie o soluţie de bază nedegenerată. x . x3=148 . x 2 . xa . profitul maxim este 1268. al fazei I sub variabilele artificiale. La prima iteraţie a ieşit din bază x1a şi a intrat x2 . xa ≥ 0 2 ⎩ 1 2 3 1 Calculele fazei I sunt trecute în Tabelul 4.

Programare liniară 81 Tabelul 4.4.12 0 0 0 1 1 a x2 alegem min CVB VB VVB x1 x2 x3 x1a xi y 300 3 ik = 100 1 x1a 300 2 3 1 1 0 1 a x2 372 1 2 2 0 1 372 = 186 2 valoarea funcţiei obiectiv z alegem max 672 3 5 3 0 0 zj−cj>0 100 = 300 1 3 172 = 129 4 3 0 x2 100 2 3 1 1 3 1 3 0 1 a x2 172 − 1 3 0 4 3 − 2 3 1 valoarea funcţiei obiectiv z 172 − 1 3 4 0 3 − 5 3 alegem max 0 zj−cj>0 8 0 x2 57 3 4 − 1 4 1 0 1 2 − 1 2 − 1 4 0 x3 129 0 1 3 4 24 valoarea funcţiei obiectiv z alegem max 0 0 0 0 −1 −1 zj−cj>0 .

12.13 5 4 CVB VB VVB 6 x1 3 4 1 4 7 2 x2 x3 alegem min xi y ik 4 x2 57 1 0 228 = 76 3 6 x3 129 − 0 1 valoarea funcţiei obiectiv z 1002 − alegem min 0 0 zj−cj<0 4 3 1 3 5 x1 76 1 0 6 x3 148 0 1 Valoarea funcţiei obiectiv z 1268 0 14 3 alegem min 0 zj−cj<0 4. dar în timp ce o problemă este de minim. Dualitatea în programarea liniară Oricărei probleme de programare liniară (numită problemă primală) i se asociază o problemă de programare liniară duală pornind de la aceleaşi costuri şi coeficienţi ai restricţiilor.82 Modele şi algoritmi de optimizare Tabelul 4. Fie problema de programare liniară sub forma generală (4.20) este următoarea problemă de programare liniară . Vom demonstra că dacă valorile optime ale funcţiilor obiectiv sunt finite.Variabilele problemei duale pot fi interpretate ca preţuri asociate cu restricţiile problemei primale şi această asociere permite o interpretare economică a problemei duale. atunci ele sunt egale.20). cealaltă este de maxim. Problema duală asociată problemei (4.

f) variabilele duale (primale) asociate unor restricţii primale (duale). e) variabilele duale (primale) asociate unor restricţii primale (duale) concordante sunt supuse condiţiei de nenegativitate.44) formează un cuplu de probleme duale.20) şi (4. Din definiţia dată rezultă că: − duala unei probleme de programare sub forma standard ⎧min c ′x ⎪ ⎨ Ax = b ⎪x ≥ 0 ⎩ este problema de programare liniară ⎧max b′u ⎪ t ⎨A u ≤ c ⎪u − arbitrar ⎩ − duala unei probleme de programare sub forma canonică ⎧max c ′x ⎪ ⎨ Ax ≤ b ⎪x ≥ 0 ⎩ (4. (4. c) o problemă de maximizare (minimizare) se transformă într-o problemă de minimizare (maximizare). nu sunt supuse nici unei condiţii privind semnul. u 2 − arbitrar.4. u 3 ≤ 0 ⎩ ( ) (4. d) matricea coeficienţilor sistemului de restricţii pentru problema duală este transpusa matricei coeficienţilor sistemului de restricţii ale problemei primale. De aceea. Din examinarea cuplului de probleme duale rezultă că una dintre probleme se obţine în următorul mod: a) termenii liberi din problema primală devin coeficienţi ai funcţiei obiectiv în problema duală.44) Duala dualei este chiar problema iniţială.45) (4.47) . b) coeficienţii funcţiei obiectiv din problema primală devin termeni liberi în problema duală. care sunt ecuaţii.46) (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 .47) şi (4.8)-(4.46) formează un cuplu de probleme duale asimetrice.52) B −1 b ≥ 0 O bază B din matricea A se numeşte dual admisibilă pentru problema (4. O bază B din matricea A se numeşte primal admisibilă pentru problema (4.13.48) ⎨A u ≤ c .50) ⎨ A1 u + A2 u ≤ c ⎪u1 ≥ 0 .51) În continuare sunt prezenate teoremele care stabilesc conexiunile fundamentale între cele două probleme duale. − duala unei probleme mixte ⎧min c ′x ⎪ ⎪ A1 x ≥ b1 (4.45) dacă verifică relaţia (4.45) dacă verifică relaţia (4.84 Modele şi algoritmi de optimizare este următoarea problemă de programare liniară. u 2 − arbitrar ⎩ − duala problemei de transport (4. j ⎪ i ⎪ ⎩ (4. în timp ce problemele (4. ⎪u ≥ 0 ⎩ Problemele (4. Definiţia 4.45) şi duala sa (4. care are tot forma canonică: ⎧max b ′u ⎪ t (4. 1≤ j ≤ n .49) ⎨ ⎪ A2 x = b2 ⎪x ≥ 0 ⎩ este problema ⎧max(b1′u1 + b2 u 2 ) ′ ⎪ t 1 t 2 (4.53) c ′B −1 A − c ′ ≤ 0 .11) este problema n ⎧ ⎛ m ⎞ ⎪max⎜ ∑ a i u i + ∑ b j v j ⎟ .46). ⎨u i + v j ≤ c ij .48) formează un cuplu de probleme duale simetrice.45) şi (4.1. v oarecare . Teorema fundamentală a dualităţii Fie problema primală sub forma standard (4. ⎜ i =1 ⎟ j =1 ⎪ ⎝ ⎠ ⎪ 1≤ i ≤ m . 4.

atunci rezultă că b’u ≤ x’c. Corolarul 4. Lema slabă a dualităţii. deşi cele două probleme nu formează un cuplu de probleme duale simetrice. Dacă x şi u sunt soluţii admisibile pentru problemele (4.46) şi dacă c’x0 = u’0 b . t ≥ 0 . atunci în mod necesar u’ b≤ −M pentru un M suficient de mare. Vom enunţa şi demonstra Teorema fundamentală a dualităţii. Observăm că. pentru a demonstra prima afirmaţie este suficient să presupunem că problema primală are o soluţie optimă finită şi apoi să arătăm că problema duală are o soluţie cu aceeaşi valoare pentru funcţia obiectiv.46). atunci x’c ≥ b’u (Luenberger.46).45) şi respectiv (4.1.45) şi respectiv (4. w = tb − Ax .4. atunci şi cealaltă are soluţie optimă finită şi valorile corespunzătoare ale funcţiilor obiectiv sunt egale. Teorema fundamentală a dualităţii.1 este adevărată (Luenberger. Dacă problema primală are optim infinit şi u este o soluţie admisibilă a problemei duale. dar Atu≤ c’ şi x≥0 .46) are o soluţie optimă z* finită.45) sau (4. Dacă una dintre problemele (4. Demonstraţie. Există un hiperplan care separă un con convex închis C de un vector nenul v ∉ C . care afirmă că şi reciproca Corolarului 4. Considerăm următoarea mulţime convexă în spaţiul Rm+1 : C = (r . atunci acestea sunt amândouă optime. ceea ce este imposibil.1 arată că dacă poate fi găsită o pereche de soluţii admisibile care să producă aceeaşi valoare pentru funcţiile obiectiv ale problemelor (4. Dacă una dintre cele două probleme are optim infinit. { } . Deoarece b’u =(Ax)’u =xAtu .46) are o soluţie optimă finită. 1981). Programare liniară 85 Nu vom presupune că A are rangul maxim. A doua afirmaţie este o consecinţă a lemei slabe a dualităţii. Lema următoare stabileşte o relaţie importantă între cele două probleme. w ) r = tz * − c' x . Să presupunem că problema (4. Pentru aceasta avem nevoie de următorul rezultat (demonstrat în Fletcher.45) şi (4. atunci x0 şi u0 sunt soluţii optime pentru problemele respective. Acest lucru este posibil deoarece ambele probleme pot fi rescrise în formă standard şi rolurile celor două probleme se pot inversa. Corolarul 4. II. Lema de separare. atunci cealaltă problemă nu are nici o soluţie admisibilă. Dacă x0 şi u0 sunt soluţii admisibile pentru problemele (4. Această lemă arată că o soluţie admisibilă a oricăreia dintre cele două probleme este o limită pentru valoarea funcţiei obiectiv a celeilalte probleme. 1989). 1989). x ≥ 0. Demonstraţie.

45) pentru orice α ≥ 0 şi dă valori din ce în ce mai mici pentru funcţia obiectiv.0)∈C. Fie problema de programare liniară sub forma standard (4. atunci α⋅(r. Altfel. Dacă într-un cuplu de probleme duale.0. unde t0>0 şi x0 ≥ 0 . una dintre probleme are un program optim. Aceasta contrazice ipoteza existenţei unui optim finit şi rezultă că un astfel de x0 nu există. C fiind con. Deci (1. Vom arăta că vectorul (1. 0) nu aparţine lui C.86 Modele şi algoritmi de optimizare Se poate arăta că C este un con convex închis. Dacă w= −Ax0 = 0 (t=0). există un vector nenul (s. Prin urmare s<0 şi putem presupune. 0) nu este în C.w) nu ar verifica inegalitatea hiperplanului pentru valori mari ale lui α. Pe de altă parte. atunci x+α x0 este o soluţie admisibilă pentru problema (4. fără a restrânge generalitatea. există un hiperplan care separă vectorul (1. Corolarul 4. Astfel am demonstrat că există u∈Rm cu proprietatea –r+u’w ≥ 0 pentru orice (r.2. rezultă că c≥0. obţinem că u’b ≥ z*.45) şi duala sa (4. x Dacă w= t0b−Ax0 = 0 . trebuie ca să avem c≤0. iar xB=B−1b şi xS=0. Pe de altă parte [ ] .0. dacă ar exista (r. w ) ∈ C }.46). pe măsură ce α creşte. …. atunci x = 0 este o soluţie t0 admisibilă pentru problema (4. ceea ce înseamnă că u este o soluţie admisibilă pentru problema duală. B S B S Considerăm u = c ′ B −1 şi arătăm că acest u este soluţie a problemei duale: B u ′A = [u ′B u ′S ] = c ′ c ′ B −1 S ≤ [c ′ c ′ ] = c ′ ⇒ u ′A ≤ c ′ . 0. Din lema slabă a dualităţii şi din corolarul său rezultă că u este o soluţie optimă a problemei duale. Aşadar.0) de C.….46) şi x=(xB.w)∈C. Din definiţia lui C avem că (c−u’A)x−tz*+tu’b ≥ 0 oricare ar fi x≥0 şi t≥0.46) şi deci r = z * − c' x ≤ 0 .0) şi t=1. c=0. Cum C este o mulţime convexă închisă. că s = −1. 0. Aşadar. deoarece (0. t0 ceea ce implică r≤0 (nu poate astfel să ia valoarea 1).0) o soluţie optimă de bază corespunzătoare bazei B . B B B S adică u’A este soluţie admisibilă pentru problema duală.w)∈C astfel încât sr+u’w<0. Atunci vectorul costurilor relative r = c ′ B −1 S − c ′ ≤ 0 ⇒ c ′ B −1 S ≤ c ′ .…. unde x0 ≥ 0 şi c’x0 = −1 şi dacă x este o soluţie admisibilă oarecare a problemei (4. Alegând t=0 rezultă u’A≤c’. u)∈Rm+1 şi o constantă c astfel încât : s < c = inf {sr + u' w (r .…. atunci şi cealaltă problemă are un program optim şi valorile optime ale funcţiilor obiectiv sunt egale. Punând x=(0.

atunci din Teorema fundamentală a dualităţii rezultă că u’b= c’x şi astfel (u’A−c’)x=0.45) şi (4.7. rezultă condiţiile a) şi b) din teoremă. Fie B o bază dual admisibilă pentru problema (4. Teorema ecarturilor complementare pentru cuplu de probleme duale simetrice. 1983). Programare liniară 87 u ′b = c ′ B −1 b = c ′ x B B şi astfel valoarea funcţiei obiectiv a problemei duale este pentru acest u egală cu valoarea funcţiei obiectiv a problemei primale. (∀) j ∈ S atunci problema (4. Am demonstrat următoarea teoremă. rezultă că x şi u sunt soluţii optime pentru perechea de probleme (4. adică u’b=c’x . Să notăm cu B− = i ∈ B x iB < 0 . Dacă problema de programare standard are soluţie de bază optimă corespunzătoare bazei B. O condiţie 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 .46).1. unde a j reprezintă linia j din matricea A. Teorema 4. Valorile optime ale funcţiilor obiectiv corespunzătoare celor două probleme asociate sunt egale. dacă x şi u sunt soluţii optime pentru perechea de probleme (4. Invers. din Corolarul 4. Dacă { } B−≠φ atunci baza B este şi primal admisibilă şi x B = B −1 b este program optim al problemei primale (Zidăroiu.45) şi B−≠φ.46) este ca pentru orice i să avem: a) xi > 0 ⇒ u ′a i = ci b) u ′a i < ci ⇒ xi = 0 . Teorema ecarturilor complementare pentru cuplu de probleme duale asimetrice. Demonstraţia este similară demonstraţiei teoremei precedente.4.45) şi (4. atunci u ′ = c ′ B −1 este soluţie optimă a problemei B duale asociate. Dacă (∃) i ∈ B− astfel încât y ijB ≥ 0 . Deoarece fiecare componentă a lui x este nenegativă şi fiecare componentă a lui u’A−c’ este nepozitivă.46). B fiind o bază dual admisibilă. Dacă au loc relaţiile a) şi b) atunci (u’A−c’)x=0.1 rezultă că u este soluţia optimă a problemei duale.45) nu are programe. O condiţie necesară şi suficientă ca programele x* şi u* să fie optime pentru problemele duale (4. din Corolarul 4. . Teorema 4. Atunci. şi.45) şi (4. Demonstraţie.6.

.. ar-1.…. i = 1.. Însă u(δ ) ′b = u ′ b − δ ⋅ α i′b = z B − δ ⋅ x iB şi atunci B lim u(δ ) ′ ⋅ b = +∞ . n . rezultă că A = BE r (η ) . a i linia de B B rang i din matricea B−1 şi fie u(δ ) = u B − δ ⋅ α i ..54) a) Necesitatea condiţiei. b) Dacă c r ≠ 0 . astfel încât ( ) { } ∑λ i =1 n 2 i ≠ 0 şi ∑λ a i =1 i≠r i n i + λr b = 0 ... .. ar+1.. unde E r (η ) se obţine din matricea unitate de ordinul n prin înlocuirea coloanei r cu vectorul η ′ = cr−1 (− c1 . Atunci.54) avem ∑ (λ n i =1 i≠r i + ci λ r a i + λ r c r a r = 0 . a r +1 . Fie λi . sau ii) λ r = 0 şi atunci din (4. a r −1 . Demonstraţie.. Cum i =1 i≠r n a i = Be i . i = 1. Însă din (4. a n sunt liniar dependenţi şi B nu este inversabilă. n .. Suficienţa condiţiei.54) rezultă că vectorii a1.. Atunci: a) condiţia necesară şi suficientă ca să existe B-1 este ca c r ≠ 0 .. trebuie ca c r λ r = 0 . adică problema duală are optim infinit şi din Teorema fundamentală a dualităţii... + c n a n .−cr −1 . adică a r = Bη . atunci B −1 = E r (η ) A −1 . b. sau B −1 = E r (η ) E −1 . sunt liniar dependenţi . i) cr=0 şi suntem în cazul a) al lemei. adică vectorii coloană ai matricei B sunt liniar dependenţi.…. atunci din definiţia lui c rezultă că vectorii a 1 . Atunci B u(δ ) ′a j = u′ a j − δ ⋅ α i′a j = z B − δ ⋅ y ij ≤ z B ≤ c j B j j pentru 1≤ j ≤ n . ) ceea ce înseamnă că A are coloanele liniar dependente şi astfel nu este inversabilă. iar matricea A nu este inversabilă. A t u ≤ c . Din forma lui c rezultă că b = c1 a 1 + .54) avem a r = c r−1 b − ∑ c r−1 ci a i . rezultă că şi problema primală are optim infinit. δ →∞ Aşadar. Presupunem că B nu este inversabilă şi atunci rangul ei este mai mic decât n. (4.. i ≠ r .1.−cr +1 . Dacă cr=0 . unde δ ≥ 0 . Contradicţie! b) Din (4.−cr )′ . Lema substituţiei.88 Modele şi algoritmi de optimizare ′ Demonstraţie. Fie u′ = c ′ B −1 programul dual asociat cu baza B− .. Fie A o matrice pătratică nesingulară A ∈M n (R ) şi B o matrice obţinută din A prin înlocuirea coloanei ar cu vectorul nenul b ∈ R n şi c = A −1 b ... Sunt posibile două cazuri. an.

8. B B ~ B Demonstraţie. Programare liniară 89 Teorema 4.. B lj ~ (∀) j ∈ S pentru Din definiţia lui k∈S B lj rezultă că şi z B − c j ≤ 0 pentru j ~ (∀) j ∈ S pentru care y < 0 . Pentru j=l avem z lB − c l = − z kB − c k ~ ( Aşadar. 1 ≤ j ≤ n ). B astfel obţinută este o bază (deoarece y lk ≠ 0 şi se verifică ipotezele Lemei substituţiei). rezultă că z B − c j ≤ 0 pentru j care y ≥ 0 . iar k∈S asfel încât să fie satisfăcută condiţia B ⎫ ⎧ B ⎪ z j − c j ⎪ z k − ck min ⎨ = ⎬ B B B j ylj <0 ⎪ y lk ⎭ ⎩ y lj ⎪ ~ atunci matricea B obţinută din matricea B prin înlocuirea coloanei al cu coloana ak este o bază dual admisibilă. adică u ′~ b ≥ u ′ b . sau până la punerea în evidenţă a faptului că problema j primală are optim infinit. Algoritmul simplex primal explorează bazele primal admisibile ale problemei (4. Fie B o bază dual admisibilă pentru problema primală (4. numit algoritmul simplex dual. y lk ( ) ( ) B fiind o bază dual admisibilă. . ~ B 4.45) şi B B−≠φ.40) rezultă că ~ z = z − z − ck B B k ( ) xr . adică )1 ~ B este o bază dual admisibilă. Conform cu relaţiile (4. B y lk (∀) j ∈ S~ .4.45) până la obţinerea unei baze primal admisibile care să fie şi dual admisibilă ( z B − c j ≤ 0 . Din relaţiile (4. Algoritmul simplex dual Prin aplicarea algoritmului simplex la problema duală se obţine un nou algoritm pentru problema iniţială. Dacă pentru (∀) i ∈ B− . (∃) j ∈ S astfel încât y ij < 0 şi alegem l∈B− arbitrar. Dar B y lk B z B = u ′ b şi B z B = u′~ b şi atunci u B este cel puţin la fel de bun ca şi uB. j ∈ S . iar programul dual asociat u B este cel ~ puţin la fel de bun ca uB.14. zB − cj ≤ 0 j ~ are loc pentru ~ B <0.40) avem B ~ y rj B B B z j − c j = z j − c j − z k − ck B .

Astfel. Considerăm problema de programare liniară sub forma standard şi fie B o bază cunoscută a acestei probleme. Atunci. notând zj=u’aj şi observând că u’aj=yij . atunci când o problemă de programare liniară este rezolvată şi din aceasta se construieşte o problemă nouă prin schimbarea vectorului termenilor liberi b (postoptimizare sau reoptimizare). Cele m egalităţi în noua soluţie determină o nouă bază. dar soluţia nu este admisibilă. (elementele (i. pentru problema de programare liniară se cunoaşte o soluţie de bază. pentru u ′ = u ′ − ε α i avem u ′a j = u ′a j − εα i a j . n .56) . O astfel de situaţie apare. în acelaşi timp valoarea funcţiei obiectiv pentru problema duală creşte. În această situaţie. Presupunând că baza este formată cu primele m coloane ale lui A.90 Modele şi algoritmi de optimizare Algoritmul simplex dual explorează bazele dual admisibile ale problemei (4. Dacă xB=B−1b≥0. j = m + 1.55) De asemenea. În algoritmul simplex primal se obţine o succesiune de programe de bază −1 ( B b ≥ 0 ). Vectorul u este admisibil pentru problema duală şi atunci are loc inegalitatea u’aj≤cj pentru j = 1. m . această soluţie este primal admisibilă şi atunci ea este optimă. Într-o iteraţie a metodei simplex duale vom găsi un nou vector u . sau până la punerea în evidenţă a faptului că problema duală nu are programe. avem: u ′a j = c j . în timp ce în algoritmul simplex dual funcţia obiectiv creşte spre maxim. j = 1. n . u ′b = u′b − ε xiB Pentru cuplul de probleme duale (4. j≠i j≠i (4. dispunând de o soluţie admisibilă de bază pentru problema duală este de preferat să continuăm să rezolvăm problema duală. j = m + 1. Notăm linia i a matricei B−1 cu α i . Adesea. dar care nu este şi admisibilă şi pentru care multiplicatorii simplex sunt admisibili pentru problema duală asociată. n . u ′a i = c i − ε u ′a j = z j − εy ij . j) din tabelul simplex). În tabelul simplex această situaţie corespunde stării în care ultima linie (zj−cj) nu are elemente pozitive. iar u′ = c ′ B −1 este admisibilă pentru B problema duală. astfel încât una din egalităţile de mai sus devine inegalitate. de exemplu. iar în algoritmul simplex dual se obţine o succesiune de soluţii de bază care nu sunt programe (B−1b nu are toate componentele nenegative). iar una din inegalităţi devine egalitate. j = 1. cu excepţia degenerării. Pentru o problemă de minimizare în algoritmul simplex funcţia obiectiv descreşte spre minim. atunci au loc egalităţile u’aj=cj . m şi.46) până la obţinerea unei baze dual admisibile care să fie şi primal admisibilă ( B −1b ≥ 0 ). inegalităţile u’aj<cj .

Se calculează ~ ~ ~ ~ y lj B x x x B B x l = l .4. a) Criteriu de ieşire din bază 1) dacă toţi x i ≥ 0 . z j − c j . x iB = x i − y ik i (i ≠ l ) . y lk 1 ≤ i ≤ n .5.57) Pas 2. z j − c j = z j − c j − (z k − c k ) ~ B y lj y lk .57) ne permite să afirmăm că noua soluţie va fi din nou dual admisibilă. optimul trebuie să fie obţinut într-un număr finit de iteraţii. c) algoritmul nu se termină decât cu soluţia optimă şi valoarea corespunzătoare pentru funcţia obiectiv sau dacă problema duală are valoarea nemărginită pentru funcţia obiectiv. Pas 1. b) din relaţia (4. b) Criteriu de intrare în bază 1) dacă toţi ylj ≥ 0 . se calculează x = B -1b . d) deoarece există numai un număr finit de baze. y ij = y ij − y ik i (i ≠ l ) y lk y lk y lk y lk z = z B -( z k − c k ) ~ B xl . înlocuind B cu B . În continuare sunt prezentate câteva observaţii privind algoritmului de mai sus. z = c ′ x B B B B .1.56) şi din alegerea lui x l < 0 (conform cu a2 din algoritmul simplex dual) valoarea funcţiei obiectiv pentru problema duală va creşte. obţinându-se noua bază ~ B . 1 ≤ j ≤ n j B aj fiind coloane ale matricei A. atunci problema nu are programe. Programare liniară 91 ⎧min c ′x ⎪ ⎨ Ax = b ⎪ x≥0 ⎩ ⎧ max bu ′ ⎪ t ⎨ A u≤c ⎪u arbitrar ⎩ algoritmul simplex dual constă din următorii paşi. atunci programul este optim. Să considerăm problema dietei §4. atunci se determină k astfel încât ε0 = zj − cj z k − ck = min j ylj <0 y lk y lj (4. Se determină o bază dual admisibilă B . Stop! 2) dacă (∃)xi < 0 . atunci se determină l astfel încât x l = min x i x i < 0 { }. Exemplu. 1≤ j ≤ n ~ şi se trece la pasul 1. a) alegerea lui k în relaţia (4. în matricea A . y B = B -1a j . y ij = . Pas 0. Stop! 2) dacă (∃) y lj < 0 . Se înlocuieşte în baza B coloana l cu coloana k . particularizată astfel: .

15. La prima iteraţie iese din bază x5 şi intră x1. Rezultatele sunt trecute în Tabelul 4.92 Modele şi algoritmi de optimizare min {3x1+4x2+5x3} ⎧ x1 + 2 x 2 + 3x 3 ≥ 5 ⎪ ⎨2 x1 + 2 x 2 + x 3 ≥ 6 ⎪x ≥ 0 i = 1.14 .14. 1968) ⎧max c ′x ⎪ ⎨ Ax ≤ b ⎪x ≥ 0 ⎩ unde: xj este numărul de unităţi din sortimentul j care trebuie produse şi reprezintă cantitatea din resursa i care se consumă în procesul de producţie. Coloanele 4 şi 5 din matricea coeficienţilor restricţiilor dau o bază dual admisibilă. iar ∑a j =1 n ij xj ∑a i =1 m ij u i reprezintă valoarea totală a resurselor consumate pentru realizarea unei unităţi din sortimentul j. iar la iteraţia a doua iese din bază x4 şi intră x2. 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. obţinută pentru x1=1 şi x2=2 . Tabelul 4. Valoarea funcţiei obiectiv este min f=10. Interpretarea economică a algoritmului simplex dual Pentru exemplificare ne vom referi la problema utilizării eficiente a resurselor (Dragomirescu şi Maliţa. iar zj−cj sunt nepozitive.3 ⎩ i forma standard 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 duala corespunzătoare şi aplicăm 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 obţinută din precedenta prin înmulţirea primelor două restricţii cu –1. 4. deoarece valorile pentru x4 şi x5 sunt negative.

. −1 4 x2 2 0 1 5 2 −1 1 2 3 x1 1 1 0 −2 1 −1 Valoarea funcţiei obiectiv z 11 0 0 −1 −1 −1 Problema duală se poate enunţa astfel: Să se determine costurile interne unitare ale resurselor astfel încât profitul unitar al fiecărei resurse să nu depăşească valoarea resurselor consumate pentru realizarea lui.4. Inegalitatea dată de Lema slabă a dualităţii pentru acest cuplu de probleme duale ( c ′x ≤ b ′u ) are aici următoarea semnificaţie: pentru nici un plan de . 2 5 1 − − 2 2 − 3 x1 3 1 1 1 2 0 − valoarea funcţiei obiectiv z 9 0 −1 7 − 2 0 3 − 2 −1 . − 2 − 2 −1 0 x5 0 1 valoarea funcţiei obiectiv z 0 −3 −4 −5 0 0 0 x4 −2 0 −1 − 5 2 1 − 1 2 1 2 7 1 − 2. iar costul total al resurselor să fie minim. Programare liniară 3 4 5 0 0 alegem min min yij <0 93 CVB VB VVB x1 −1 −2 x2 −2 −2 x3 −3 −1 x4 x5 zj −cj y ij 0 x4 −5 −6 1 0 −3 −4 −5 .

se introduce o restricţie nouă (Maliţa şi Zidăroiu. Dacă cν f = max c j c j < 0 . Dacă nu toţi coeficienţii funcţiei obiectiv sunt nenegativi. atunci variabilele ecart formează o soluţie de bază dual admisibilă. costurile interne nenule se atribuie numai resurselor folosite integral în cadrul acestui plan. Atunci cν f = max c j = c 4 = −2 şi x4=M−x3−x6. Exemplu xν r . + xν k = M . Se obţine o j c j <0 { } nouă problemă care are toţi coeficienţii funcţiei obiectiv nenegativi: .16. xn+1 o nouă variabilă. Se obţine o mulţime de n variabile (xn+1 înlocuieşte xν f ) astfel încât toţi coeficienţii funcţiei obiectiv să fie nenegativi şi numărul restricţiilor a crescut cu o unitate. 4. egalitatea se realizează doar pentru programele optime de producţie şi pentru costuri interne optime. iar variabilele care corespund coeficienţilor cν r < 0 . 1971) x n +1 + xν 1 + xν 2 + . introducem relaţia suplimentară x 6 + x 3 + x 4 = M . Pentru a face pozitivi toţi coeficienţii funcţiei obiectiv. fiind { } ⎧min(− x 3 − 2 x 4 + x5 ) ⎪ x + 3x + x − x = −4 ⎪ 1 3 4 5 ⎨ ⎪ x 2 − x3 − 4 x 4 + x5 = 1 ⎪ xi ≥ 0 .. se înlocuieşte xν f din restricţia suplimentară în funcţia obiectiv. cu M suficient de mare. 1 ≤ r ≤ k . Relaţiile Teoremei ecarturilor complementare scrise sub forma n ⎛ ⎞ ⎛ m ⎞ u i ⎜ bi − ∑ a ij x j ⎟ = 0 . Determinarea unei soluţii dual admisibile Dacă toţi coeficienţii funcţiei obiectiv sunt nenegativi. 1 ≤ i ≤ 5 ⎩ x1. 1 ≤ i ≤ m şi x j ⎜ ∑ a ij u i − c j ⎟ = 0 . deoarece în acest caz zi−ci= −ci ≤ 0.94 Modele şi algoritmi de optimizare producţie x şi nici un sistem de costuri interne u profitul total al întreprinderii nu poate depăşi costul total al resurselor.. x2 formează o bază care nu este primal admisibilă pentru că x1= − 4 . În plus. 1 ≤ j ≤ n ⎜ ⎟ ⎜ ⎟ j =1 ⎝ i =1 ⎠ ⎝ ⎠ în acest caz au următoarea interpretare: într-un plan de producţie optim nu se pot produce sortimente pentru care consumurile de resurse – calculate pe baza costurilor interne – depăşesc profiturile.

x2 . Se cere găsirea soluţiei care aduce maximum de profit staţiei. Betonul se transportă cu ajutorul a 20 de autobetoniere de 5 m3 capacitate fiecare. Staţia este aprovizionată zilnic cu o cantitate de 180 tone de ciment . x2 . 0.1·x3 ≤ 20·5 (nu se poate depăşi capacitatea zilnică de transport) 200·x1 +300·x2 + 400·x3 ≤ 600 (nu se poate depăşi cantitatea de ciment cu care este aprovizionată zilnic staţia) S-a obţinut următoarea problemă de programare liniară: Forma canonică Forma standard . ştiind că se cere beton în cantităţi mai mari decât posibilităţile de preparare.2·x2 +0.1·x1 +0. Staţia este organizată astfel încât fiecare betonieră poate produce orice marcă de betoane.2 şi 0.2·x2 + 0.4. 4. x3 ) = 1·x1 + 1. x4 = M . x2 = 1+4M .m. Programare liniară 95 ⎧min(−2 M + x 3 + x 5 + 2 x 6 ) ⎪ ⎪ x1 + 2 x 3 − x 5 − x 6 = −4 − M ⎪ x + 3x + x + 4 x = 1 + 4M 3 5 6 ⎨ 2 ⎪ x3 + x 4 + x 6 = M ⎪ ⎪ xi ≥ 0 . x3 .1 . B200. 1. Se obţine o soluţie dual admisibiă x1= –4–M .1 zile respectiv. 300 şi 400 kg/m3 . B300). Într-o staţie de betoane se pot produce 3 tipuri de betoane (B150.8 u. Consumurile normate de ciment pe cele trei mărci de beton sunt respectiv 200.17.2 şi 0. cantităţile de beton din fiecare marcă ce se cer a fi determinate astfel încât funcţia obiectiv z = f(x1 .8·x3 . să fie maximă sub restricţiile x1 + x2 + x3 ≤ 600 (nu se poate depăşi capacitatea de producţie a staţiei) 0. Ca urmare a organizării staţiei se obţin următoarele economii pe mărci de beton: 1. / m3 . duratele ciclurilor de transport pentru cele 3 mărci de betoane fiind de 0. 1 ≤ i ≤ 6 ⎩ unde M este suficient de mare astfel încât –4–M < 0 . Probleme propuse 1. capacitatea zilnică maximă a staţiei este de 600 m3 . Rezolvare a) Modelarea problemei Notăm cu x1 .

Să se determine planul optim de producţie care în condiţiile date să dea un profit total maxim pe secţie. arată că primele două restricţii se verifică pentru soluţia de mai sus cu egalităţi.5 3 2 4 2 3 3 15 12 P3 Disponibil care conţine şi consumurile din aceste rezerve la unitatea de produs pentru fiecare tip. x2 = 4. 2. Datorită condiţiilor impuse de stocare întreaga producţie nu trebuie să depăşească 8 unităţi.2 x 2 + 0.96 Modele şi algoritmi de optimizare ⎧max{x1 + 1. unde se lucrează în flux continuu de bandă. x2=400 . x3=0 .5x1+4x2+3x3} ⎧2 x1 + 3x 2 + 2 x 3 ≤ 15 ⎪ x + 2 x + 3 x ≤ 12 ⎪ 1 2 3 . sunt necesare pentru fabricarea de panouri pentru cofraje 4 tipuri de materii prime (panel (P). Profitul este maxim dacă nu se produce beton de tipul B300. i = 1. ⎨ x1 + x 2 + x 3 ≤ 8 ⎪ ⎪ x i ≥ 0 . În urma modelării acestei probleme se obţine următorul program liniar: max f = max{1. La o secţie de producţie a unei întreprinderi de construcţii.15. Tabelul 4.8 x 3 } ⎪ x + x + x + x = 600 2 3 4 ⎪ 1 ⎪ x1 + 2 x 2 + x 3 + x 5 = 1000 ⎨ ⎪2 x + 3x + 4 x + x = 1800 2 3 6 ⎪ 1 ⎪ ⎩ x i ≥ 0 . 3. folosind rezerve de forţă de muncă (F) şi resurse financiare (B) limitate conform Tabelul 4.2 . Într-o secţie a unei întreprinderi se produc trei tipuri de produse P1. x5=0 . cuie (C)) care .2 . i = 1.15 Tip produs P1 P2 Rezerve F B Profit 2 1 1. P2 .4 pentru x1 = 0 . R. Variabilele auxiliare x4=0 .8 x 3 } ⎪ x + x + x ≤ 600 2 3 ⎪ 1 ⎪ x1 + 2 x 2 + x 3 ≤ 1000 ⎨ ⎪2 x + 3x + 4 x ≤ 1800 2 3 ⎪ 1 ⎪ ⎩ x i ≥ 0 .2 x 2 + 0. iar cea de-a treia cu inegalitate. scândură de brad (SB). 2.3 ⎩ Se obţine soluţia max f=20.6 după introducerea variabilelor ecart Se obţin următoarele rezultate: max f=680 realizat pentru x1=200 . x3 = 1. dulapi (D). i = 1. precum şi beneficiile aduse de o unitate de fiecare tip de produs. P3 . 3 ⎧max{x1 + 1. x6=200 .

4. x4=0.4 ⎩ Se obţine soluţia min f = 29 . M2 ) necesare realizării acestor produse sunt în cantităţi limitate. Trebuie rezolvată următoarea problemă de programare liniară: max f = max{6x1+5x2+2x3+6x4+6x5+5x6+6x7} .16. Consumurile de materii prime M1 .5 .16 Materie primă Stand P 1 1 0 6 SB 1 2 1 8 D 0 1 1 12 C 1 0 1 10 S1 S2 S3 Cheltuieli de muncă Nr. x2=1.17. Tabelul 4. Programare liniară 97 sunt prelucrate la 3 standuri. O secţie a unei întreprinderi are în fabricaţie 7 tipuri de produse. pentru nivelurile de consum de materiale x1=0 . x3=1 . necesar de panouri 2 4 3 Să se determine un plan de producţie astfel încât cheltuielile să fie minime. M2 pe unitatea de produs pentru fiecare tip. ⎨ ⎪ x 2 + x3 + x 4 = 3 ⎪ x i ≥ 0 . i = 1.17 Produs Materie P1 3 5 6 P2 4 3 5 P3 2 1 2 P4 3 4 6 P5 5 2 6 P6 2 4 5 P7 3 3 6 M1 M2 Profit Datorită unei cereri mari de produse P1 . R. P2 s-a propus ca măcar 25% din întreaga producţie a secţiei să fie reprezentată de aceste produse. Modelând problema se obţine următorul program liniar: min f = min {6x1+8x2+12x3+10x4} ⎧ x1 + x 2 + x 4 = 2 ⎪x + 2x + x = 4 ⎪ 1 2 4 . Două materii prime (M1 . Tabelul 4.5 . celelalte fiind în cantităţi suficiente oricărui plan de producţie. precum şi beneficiile nete aduse de producerea unei unităţi din fiecare tip de produs sunt date în Tabelul 4. 200 şi respectiv 300 unităţi. Să se determine un plan de producţie care să respecte condiţiile impuse şi care să aducă un profit total maxim în secţia respectivă. P1−P7 . R. 4. Repartiţia materiilor prime şi a cheltuielilor de muncă necesare prelucrării pe cele 3 standuri este dată de Tabelul 4.

23 . adică x1=0 . x2=26. Problema dietei alimentare (problemă de amestec) Un meniu trebuie să asigure necesarul în substanţele S1 . S3 . dar nu are o bază canonică evidenţiată. A3 .7 ⎩ Se obţine max f =430. ce se găsesc într-o unitate de aliment de fiecare fel. cantităţile minime necesare organismului în cele 3 substanţe.77 pentru x1=19. i = 1. astfel încât costul total al meniului să fie minim . x3=0 . 5.18.3 ⎩ După introducerea variabilelor de compensare se obţine problema sub forma standard. De aceea se aplică metoda în două faze. ⎨ ⎪ x1 + 5 x 2 + 4 x 3 − x 6 = 40 ⎪ x i ≥ 0 . 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 . x2=30. meniul constă din 8 unităţi din alimentul al doilea şi conţinutul în substanţa S2 depăşeşte minimul necesar cu 21 unităţi. x4=0 .77 . A2 . i = 1. Tabelul 4. x2= x3= x4= x5=0 . precum şi preţurile celor 3 alimente sunt trecute în Tabelul 4. S2 . ⎨ ⎪ x1 + 5 x 2 + 4 x 3 ≥ 40 ⎪ x i ≥ 0 . S3 . R. x5=21 . În urma modelării se obţine 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 . x2=8 .92 . S2 . cu ajutorul alimentelor A1 . i = 1. .6 ⎩ Se obţine min f = 56 .98 Modele şi algoritmi de optimizare ⎧3 x1 + 4 x 2 + 2 x 3 + 3x 4 + 5 x 5 + 2 x 6 + 3x 7 ≤ 200 ⎪5 x + 3 x + x + 4 x + 2 x + 4 x + 3 x ≤ 300 ⎪ 1 2 3 4 5 6 7 ⎨ − 3x1 − 3x 2 + x 3 + x 4 + x 5 + x 6 + x 7 ≤ 0 ⎪ ⎪ x i ≥ 0 .18 A1 A2 A3 4 5 1 8 3 7 5 7 2 2 4 5 Aliment Substanţă S1 S1 S1 Preţ Necesar 24 35 40 Să se determine cantităţile ce trebuie incluse în meniu din cele 3 alimente. x6=0 . Cantităţile de substanţele S1 .

se aplică metoda în două faze şi. i = 1. S2 . Substanţele S1 . 25 şi respectiv 25 unităţi din cele 4 elemente. y2 = x2−2 .4 ⎩ După aducerea la forma standard. Să se determine cantităţile ce trebuie amestecate din cele 4 substanţe astfel încât să fie îndeplinite toate condiţiile impuse. ⎨3 y 2 + 4 y 4 ≥ 19 ⎪5 y + 3 y + y ≥ 10 3 4 ⎪ 1 ⎪ y i ≥ 0 .4. x2=2 . y4 = x4 .19. E3 . se obţine soluţia: min f =65. y3 = x3 .19 Substanţă S1 S2 Element E1 E2 E3 E4 3 4 0 5 2 0 3 0 S3 1 3 0 3 S4 3 1 4 1 Conţinutul substanţelor S1 . Modelând problema se obţine 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 . iar costul total al amestecului să fie minim. . după revenirea la variabilele xi . S3 . Conţinutul unei unităţi din fiecare substanţă în cele 4 elemente este dat de Tabelul 4. S4 conţin în cantităţi diferite elementele E1 .416 . Câte o unitate din fiecare tip de substanţă costă 6. Se obţine 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. Din cele 4 substanţe trebuie făcut un amestec care să conţină cel puţin 28.416 .4 . m. x3=4. Pentru a reduce numărul restricţiilor problemei liniare obţinute se poate face schimbarea de variabile y1 = x1−3 . E4. 30. E2 . x4=4. pentru x1=3 . S2 în alte elemente ce aduc amestecului anumite proprietăţi speciale cer ca acest amestec să conţină cel puţin 3 unităţi din S1 şi cel puţin 3 unităţi din S2 . Programare liniară 99 6. 4 şi respectiv 5 u. R. Tabelul 4. i = 1.75 .

x3=0 . Notăm cu x1 .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 soluţia: x1=0 .5 Aliajul dorit va fi produs prin combinarea unor cantităţi din celelalte 5 aliaje. Se ajunge la următoarea problemă de programare liniară: min {35(x1 + x2 + x3 ) + 30(x4 + x5 + x6 )} .4 Benzină superioară 0. petrol lampant şi respectiv benzină superioară. x5 .5) care intră în alcătuirea noului aliaj. x6 . x2 . Pentru aceasta are la dispoziţie alte 5 aliaje ale căror preţuri şi compoziţii sunt date în Tabelul 4. Trebuie rezolvată următoarea problemă de programare liniară: min {5x1+4x2+3x3+2x4+1.. iar valoarea funcţiei obiectiv este min f = 3. x4=1 . obţinând dintr-un baril de petrol brut cantităţile din Tabelul 4. Să se determine cantităţile necesare realizării noului aliaj cu cost minim. Ce cantităţi de petrol brut uşor şi greu trebuie achiziţionate pentru a se realiza angajamentul cu un cost minim? R.. x5=0 .20 1 2 3 1 2 5 0 5 0 9 7 5 0 5 0 5 4 3 Aliaj %A %B Preţ/kg 4 7 5 2 5 2 5 95 5 1.9 . 8.3 0.100 Modele şi algoritmi de optimizare 7.. Notăm cu xi – cantitatea din aliajul i (i=1... x2=0.2 0. şi analog x4 .8 .20..2 Rafinăria s-a angajat să producă 900 000 barili de benzină.21.. R. 800 000 barili de petrol lampant şi 500 000 barili de benzină superioară. Rafinăria produce benzină. O întreprindere doreşte să producă un nou aliaj format din 30% metal A şi 70% metal B. Tabelul 4.3 0. O rafinărie de petrol are două surse de aprovizionare cu petrol brut: petrol brut uşor la 35$/baril şi petrol brut greu la 30 $/baril. petrol lampant şi benzină superioară. x3 cantităţile de petrol brut uşor folosite pentru obţinerea de benzină. cantităţile de petrol brut greu.3 Benzină Petrol lampant 0.2. Tabelul 4..21 Produs finit Materie primă Petrol brut uşor Petrol brut greu 0.

Programare liniară 101 ⎧0.4 x = 800 000 ⎪ 2 5 ⎨ ⎪0. i = 1.22. obţinut pentru x1=0 . O firmă produce cinci tipuri de piese de schimb pentru automobile.5 . O firmă producătoare de calculatoare prognozează că în următoarele n luni cererea va fi di . Tabelul 4.22 Tip piesă 1 2 Secţie Turnătorie Finisaj Profit / 100 unităţi 2 3 3 0 1 2 2 0 3 3 2 4 0 4 3 1 2 5 5 1 1 1 0 Capacitatea de turnare şi finisare pe parcursul unei luni este de 700. i = 1. x3=1 .4. 9. x5=0 . Numărul de ore muncă necesare pentru 100 de unităţi din fiecare tip de piesă în cele două secţii sunt date în Tabelul 4.67 barili petrol brut uşor şi 5 000 000 barili petrol brut greu. firma poate produce calculatoare la un cost c > b . x3 .3 x1 + 0.5 ⎩ i care are maximul egal cu 120.33 . x2=4 . Într-o lună firma poate produce r unităţi cu un cost b. Să se determine planul de producţie care minimizează costul. respectiv 1000 ore muncă. R. Să se determine numărul de piese din fiecare tip care trebuie produse pentru a se obţine un profit maxim. Costul unitar de stocare al calculatoarelor de la o lună la alta este s . Fiecare piesă este turnată în oţel la turnătorie şi apoi este trimisă la secţia de finisaj. costul minim fiind 208 333 333.2 x + 0. Lucrând peste program. i = 1. 10. x5 . .3 x3 + 0. x6 ≥ 0 ⎩ Pentru realizarea planului de producţie sunt necesare cantităţile 1 666 666. x4=0 .2 x6 = 500 000 ⎪ x1 . obţinem următoarea 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 .3x4 = 900 000 ⎪0. Notând cu xi numărul de sute de piese de tipul i. n . x2 . x4 .

i = 1.5. Să notăm cu α i . m . Astfel. Existenţa soluţiei şi redundanţa rezultă din observaţia de mai sus. fie ea ultima. apare numai în a i . sistemul de n+m−1 ecuaţii este liniar independent. i = 1. De aici rezultă că una dintre restricţii este redundantă. Presupunem că există o combinaţie liniară a ecuaţiilor rămase egală cu zero. α i = 0 . rezultă că orice restricţie poate fi exprimată ca o combinaţie liniară de celelalte m+n−1 . j = 1. Fiecare variabilă xin .1. Să presupunem că am eliminat o restricţie. Astfel.a ecuaţie. Aşadar. unde S = ∑ a i = ∑ b j şi care este o soluţie mărginită de ai şi bj . Demonstraţie. cele n+m−1 rămase formează un sistem liniar independent (Luenberger. Înlăturând oricare dintre restricţii. n − 1 . Din Teorema 5. Teorema 5. orice restricţie poate fi eliminată.1 rezultă că o bază pentru problema de transport este formată din m+n−1 vectori liniar independenţi. Deoarece suma restricţiilor date de centrele de aprovizionare este egală cu suma restricţiilor date de centrele de consum.8) − (4. coeficienţii acestei combinaţii liniare corespunzători primelor ecuaţii din problema de transport şi cu β j . m . i = 1. xi j = S i =1 j =1 Există în total n+m restricţii (m ecuaţii corespunzătoare restricţiilor date de centrele de aprovizionare şi cele n ecuaţii corespunzătoare restricţiilor date de centrele de consum) la care se adaugă condiţia de echilibru ∑a = ∑b i =1 i j =1 m n j . Orice restricţie se poate exprima în funcţie de celelalte m+n−1 rămase.11) are totdeauna o soluţie admisibilă. 1989). j = 1. anume m n ai b j . . Problema duală asociată problemei de transport este dată de (4. deoarece ultima ecuaţie a fost înlăturată. n − 1 coeficienţii corespunzători ultimelor n−1 ecuaţii. În restul ecuaţiilor x ij apare numai într-o ecuaţie şi astfel β j = 0. n . Problema de transport are totdeauna soluţie şi o restricţie este redundantă. iar soluţia de bază admisibilă are m+n−1 variabile.51) .1. PROBLEMA DE TRANSPORT 5. Fundamentele algoritmului de transport Problema de transport (4. Are loc următoarea teoremă.

Dacă această procedură poate fi continuată până când toate liniile au fost eliminate. În continuare vom evidenţia cea mai importantă proprietate structurală a problemei de transport: toate bazele sunt triunghiulare. j 2 ) . Din ultima condiţie rezultă că pentru x ij > 0 se obţine c ij = u i + v j .11). (i2 . jt ) . O matrice pătratică se numeşte triunghiulară dacă prin permutări ale liniilor şi coloanelor sale poate fi pusă sub forma unei matrice inferior triunghiulară. 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ă. Problema de transport 103 Teorema 5.51). x ij c ij − u i − v j = 0. ( ) Definiţia 5. Pas 1.5. . În cele ce urmează prin celulă se înţelege o pereche de indici (i. Se reia pasul 1 cu submatricea obţinută. j =1 n ∑x i =1 m ij = b j . O matrice inferior triunghiulară este triunghiulară în sensul definiţiei de mai sus. j1 ) . respectiv (4. Această proprietate simplifică rezolvarea unui sistem de ecuaţii liniare a cărui matrice a coeficienţilor are o astfel de bază şi aceasta conduce la implementarea eficientă a metodei simplex pentru problema de transport. Exemplu. j1 ) . j1 ) . L . Algoritm pentru a determina dacă o matrice este triunghiulară. Se găseşte linia care are un singur element nenul. (i1 . x ij ≥ 0 c ij − u i − v j ≥ 0 . v ) i j este optim pentru problemele (4.8)-(4. Folosind algoritmul de mai sus. (rezultă din Teorema ecarturilor complementare).2.1. Se formează o submatrice din matricea dată prin tăierea liniei şi coloanei elementului nenul din pasul 1. 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.j). (it . dacă şi numai dacă ∑ xij = ai . O matrice nesingulară superior triunghiulară este de asemenea triunghiulară deoarece prin schimbarea ordinii liniilor şi coloanelor sale devine inferior triunghiulară. (it . Cuplul de soluţii duale (x ) ij şi (u . Pas 2. iar prin ciclu se înţelege un şir de celule notate (i1 . atunci matricea este triunghiulară.

m ⎪ j =1 ⎨m ⎪∑ x ij = b j j = 1.1. ordinea coloanelor corespunzătoare elementului nenul. Teorema 5. Din Teorema 5. cu A inferior triunghiulară permite determinarea lui x1 din prima ecuaţie. Considerăm sistemul de restricţii din problema de transport: ⎧n ⎪∑ x ij = a i (− 1) i = 1. ştergând oricare dintre ecuaţiile de mai sus. 0.d. Această proprietate a matricelor este importantă şi are aplicaţii în rezolvarea sistemelor de ecuaţii liniare prin metoda substituţiei (eliminării) a lui Gauss. ⎛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 Permutăm liniile în ordinea dată de coloana din dreapta matricei B şi obţinem matricea ⎛ 0 0 1 0 0⎞ ⎜ ⎟ ⎜0 0 1 0 1⎟ B1 = ⎜ 0 0 0 1 1 ⎟ .m. Sistemul de ecuaţii Ax=b . Orice bază a problemei de transport este triunghiulară.3. n ⎪ i =1 ⎩ Schimbăm semnul la primele m ecuaţii şi atunci matricea coeficienţilor este formată numai din − 1 .a. ⎜ ⎟ ⎜1 0 0 1 0⎟ ⎜ ⎟ ⎝1 1 0 0 0⎠ Permutăm coloanele în matricea B1 în ordinea dată de linia de sub matricea B şi obţinem 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 iniţială este triunghiulară. iar sub matricea B. Demonstraţie. +1. apoi x2 din cea de-a doua ecuaţia ş. se elimină redundanţa.104 Modele şi algoritmi de optimizare Notăm în partea stângă a matricei B ordinea în care au fost găsite liniile cu un singur element nenul. Din matricea coeficienţilor care rezultă se formează o .

atunci coloana corespunzătoare din A va fi inclusă în B. u∈Rm. cel puţin o coloană a lui B trebuie să conţină numai un element nenul. B Ca să-i determinăm în mod explicit din această ecuaţie. unul egal cu +1 şi altul egal cu − 1 . În general.5. Multiplicatorii simplex asociaţi cu ecuaţiile restricţiilor îi notăm cu λ=(u. Totuşi. Metoda simplex aplicată problemei de transport. este o versiune a algoritmului simplex revizuit şi poartă numele de algoritmul de transport (datorat lui Kantorovich). Problema de transport 105 bază nesingulară. Deoarece o restricţie este redundantă. Deducem că primul pas al procedurii de verificare a triunghiularităţii se verifică şi raţionamentul se poate continua pentru submatricea obţinută din B prin tăierea liniei şi coloanei corespunzătoare elementului nenul. ecuaţiile multiplicatorilor simplex sunt ui+vj=cij (∀)i. altfel. stabilind că B este triunghiulară. dacă toate datele iniţiale sunt numere întregi. Se continuă raţionamentul. Deoarece orice matrice bază în problema de transport este triunghiulară şi toate elementele nenule sunt egale cu 1. v∈Rn . Această coloană are exact două elemenete nenule egale cu +1: unul în pozitia i din partea superioară şi altul în poziţia j din partea inferioară. soluţia va fi formată din numere întregi. Matricea coeficienţilor acestui sistem este transpusa matricei bazei. Corolar 5. Astfel există cel mult 2(m+n−1) elemente nenule în bază. ui şi vj sunt componentele corespunzătoare ale vectorului deoarece multiplicatorilor simplex. dacă orice coloană ar conţine două elemente nenule. numărul total al elementelor nenule ar fi cel puţin 2(m+n−1). aşadar este triunghiulară şi sistemul poate fi rezolvat prin metoda substituţiei. Rezultă că trebuie să fie o linie cu numai un element nenul. atunci variabilele de bază în orice soluţie de bază sunt întregi. j pentru care xij sunt bazice. atunci suma lor ar fi zero şi s-ar contrazice nesingularitatea lui B . multiplicatorii simplex se găsesc ca soluţii ale sistemului λ ′B = c ′ . Fiecare coloană a matricei B conţine cel mult două elemente nenule. . ne referim din nou la sistemul iniţial de restricţii. Dacă xij este necunoscută de bază.v) . Această coloană generează pentru multiplicatorii simplex ecuaţia ui+vj=cij .1.3. Acest lucru poate fi dat ca un corolar la Teorema 5. Aceasta înseamnă că numărul total de elemente nenule din B este mai mic decât 2(m+n−1) . dacă orice linie ar avea două sau mai multe elemente nenule. B. prin rezolvarea sistemului de ecuaţii liniare Bx=b cu metoda substituţiei. rezultă că. Astfel. ţinând seama de rezultatele de mai sus. Dacă sumele liniilor şi coloanelor unei probleme de transport sunt întregi. prin selectarea unei mulţimi de m+n−1 coloane. Dată o bază B . vom considera de exemplu că vn=0 .

106

Modele şi algoritmi de optimizare

Corolar 5.2. Dacă toate costurile unitare din problema de transport sunt întregi, atunci, dând o valoare întreagă la un multiplicator oarecare, multiplicatorii simplex asociaţi cu orice bază sunt întregi. Dacă multiplicatorii simplex sunt cunoscuţi, coeficienţii costurilor relative pentru variabilele nebazice pot fi calculaţi cu relaţiile α ′ = λS − c ′ . S S În acest caz coeficienţii 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 asemănător 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 crescătoare, valorile variabilelor de bază curente vor fi schimbate astfel încât să se menţină admisibilitatea soluţiei. Valoarea noii variabile va creşte exact până 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 soluţia are proprietăţi 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. Demonstraţie. Fie y soluţia sistemului By=d. Atunci, y este reprezentarea lui d în baza B . Acest sistem de ecuaţii poate fi rezolvat cu regula lui Cramer det B k yk = , det B unde Bk este matricea obţinută prin înlocuirea în matricea B a coloanei k cu coloana d . Atât B cât ş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 . Concluzionăm că fiecare componentă a lui y este fie 0, +1 sau − 1 . Din Teorema 5.4 rezultă că atunci când o nouă variabilă este adăugată la soluţie la un nivel unitar, variabilele de bază curente se vor schimba cu +1, − 1 sau 0. Dacă noua variabilă are valoarea θ , atunci, corespunzător, variabilele de bază se vor schimba cu +θ, −θ, sau 0. Este, aşadar, necesar să determinăm semnul schimbării fiecărei variabile de bază.

5. Problema de transport

107

Determinarea acestor semne se face prin parcurgerea tabelului de trasport. Se atribuie un semn + celulei corespunzătoare variabilei care intră în bază, reprezentând o schimbare cu +θ, unde θ nu este încă determinat. Atunci, plusurile, minusurile şi zerourile sunt atribuite unul câte unul celulelor anumitor variabile de bază, indicând schimbări cu +θ, −θ, sau 0 ca să se menţină soluţia admisibilă. La fiecare pas, există o relaţie − 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 iniţiat de celula variabilei care va intra în bază. De fapt, noua schimbare este o parte a unui ciclu de redistribuire a fluxului mărfii în sistemul de transport. După ce succesiunea de plusuri, minusuri şi zerouri a fost determinată, se obţine o nouă soluţie admisibilă prin modificarea nivelului variabilelor cu +θ, −θ, sau 0. θ trebuie determinat asfel încât vechea variabilă de bază să ia valoarea 0. Se examinează variabilele cărora li s-a atribuit semnul minus pentru a determina minimul valorilor acestor variabile, iar valoarea găsită 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ă soluţie admisibilă.

5.2. Enunţul algoritmului de transport

Pe baza rezultatelor de mai sus, se poate enunţa algoritmul de transport sub următoarea formă.
Pas 0. Se determină o soluţie de bază admisibilă x ij , corespunzătoare bazei B,

formată cu m+n−1 coloane liniar independente din matricea A şi fie B mulţimea celulelor de bază; Pas 1. Se rezolvă sistemul de ecuaţii u i + v j = c ij , (∀) (i, j ) ∈ B . Se obţine o soluţie particulară luând vn=0 şi se calculează pentru această soluţie coeficienţii de cost redus, α ij = u i + v j − cij , (∀) (i, j ) ∈ S ,

S fiind mulţimea celulelor corespunzătoare coloanelor matricei A care nu se află în B (celule secundare). Dacă α ij ≤ 0 pentru (∀) (i, j ) ∈ S , atunci soluţia de bază x ij este
optimă. Stop! Altfel, se determină ( s, k ) ∈ S , luând 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 alegând un sens de parcurgere a ciclului.

108

Modele şi algoritmi de optimizare

Se determină celula (r , t ) ∈ B care va ieşi din bază , luând drept criteriu
de ieşire 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ă soluţia de bază admisibilă x ij ~ corespunzătoare bazei B , folosind pentru schimbarea bazei formulele: ⎧ xij − xrt dacã (i,j ) este de rang par în ciclu ~ = ⎪ x + x dacã (i,j ) este de rang impar în ciclu xij ⎨ ij rt ⎪x dacã (i,j ) nu face parte din ciclu ⎩ ij ~ Se înlocuieşte B cu B , x ij cu ~ij şi se trece la Pas 1. x

5.3. Determinarea soluţiei iniţiale de bază

Algoritmul prezentat mai înainte necesită la pornire un program de bază iniţial. Metoda generală de obţinere a acestui program este următoarea (Maliţa şi Zidăroiu, 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ă operaţiile de la a) şi b) până când toate cererile sunt satisfăcute. Să demonstrăm că algoritmul de mai sus produce o soluţie de bază. De fiecare dată când apare un xij>0 se suprimă o linie şi/sau o coloană. La sfârşit, vor rămâne o coloană şi o linie nesuprimate. Până în acest moment au fost suprimate m+n−2 linii şi coloane. Cantitatea rămasă în linia nesuprimată este egală cu cantitatea rămasă în coloana nesuprimată, aşa cum rezultă din condiţia de echilibru. Satisfăcând şi ultima linie, se obţine o nouă variabilă xij>0 , adică sunt cel mult m+n−1 variabile xij>0. Există diferite metode de determinare a programului de bază iniţial obţinute din metoda generală prezentată mai sus, după cum se particularizează xij cu care se începe metoda, cum ar fi de exemplu: metoda colţului 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) corespunzătoare costului minim cij ).

5.4. Exemplu

O întreprindere de construcţii are în lucru 4 blocuri de locuinţe în diferite locuri în oraş şi se aprovizionează cu mortar de la 3 staţii de betoane de asemenea amplasate în diferite locuri. Prin contract, prima staţie 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. Preţul de transport pentru 1 m3 de la o staţie de betoane la un bloc este dat de Tabelul 5.1.
Tabelul 5.1 Bloc Staţie betoane S1 S2 S3 Necesar (bj) B1 8 4 1 5 B2 3 1 9 10 B3 5 6 4 20 B4 2 7 3 15 Disponibil ( ai ) 10 15 25

Să se găsească un plan de transport care să determine cantităţile zilnice xij de mortar ce trebuie aduse de la staţia de betoane i la blocul j, astfel încât cheltuielile de transport să fie minime.
Rezolvare a) Modelarea problemei 3 4 multiplicatorii ⎧ ⎪min ∑∑ cij xij simplex ⎪ i =1 j =1 x11 + x12 + x13 + x14 = 10 u1 → ⎪ ⎪ x + x + x + x = 15 u2 → 22 23 24 ⎪ 21 u3 → ⎪ x31 + x32 + x33 + x34 = 25 ⎪ ⎨x + x + x = 5 v1 → 21 31 ⎪ 11 x12 + x22 + x32 = 10 ⎪ v2 → ⎪ v3 → ⎪ x13 + x23 + x33 = 20 ⎪ x14 + x24 + x34 = 15 v4 → ⎪ ⎪ xij ≥ 0 , 1 ≤ i ≤ 3 , 1 ≤ j ≤ 4 ⎩

110

Modele şi algoritmi de optimizare

Matricea restricţiilor ⎛1 ⎜ ⎜0 ⎜0 ⎜ A = ⎜1 ⎜ ⎜0 ⎜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⎞ ⎟ 0⎟ 1⎟ ⎟ 0⎟ ⎟ 0⎟ 0⎟ ⎟ 1⎠

b) Determinarea unei soluţii iniţiale de bază Determinarea soluţiei iniţiale de bază se face cu metoda colţului nord-vest, pornind de la Tabelul 5.1, obţinându-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 Staţie betoane S1 S2 S3 Necesar (bj) B1 5 B2 5 5 10 5 B3 B4 Disponibil( ai ) 10 5 15 10 25 15

5

10 10 20 10

15 15

Mulţimea celulelor de bază este următoarea B= {(1,1), (1,2 ), (2,2), (2,3), (3,3), (3,4)} . Valoarea funcţiei obiectiv pentru baza dată de metoda colţului nord-vest este f=5⋅8+5⋅3+5⋅1+10⋅6+10⋅4+15⋅3=205 după cum rezultă din Tabelul 5.3.
8 5 4 5 1 9 10 5 1 10 4 15 3 6 7 Tabelul 5.3 3 5 2

În Tabelul 5.3 celulele cu diagonală sunt celulele de bază. Matricea bazei corespunzătoare este x11 x12 x22 x23 x33 x34

5. Problema de transport

111

⎛1 ⎜ ⎜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⎞ ⎟ 0⎟ 1⎟ ⎟ 0⎟ ⎟ 0⎟ 0⎟ ⎠

c) Algoritmul de transport Iteraţia I Pas 1. Începem algoritmul cu soluţia de bază obţinută în etapa precedentă. Se consideră v4=0 şi se rezolvă sistemul λ ′B = c ′ ⇒ λ = ( B T ) −1 c B , unde c ′ =(8 3 1 6 4 3)’ , B B ′ ′ rezultând λ ′ = (u1 u 2 u 3 v1 v 2 v 3 ) = (7 5 3 1 − 4 1) . Obţinem pentru celulele nebazice coeficienţii de cost redus, α ij = u i + v j − c ij , valorile: α13=u1+v3−c13=7+1−5=3; α14=u1+v4−c14=0+7−2=5; α21=u2+v1−c21=−5+1−4=2; α24=u2+v4−c24=5−7=−2; α31=u3+v1−c31=3+1−1=3; α32=u3+v2−c32=3−4−9=−10. Cum nu toţi αij ≤ 0 , (∀) (i, j ) ∈ S , continuăm cu determinarea celulei care intră în bază α sk = max{α ij
α ij ≥ 0

(∀) (i, j ) ∈ S

(i,j )∈ S } = α 14 = 5

.

Intră în bază celula (1,4) . Vectorul d corespunzător este d’=(1 0 0 0 0 0)’ . Pas 2. Se determină ciclul iniţiat 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 (poziţiile cu semn minus) din ciclul C1) . ~ Pas 3. Aşadar, iese din bază celula (1,2) şi se obţine 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 − ~ = ⎪ x + x dacã celula (i,j ) este de rang impar în ciclul C , semnul + xij ⎨ ij rt 1 ⎪x dacã celula (i,j )∉ C1 ⎩ ij

şi se trec în Tabelul 5.4

1) . (2. (2 .112 Tabelul 5. (3.4) .j )∉ C2 ⎩ ij şi se trec în Tabelul 5. Pas 2. j ) ∈ S 1 . min {x }= x ij 11 =5 (minimul s-a luat după toate celulele de ordin par din ciclul C2) . Se calculează ⎧ xij − xrt dacã celula (i.1) . Considerând din nou v4=0 se rezolvă sistemul ~ ~T ~ λ ′B1 = c ′~ ⇒ λ = ( B1 ) −1 c B1 . Iteraţia a II−a Pas 1.3) . (3.4) } .5. (∀)(i.1) x11 x14 x22 x23 x33 x34 C2 = (3. (3.1) . 8 5−5 4 1 6 Tabelul 5. α12=u1+v2−c12=2−4−3=−5. Vectorul d corespunzător este d 1 =(0 0 1 1 0 0)’ . α α ij ≥ 0 ′ ′ λ ′ = (u1 u 2 u 3 v1 v 2 v3 ) = (2 5 3 6 − 4 1) . (3. unde c ′~ =(8 2 1 6 4 3)’ B B 1 1 intră în bază α sk = max{ ij (i. Se determină ciclul iniţiat de celula (3. Acum iese din bază celula (1.j ) este de rang impar în ciclul C xij ⎨ ij rt 2 ⎪x dacã celula (i.4) . α31=u3+v1−c31=3+6−1=8.j ) este de rang par în ciclul C2 ~ = ⎪ x + x dacã celula (i. ~ Pas 3. (1. (1.1) . j )∈{ (1. (3. α13=u1+v3−c13=2+1−5=−2. şi obţinem pentru celulele nebazice coeficienţii de cost redus. continuăm cu determinarea celulei care ′ Intră în bază celula (3.4 3 5−5 4 5+5 1 9 10+5 1 10−5 Modele şi algoritmi de optimizare 8 5+0 5 2 5 6 4 15−5 7 3 Valoarea funcţiei obiectiv f=5⋅8+5⋅2+10⋅1+5⋅6+15⋅4+10⋅3=180 . α32=u3+v2−c32=3−4−9=−10. α21=u2+v1−c21=5+6−4=7 α24=u2+v4−c24=5−7=−2.1) şi se obţine baza B 2 cu celulele: ~ B 2 = { (3.2) .3) . (1.j )∈ S 1 } = α 31 = 8 . 4 ) } y = − B1 d 1 = − B1 −1 −1 (0 { ′ ′ 0 1 1 0 0) = (− 1 1 0 0 0 − 1) } .4 ) . Deoarece nu toţi αij ≤ 0 .5 3 5 5+5 7 2 .1) ~ Se determină celula care iese din baza B 1 cu criteriul x i0 j 0 = (i .1) .

se alege din fereastra Select Optimization Criteria. α12=u1+v2−c12=2−4−3=−5. şi obţinem pentru celulele nebazice coeficienţii de cost redus. Rezolvăm această problemă şi cu ajutorul pachetului de programe Management Scientist. unde c ′~ =(1 2 1 6 4 3)’ B B 1 1 ′ λ ′ = (u1 u 2 u 3 v1 v 2 v3 ) = (2 5 3 − 2 − 4 1) . aşa cum se văd în Figura 5. x31=5 . x22=10 .4. Rezultatele obţinute. α11=u1+v1−c11=2−2−8=−8. apoi costurile unitare de transport ca în Figura 5. se introduc numărul de depozite şi numărul de centre de consum.1 Pentru rezolvarea problemei. x34=5 este optimă. ′ Figura 5. Din fereastra care apare se selecteză din submeniul File. Din nou luăm v4=0 şi rezolvăm sistemul ~ ~T ~ λ ′B 2 = c ′~ ⇒ λ = ( B 2 ) −1 c B21 . din submeniul Solution se selectează Solve.1.5. Maximization Objective . x23=5 . soluţia x14=10 . Se afişează fereastra cu rezultatele problemei. . Iteraţia a III−a Pas 1. α21=u2+v1−c21=5−2−4=−1. (∀) (i.2. α31=u3+v1−c31=2+1−5=−2. j ) ∈ S 2 . Deoarece αij ≤ 0 . coincid cu cele obţinute aplicând algoritmul de transport. α32=u3+v2−c32=3−4−9=−10. New – pentru crearea unei noi probleme de transport. După lansarea pachetului de programe alegem modulul Transportation din fereastra prezentată în Figura 2. dă pentru funcţia obiectiv valoarea f=140 şi algoritmul se opreşte. α24=u2+v4−c24=5−7=−2. x33=15 . Problema de transport 10 1 5 9 15 5 4 10−5 3 113 Valoarea funcţiei obiectiv f=10⋅2+10⋅1+5⋅6+5⋅1+15⋅4+5⋅3=140 .

114 Modele şi algoritmi de optimizare Figura 5. Pentru aceasta creăm foaia de calcul cu datele de intrare ca în Figură 5.3. Figura 5. efectuând paşii descrişi în continuare.2 Să rezolvăm aceeaşi problemă utilizând Solver-ul din Excel.3 În celula D3 introducem funcţia 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 B13−B15, D13−D15, F13−F15 şi H13−H15. Celulele B18−B24 conţin restricţiile problemei conform cu comentariile din celulele A18−A24, apoi se adaugă condiţiile de nenegativitate. De exemplu, celula B18 conţine =B13+D13+F13+H13, având în vedere cum sunt introduse datele problemei. Analog celelalte celule (B19−B24). După apăsarea butonului Solve se obţin rezultatele problemei şi rapoartele ca în Tabelele 5.6−5.8. Remarcăm că rezultatele sunt aceleaşi cu cele obţinute 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 $C$3 Name Functia de optimizat Original Value 140 Adjustable Cells Cell $B$15 $C$15 $D$15 $E$15 $B$16 $C$16 $D$16 $E$16 $B$17 $C$17 $D$17 $E$17 Name Solutia problemei B2 B3 B4 Solutia problemei B2 B3 B4 Solutia problemei B2 B3 B4 Original Value 0 0 0 10 0 10 5 0 5 0 15 5 Constraints Cell $B$23 $B$24 $B$25 $B$26 $B$27 $B$28 Name Restrictiile problemei Restrictiile problemei Restrictiile problemei Restrictiile problemei Restrictiile problemei Restrictiile problemei Cell Value 10 15 25 5 10 20 Formula $B$23=$F$7 $B$24=$F$8 $B$25=$F$9 $B$26=$B$10 $B$27=$C$10 $B$28=$D$10 Status Not Binding Not Binding Not Binding Not Binding Not Binding Not Binding Slack 0 0 0 0 0 0 Final Value 0 0 0 10 0 10 5 0 5 0 15 5 Final Value 140

116
$B$29 $B$15 $C$15 $D$15 $E$15 $B$16 $C$16 $D$16 $E$16 $B$17 $C$17 $D$17 $E$17 Restrictiile problemei Solutia problemei B2 B3 B4 Solutia problemei B2 B3 B4 Solutia problemei B2 B3 B4 15 0 0 0 10 0 10 5 0 5 0 15 5

Modele şi algoritmi de optimizare
$B$29=$E$10 $B$15>=0 $C$15>=0 $D$15>=0 $E$15>=0 $B$16>=0 $C$16>=0 $D$16>=0 $E$16>=0 $B$17>=0 $C$17>=0 $D$17>=0 $E$17>=0 Not Binding Binding Binding Binding Not Binding Binding Not Binding Not Binding Binding Not Binding Binding Not Binding Not Binding 0 0 0 0 10 0 10 5 0 5 0 15 5

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 Name Final Value Reduced Cost Objective Coefficient Allowable Increase Allowable Decrease

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

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

0 0 5 0 10 0 0 5 15 10 0 5

8 1.00 0 5 0 10 2 0 0 0 2 0 Constraints

8 4.00 1 3 1 9 5 6 4 2 7 3

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

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

Cell

Name

Final Value

Shadow Price

Constraint R.H. Side

Allowable Increase

Allowable Decrease

$B$18

x11+x12+x13+x14= Restrictiile problemei

10

−3

10

5

0

5. Problema de transport
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

$B$19

15

0

15

0

1E+30

$B$20

25

−2

25

5

0

$B$21

5

3

5

0

5

$B$22

10

1

10

0

10

$B$23

20

6

20

0

5

$B$24

15

5

15

0

5

Tabelul 5.8 Microsoft Excel 10.0 Limits Report Worksheet: [Problema de transport.xls]Limits Report 1 Report Created: 7/11/2002 8:23:41 AM Target Cell $D$3 Cell $B$13 $B$14 $B$15 $D$13 $D$14 $D$15 $F$13 $F$14 Name Functia de optimizat Adjustable Name x11= Solutia problemei x21= Solutia problemei x31= Solutia problemei x12= B2 x22= B2 x32= B2 x13= B4 x23= B4 Value 0 0 5 0 10 0 0 5 Value 140 Lower Limit 0 0 5 0 10 0 0 5 Target Result 140 140 140 140 140 140 140 140 Upper Limit 0 0 5 0 10 0 0 5 Target Result 140 140 140 140 140 140 140 140

118 $F$15 $H$13 $H$14 $H$15 x33= B4 x14= x24= x34= 15 10 0 5 15 10 0 5

Modele şi algoritmi de optimizare
140 140 140 140 15 10 0 5 140 140 140 140

5. Problema de transport

119

5.5. Problema atribuirii sarcinilor
Să se determine atribuirea optimă a n sarcini la n specialişti ştiind că: unui specialist i se atribuie o singură sarcină, sarcina este executată de un singur specialist, iar profitul executării sarcinii j de către specialistul i este cij . Atribuirea este optimă dacă profitul obţinut este maxim (Luenberger, 1989). Trebuie să determinăm xij , i = 1, n , j = 1, n astfel încât

• • •

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 soluţie de bază admisibilă pentru problema de atribuire (5.1) are toate componentele, xij , egale fie cu 0, fie cu 1. Demonstraţie. Din corolarul 5.1 toate variabilele de bază în orice soluţie de bază sunt întregi. Variabilele xij nu pot fi mai mari decât 1 şi cum sunt nenegative, nu pot lua decât 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 soluţie de bază nedegenerată ar avea 2n−1 componente pozitive. Problema atribuirii sarcinilor are soluţia admisibilă de bază puternic degenerată având n−1 componente de bază nule. Pentru rezolvarea problemei de atribuire se poate folosi algoritmul de transport sau algoritmul primal−dual pentru problema de programare liniară.

5.6. Probleme propuse

1. Trei staţii de betoane, Si, se aprovizionează cu ciment de la trei rampe de descărcare, Ri . Cantităţile necesare fiecărei staţii şi cele oferite de fiecare rampă de descărcare, precum şi costurile de transport de la fiecare rampă la fiecare staţie de betoane sunt trecute în Tabelul 5.9 .
Tabelul 5.9

3.5 A B 4 3 2 4 1 2 Centru de desfacere 1 2 3 Sunt disponibile 10 tone de la furnizorul 1 şi 15 tone de la furnizorul 2. Cele trei centre de desfacere necesită 8. utilitatea fiecărui candidat pentru firmă depinde de postul pe care este angajat. O firmă are nevoie să angajeze în trei posturi vacante trei persoane cu calificări diferite. se obţine costul minim Cmin=200 u. să se descompună problema în două probleme de transport şi să se rezolve. 2.10 . Costurile de transport pentru o tonă de încărcătură între furnizor şi fabrici şi între fabrici şi centrele de desfacere sunt date în Tabelul 5. sunt trecute în Tabelul 5. Pentru aceste posturi sunt trei pretendenţi.120 Staţie Rampă Costuri (u. Tabelul 5. fiecare putând ocupa oricare loc vacant cu acelaşi salariu. studii şi experienţă. dar datorită deosebirii de aptitudini. R. a) Să se reducă problema la o problemă de transport cu două surse şi trei destinaţii şi să se determine un plan de transport care să minimizeze cheltuielile totale. Cele două fabrici au capacitate de producţie nelimitată. Transportând de la R1 pentru S2 17 tone.10 Fabrică A Furnizor 1 2 1 2 B Fabrică 1. angajat pe unul din cele trei posturi vacante.) Modele şi algoritmi de optimizare Ofertă (tone) 17 21 23 S1 7 3 4 19 S2 2 6 5 28 S3 5 3 6 14 R1 R2 R3 Necesar (tone) Să se precizeze planul de transport care să conducă la costul minim de transport şi cât este acest cost. doi furnizori de materii prime şi trei centre de desfacere. 14 respectiv 3 tone de produse finite. .m. Veniturile anuale ale firmei de pe urma fiecărui candidat.m. b) Dacă fabrica A are o capacitate de producţie de 8 tone şi fabrica B de 7 tone. de la R2 pentru S1 7 tone şi pentru S3 14 tone. O firmă textilă are două fabrici. de la R3 pentru S1 12 tone şi pentru S2 11 tone.5 1.11.

firma obţine un câştig maxim de 24 .. r1=100 .12. Firma poate şi să cumpere feţe de mese la un preţ c0=12 . r4=140 . Un centru de proiectare are de realizat trei contracte pentru trei beneficiari (câte unul pentru fiecare beneficiar în parte) şi timpii necesari realizării acestor proiecte (în săptămâni) pentru cele trei echipe de proiectare sunt trecuţi în Tabelul 5. astfel încât câştigurile firmei să fie maxime.12 Client Echipa de proiectare A 1 2 3 10 9 6 B 15 18 14 C 9 5 3 Dacă fiecărei echipe i se atribuie un singur proiect. Feţele de mese murdare se trimit la curăţătorie. Pentru fiecare zi i sunt necesare ri feţe de mese curate. cu un preţ c2=4 u. echipei 2 i se va repartiza proiectul 3. 5. r2=130 . timp de 4 zile. echipei 3 i se va repartiza proiectul 1. Tabelul 5.5. sau normal (la două zile). r3=150 . candidatul 2 pentru funcţia 1 şi candidatul 3 pentru funcţia 2.m. Stocul iniţial de feţe de mese este s=200. 4. Repartizând candidatul 1 pentru funcţia 3.11 Funcţie 1 Candidat 1 2 3 5 6 8 4 7 11 7 3 2 121 2 3 Să se decidă cea mai bună repartizare pe funcţii a candidaţilor. . Problema de transport Tabelul 5. O firmă care organizează mese festive trebuie să servească în fiecare seară câte un banchet. care le poate spăla rapid (de pe o zi pe alta) cu un preţ c1=6 u. Echipei 1 i se va repartiza proiectul 2. care va fi cea mai eficientă atribuire în sensul celui mai mic număr de săptămâni necesare pentru realizarea celor trei proiecte? R. Să se determine costul minim pentru a asigura feţe de mese curate în fiecare seară. iar timpul minim necesar realizării celor trei proiecte este de 26 săptămâni. R.m.

ca şi în cazul programării liniare. PROGRAMARE PĂTRATICĂ 6. βj≥0 ). astfel: (6.1. că avem la dispoziţie m resurse în cantităţile bi .6. Exemple de probleme care conduc la programare pătratică 6.1. Fie aij cantitatea din resursa i necesară pentru producerea unei unităţi din produsul j. ci preţul de desfacere şi di costul de producţie. Se pune problema determinării unui program de lucru astfel încât profitul obţinut să fie maxim. astfel d j = d j − γ j ⋅ x j cu γ j ≥ 0 . m .1) ( αj≥0 . Pentru a obţine profitul maxim trebuie ca toată producţia realizată să se vândă la preţurile cj . i = 1.n ⎪ ⎩ Funcţia obiectiv a acestui model este o formă pătratică.1. Este natural să presupunem că volumul de producţie xj care se vinde descreşte o dată cu creşterea preţului de vânzare yj . 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) poate fi extins în sensul că şi costul unitar de producţie di poate depinde de nivelul de ′ producţie xj .2) ⎨∑ a ij ⋅ x j ≤ bi ⎪ j =1 ⎪ x j ≥ 0 j = 1. Astfel se obţine următorul model (Maliţa şi Zidăroiu. Utilizarea optimă a resurselor Considerăm. n . k =1 n . ceea ce este greu de acceptat. iar preţul unitar de vânzare yj depinde de volumul de producţie constituit din mai multe produse y j = β j − ∑ α jk ⋅ x k . yj=βj−αj⋅ xj Dependenţa liniară a preţului yj de nivelul de producţie xj vândut este de asemenea o simplificare a realităţii. nivelul fiecărei activităţi j. Modelul (6. Cu ajutorul acestor resurse se pot desfăşura n activităţi de producţie şi să notăm cu xj . dar mai realistă decât faptul că preţurile y j nu depind de xj . j = 1.

Presupunem că investind suma xj în domeniul Dj se obţine un venit cj(xj) care depinde liniar de suma investită xj cj =α j + β j ⋅ xj . i = 1. . anume D1. Se pune problema estimării parametrilor a1..3) ⎨∑ a ij ⋅ x j ≤ bi ⎪ j =1 ⎪ x j ≥ 0 j = 1.... . x m .....1. iar restricţiile sunt liniare..2. an se impun condiţii suplimentare. Regresii liniare Presupunem că avem o mărime y care depinde liniar de variabilele x1. de tipul m a i− ≤ a i ≤ a i+ sau ∑α i =1 n ri ⋅ ai ≤ c r 1≤ r ≤ p .. Programare pătratică 123 6... an . m j x1j . xn ... Problema investiţiei Să presupunem că există mai multe domenii în care se pot face investiţii.. 6.k în sensul minimizării sumei pătratelor abaterilor ponderat cu nişte factori bj>0 ⎛ ⎞ ⎜ y j − ∑ a i ⋅ xij ⎟ eventual ⎜ ⎟ ⎝ ⎠ 2 n ⎞ ⎛ min ∑ b j ⋅ ⎜ y j − ∑ a i ⋅ xij ⎟ ..1.. Dn . j = 1.6. ⎟ ⎜ j =1 i =1 ⎠ ⎝ Asupra parametrilor a1. astfel y=a1⋅ x1+ .3.+ an⋅ xn. Să notăm cu f venitul total adus de planul de investiţii adoptat f ( x) = ∑ (α j + β j ⋅ x j ) ⋅ x j n j =1 şi astfel se obţine modelul ⎧ ⎤ ⎡ n max ⎢∑ (α j + β j ⋅ x j ) ⋅ x j ⎥ = f ( x) ⎪ ⎪ ⎦ ⎣ j =1 ⎪m 1≤ i ≤ m (6. . . presupunând cunoscute k observaţii asupra lui y şi xi .n ⎪ ⎩ Am obţinut din nou o problemă de optimizare în care funcţia obiectiv este o formă pătratică.. .

Q(x) se numeşte formă pătratică pozitiv definită dacă n+ = n şi n– = 0 . 1 ≤ r ≤ p sau a ≤ a ≤ a r i i i ⎪∑ ri i ⎩ i =1 Mai înainte de a trece la rezolvarea problemei de programare pătratică să amintim câteva noţiuni referitoare la formele pătratice. xn)’ .. Q(x) se numeşte formă pătratică negativ semidefinită dacă n−< n şi n+ = 0 . Se i =1 j =1 n n ştie că funcţia Q(x) se poate pune sub formă de sumă algebrică de pătrate de expresii liniare.. Dacă notăm cu n+ şi cu n− numărul pătratelor care au coeficienţii pozitivi şi respectiv negativi. omogene şi independente (reducerea la forma canonică a formelor pătratice cu metoda lui Gauss).. C ∈ M n .n (R ) şi Cij=Cji (în caz contrar. .. Definiţia 6. Q(x) se numeşte formă pătratică negativ definită dacă n− = n şi n+= 0 . xn f ( x ) = ∑∑ C ij ⋅ xi ⋅ x j + ∑ c j ⋅ x j + c 0 i =1 j =1 j =1 n n n unde: x=(x1.. . Definiţia 6.4. Proprietăţi Fie f o funcţie de gradul al doilea în x1.2. atunci avem n+ + n− ≤ n . . Definiţia 6.. cn ) . Dacă n+ > 0 şi n−> 0.. 6. 1 (C ij + C ji ) 2 dij=dji ) .. definim d ij = şi atunci ∑∑ C i =1 j =1 n n ij ⋅ xi ⋅ x j = ∑∑ d ij ⋅ xi ⋅ x j i =1 j =1 n n şi Fie Q( x ) = ∑∑ Cij ⋅ xi ⋅ x j = xCx ′ grupul termenilor de gradul al doilea. iar c ′ = (c1 .1. adică dacă Cij≠Cji..124 Modele şi algoritmi de optimizare Se obţine din nou o problemă de programare cu funcţia obiectiv o formă pătratică şi cu restricţii liniare 2 m n ⎧ ⎞ ⎛ ⎪min ∑ b j ⋅ ⎜ y j − ∑ a i ⋅ xij ⎟ ⎟ ⎜ ⎪ i =1 ⎠ ⎝ .2. Q(x) se numeşte formă pătratică pozitiv semidefinită dacă n+<n şi n−=0 .3. atunci forma pătratică este nedefinită. ⎨ n j =1 + ⎪ α ⋅ a ≤ c . Definiţia 6.. Definiţii.

n .1) avem Q[λ ⋅ x + (1 − λ ) ⋅ y ] = λ ⋅ Q( x ) + (1 − λ ) ⋅ Q( y ) + λ2 − λ ⋅ Q( x − y ) . Dacă Q este pozitiv semidefinită. i = 1. Demonstraţie. Dar.1. Observaţia 6. Atunci det(C ) = ∏ λ i = 0 . y ∈ R n . λi = 0 . ( ) Deci. Dar. Pentru (∀) x. x ≠ y şi (∀)λ ∈ (0. C este nesingulară şi unica soluţie este x=0. atunci Q ( y + λx ) = ( y + λx ) ′C ( y + λx ) = y ′Cy + 2λy ′Cx + λ 2 x ′Cx = y ′Cy + 2λy ′Cx ≥ 0 . (∀)x ∈ R n \ {0} . Din Propoziţia 6. Implicaţia inversă este evidentă ! Proprietăţi 1. i = 1. Dacă Q este pozitiv definită. Dacă Q este pozitiv semidefinită Q(ξ ) = ∑ λi ξ i2 i =1 n n+ cu λi > 0 . Dacă Q( x ) = x ′Cx este pozitiv semidefinită. Dacă Q este negativ definită. Demonstraţie 1. 2. Analog se demonstrează afirmaţiile 3 şi 4. pentru o mulţime de vectori x≠0 .1. rezultă că Cx=0. astfel Q( x ) = x ′Cx = 0 ⇒ Cx = 0 . 2. Q fiind pozitiv definită se poate reduce la forma canonică Q (ξ ) = ∑ λ i ξ i2 cu i =1 n λi > 0 . atunci det(C)=0 şi Q(x)=0.1 . iar Q(0)=0 . rezultă că y ′Cx = 0 . n . atunci det(C)>0 şi Q(x)>0. Dacă Q este negativ semidefinită. pentru o mulţime de vectori x≠0 . Fie (∀) y ∈ R n şi (∀)λ ∈ R . Programare pătratică 125 Propoziţia 6. Atunci det(C ) = ∏ λi > 0 . atunci det(C)=0 şi Q(x)=0. iar Q(0)=0 4.1 rezultă i =1 Q( x ) = x ′Cx = 0 ⇒ Cx = 0 . atunci Q(x)=0 dacă şi numai dacă Cx=0 . 3. Dar cum această egalitate are loc pentru orice y . C este singulară şi soluţia x=0 nu este unică. dacă Q este pozitiv definită avem Q[λ ⋅ x + (1 − λ ) ⋅ y ] < λ ⋅ Q( x ) + (1 − λ ) ⋅ Q( y ) şi dacă Q este pozitiv semidefinită avem . n + . (∀)x ∈ R n \ {0} .6. Cum inegalitatea are loc pentru (∀)λ ∈ R . i = n + + 1. Afirmaţia a doua rezultă din i =1 n Propoziţia 6. Arătăm că Q(x)=0 implică Cx=0 . atunci det(C)<0 şi Q(x)<0.

f ( x) = (6. A ∈ M mn (R ) .2). f ( x1 . valorile bi sunt strict pozitive (dacă ar fi negative. b ≠ 0 . În două variabile o formă pătratică pozitiv definită este paraboloidul eliptic. C ∈ M n (R ) unde 1 x ′Cx + c ′x 2 este convexă. x 2 ) = 12 + 2 . a ≠ 0 . x2 x2 f ( x1 . O problemă de programare pătratică este acea problemă în care trebuie care minimizează o formă pătratică convexă sau determinat un vector x* maximizează o formă pătratică concavă şi în care variabilele mai trebuie să verifice un sistem de inegalităţi liniare şi eventual unele restricţii de semn.4). x 2 ) = a 2 x12 . inegalităţile respective se înmulţesc cu –1). . Numim această formă a problemei de programare pătratică forma canonică. cu concavitatea îndreptată în sus (în acest caz nu avem un punct de extrem unic. iar o formă pătratică semidefinită este cilindrul parabolic. a b2 şi admite un minim unic (Figura 6.4) Exemplu. În inegalităţile (6. orice formă pătratică pozitiv definită este o funcţie strict convexă şi orice formă pătratică pozitiv semidefinită este o funcţie convexă. b ∈ R . Forma generală a problemei de programare pătratică 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 ii ⎪ x j ≥ 0 1 ≤ j ≤ n (restricþ de semn) ⎪ ⎩ sau matriceal ⎧ ⎧1 ⎫ ⎪min f ( x) = min ⎨ 2 x ′Cx + c ′x ⎬ ⎩ ⎭ ⎪ ⎪ Ax ≤ b ⎨ ⎪x ≥ 0 ⎪ n m ⎪ ⎩ x ∈ R .1). a. ci o dreaptă paralelă cu planul x1Ox2) (Figura 6. Prin urmare.126 Modele şi algoritmi de optimizare Q[λ ⋅ x + (1 − λ ) ⋅ y ] ≤ λ ⋅ Q( x ) + (1 − λ ) ⋅ Q( y ) .

. Vectorul x * = x1 ... v * ≥ 0 . Programare pătratică 127 Figura 6.. v n şi y * = y1 . fiind astfel posibilă utilizarea algoritmului simplex pentru obţinerea soluţiei problemei de programare pătratică..5) . . ∑ u* y* = 0 i i ⎪ j =1 i =1 ⎩ sau matriceal (6. (Condiţiile Kuhn−Tucker).. Teorema 3. x n ( ) este soluţia problemei de programare pătratică (6... y m astfel încât ( ) ( ) ( ) ⎧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 . . .1 Figura 6. . u m .1.4) dacă şi numai dacă există * * * * * * u * = u1 .5 (care dă condiţiile Kuhn-Tucker) pentru această problemă are formularea următoare. Algoritmul care se obţine este cunoscut sub numele de algoritmul lui Wolfe.2 6.6. * * Teorema 6...3.. v * = v1 . cu cele două forme ale sale : scurtă şi lungă.. Fundamentarea algoritmului lui Wolfe În cele ce urmează sunt prezentate teoreme ce permit trecerea de la problema de programare pătratică la o problemă de programare liniară echivalentă. y * ≥ 0 ⎪n n ⎪∑ x*j v*j = 0 .

v * ≥ 0 . Din Teorema 6. atunci (6.2.1 rezultă că x* este soluţie a problemei (6.4’) dacă şi numai dacă (∃) u* ∈ R m .2.6) Demonstraţie. care au cel mult m+n componente nenule. interesează numai soluţiile nenegative. ( x * ) ∇ x L(x* . y * ≥ 0 ⎩ Observaţia 6. adică din cele 2⋅m+2⋅n necunoscute care apar în sistemul (6. Teorema 6.Cx + A t u . Ax* = b . În Teorema 6. Dacă R = { x∈Rn ⏐ A⋅x=b . u ′y = 0 ⎪ x * ≥ 0 . v * .128 Modele şi algoritmi de optimizare ⎧ Ax + y = b ⎪Cx .2. u* ) ≤ 0 . u* ) = 0 .v = -c ⎪ ⎨ ⎪ x ′v = 0. Propoziţia 6.5) . Demonstraţie.4’) are optim infinit dacă şi numai dacă sistemul .4’) admite soluţie optimă x* dacă şi numai dacă (∃)u ∈ R m astfel încât ′ x* ≥ 0 . Din condiţiile de nenegativitate rezultă că xjvj=0 şi uiyi=0 . u* este soluţie pentru sistemul ( ) ⎧ Ax = b ⎪ t ⎨Cx − A u + v = -c ⎪ x′v = 0 .2. astfel încât ′ x* ≥ 0 . 1 ≤ i ≤ m . c + Cx* − At u* ≤ 0 . u ≥ 0 . x* c + Cx* − At u = 0 . Problema (6.4’) dacă şi numai dacă (∃)v * ∈ R n . adică soluţiile admisibile de bază ale sistemului (6. ∇ x L(x* .2 luăm v = -c . x* este soluţie a problemei (6. vi sunt variabilele ecart în C⋅x−ATu−v=−c . astfel încât x * . u* ≥ 0 .5) de m+n ecuaţii. 1 ≤ j ≤ n . ( )( ) Corolar 6. ∇ u L(x* . x≥0 }≠φ. Fie problema de programare pătratică n 1 n n ⎧ min f ( x ) = min ∑∑ Cij xi xi + ∑ ci xi ⎪ 2 i =1 j =1 i =1 ⎪n ⎪ ⎨∑ aij x j = bi 1 ≤ i ≤ m ⎪ j =1 1≤ j ≤ n ⎪x j ≥ 0 ⎪ ⎩ ⎧ ⎧1 ⎫ ⎪min f ( x ) = min ⎨ 2 x ′Cx + c ′x ⎬ ⎩ ⎭ ⎪ ⎨ Ax = b ⎪x ≥ 0 (6.A t u . yi sunt variabilele ecart care apar în Ax+y=b. u* ) = 0 .4’) ⎪ ⎩ (matriceal) Numim această formă a problemei de programare pătratică forma standard. x ≥ 0 . u* ∈ R m . ⎩ (6.

Da. 2 Demonstraţie.2. g ∈ R . µ * ≥ 0 .∞ . Dacă următoarea problemă de programare liniară min g ′z ⎧ Ax = b ⎪Cx − A t u + v + Dz = -h ⎪ ⎨ n m ⎪ x. (I i )1≤i ≤3 . Presupunem că min f ( x ) = −∞ şi să arătăm că sistemul (6. rezultă că min f ( x ) = −∞ . Cµ * = 0 . u* ≥ 0 .3 şi să rescriem vectorii x şi v sub forma i Să considerăm o partiţie. adică minf(x) nu poate fi . cum R≠φ.v* x . rezultă că problema (6. Demonstraţie. h ∈ R ⎪ x.1. 2. de unde rezultă că ′ f ( x ) ≥ f ( x* ) .7) este incompatibil atunci minf(x)= – ∞. Prin absurd. z*) cu x*1>0 . v*3>0 . u. Fie x∈ R .8) se poate pune sub forma . ⎩ (6. problema (6. Programare pătratică 129 ⎧ Ax * = b ⎪ * t * * ⎨Cx − A u + v = -c ⎪ x * ≥ 0 .4’) nu are soluţii. Contradicţie! Să arătăm că dacă sistemul (6. g ′z * = h′µ * . 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 . ( )( ) ( )( ) ( ( ) ( ) ( ) ( ) ( ) )( ) ( ) I i = j x i = (x j ) j∈I . Sistemul fiind incompatibil. Rearanjând restricţiile. v. v*.. atunci există µ ∗ ∈ R n Aµ * = 0 .7) este incompatibil. ⎜ 3⎟ ⎜ 3⎟ ⎝x ⎠ ⎝v ⎠ Lema 6. v*).v * x . z. v 1 = 0 ⎩ astfel încât (6.6.. n} astfel ⎛ x1 ⎞ ⎛v 1 ⎞ ⎜ 2⎟ ⎜ ⎟ x = ⎜ x ⎟ .7) este incompatibil. a mulţimii indicilor { } { 1. v = ⎜v 2 ⎟ . v. i=1. x 3 = 0 ... u*. u*. presupunem că sistemul (6.7) are soluţia (x*. z ≥ 0 .u* Ax + v* x* Dar ′ Ax * = Ax = b şi v * x * ≥ 0 .8) admite soluţie optimă (x*.

z ≥ 0 ⎩ Duala problemei (6.11) cu µ ∗1 . µ 2 ≥ 0 . C 22 ⎟⎜ µ ∗ ⎟ ⎠⎝ ⎠ 12 . x . µ 3 ≥ 0 . §4. v . v > 0 .13) există o soluţie optimă λ .10) ( Din Teorema fundamentală a dualităţii (§4. avem 1 ′ 1 ′ 1 1 ′ 2 t t µ ∗ A1t λ ∗ + µ ∗ C11 µ ∗ + µ ∗ C 21 µ ∗ + ( ) ( ) ′ ′ + (µ ) A λ + (µ ) C ∗2 t 2 ∗ ∗2 t 12 µ∗ 1 ( ) ′ + (µ ) C ∗2 t 22 µ∗ ≤ 0 .11) Înmulţind prima relaţie (6.9) (6.10) astfel încât b ′λ ∗ + h′µ ∗ = g ′z * . restricţiile corespunzătoare variabilelor x 1 .130 Modele şi algoritmi de optimizare min g ′z ⎧ ⎡ x1 ⎤ ⎪ ⎢ 2⎥ ⎪[A1 A2 A3 ] ⎢ x ⎥ = b ⎪ ⎢0⎥ ⎣ ⎦ ⎪ ⎪ 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 . iar pe cea de-a doua cu µ *3 ≥ 0 şi adunându-le.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 Ţinem seama că Aµ ∗ = 0 şi atunci putem scrie relaţiile de mai sus sub forma ⎡ ∗1 ′ 2 µ∗ ⎢µ ⎣ C ( ) ( )′ ⎤⎥⎛⎜⎜ C ⎦⎝ 11 1 C12 ⎞⎛ µ ∗ ⎞ ⎟⎜ 2 ⎟ ≤ 0 . adică *1 *3 ⎧ A t λ ∗ + C t µ ∗1 + C t µ ∗ 2 = 0 11 21 ⎪ 1 ⎪ t ∗ ∗1 ∗2 t t ⎨ A2 λ + C12 µ + C 22 µ ≤ 0 ⎪ Aµ ∗ = 0 . µ ∗ 2 ≥ 0 . v . ⎩ (6. µ ∗ 3 = 0 . v 3 sunt verificate cu egalitate de către soluţia optimă a problemei duale (din Teorema ecarturilor complementare. µ ∗ pentru problema duală (6. Deoarece ∗ ) x . ⎪ ⎩ (6.13).

.4’) are optim infinit dacă şi numai dacă (∃)µ ∗ ∈ R n soluţie a sistemului ⎧ Aµ = 0 ⎪Cµ ≤ 0 ⎪ ⎨ ⎪c ′µ < 0 ⎪µ ≥ 0 ⎩ (6. ⎯ * α →∞ . ci ≤ 0 .2 avem ( ) ( ) t Cµ ∗ = 0 .. I 1 = I 3 = φ şi ţinând seama că e’z>0.12) este compatibil. De aici ( ) x ∈R .12) Demonstraţie. relaţia de mai sus se mai poate scrie µ ∗ Cµ ∗ ≤ 0 . Programare pătratică 131 3 ′ Deoarece µ ∗ = 0 . Dacă R ≠ φ . u *. Astfel. în care luăm g = e = (1..7) este incompatibil.. iar e ′ = (1.. adică problema de programare liniară ⎧min e ′z ⎪ Ax = b ⎪ ⎪ t (6. aşa cum rezultă din Lema 6. c > 0 i ⎩ nenul.1) are optim i. h = -c . atunci pentru ′ f x + αµ * = f ( x ) + 2αx ′Cµ * + α 2 µ ∗ Cµ * + αc ′µ * = f ( x ) + αc ′µ * ( ) şi pentru că c ′µ * < 0 . iar din Propoziţia 6. ⎪ ⎪ ⎩ ⎧0 dacã i ≠ j ⎪ unde D = (d ij )1 ≤ . Propoziţia 6. atunci problema (6. Ţinem seama de aceste relaţii în evaluarea produsului b ′λ şi avem ′ 1 ′ 2 ′ 2 b′λ = λ ∗ Ax * = λ ∗ A1 x * + λ ∗ A2 x * = λ ∗ A2 x * = 0 . rezultă că ( ) f (x + αµ ) ⎯⎯ → −∞ .13) ⎨Cx − A u + v + Dz = -c ⎪ x≥0 . rezultă că µ ∗ Cµ ∗ = 0 . ( ) ( ) ( ) adică b′λ = 0 şi g ′z * = h′µ * . lema este demonstrată.. v*. Cum C ′ este pozitiv semidefinită. atunci sistemul (6.11) devin A1t λ ∗ = 0 şi A2 λ ∗ ≤ 0 . Dacă rezultă că x + αµ ∈ R pentru (∀)α ≥ 0 . Fie (x*. d ij = ⎨1 dacã i = j . astfel încât (∃)µ ∗ ∈ R n soluţie a sistemului (6. Dacă min f ( x ) = −∞ . . Relaţiile (6.1. u≥0 .1) ..6.3. Calculăm * (∀)α ≥ 0 . Sistemul (6. j≤n ⎪− 1 dacã i = j .1.13). z*) o soluţie optimă pentru (6.12) şi x + αµ * ≥ 0 avem A x + αµ * = Ax + αAµ * = b .

z . z*1.15). x ∈ R . x ⎜ ⎟ ⎝x ⎠ (6.u 2 .15) Pentru (∀)i = 1. R = φ . x . z i2 se alege astfel încât să fie acelaşi cu cel al termenului liber ci . iar unde u ∈ R m . ⎣C ⎦ Faza I se aplică problemei ⎧ ⎧ a⎫ ⎪min ⎨∑ xi ⎬ ⎭ ⎪~ ⎩ i ⎪ A~ = b x ⎨ * t 2 1 2 − t 1 ⎪Cx a A u 1 + A u 1 + v2+ z − z = -c 2 ⎪ x. Se aplică algoritmul simplex.15) . v.14) care nu mai poate fi îmbunătăţită fără încălcarea regulii (6. z1 .15) se ajunge la una din situaţiile: a) problema (6. u .. Forma scurtă a algoritmului lui Wolfe Algoritmul lui Wolfe în forma scurtă constă din două etape. v. faza I. v. v. adăugate primelor m ecuaţii. b) se obţine soluţia optimă (x*. z 2 ∈ R n . u1 ≥ 0 . z*2) pentru problema (6. Se completează baza cu variabilele artificiale xa. u .3. De aceea aceste variabile sunt iniţial variabile de bază. c) se obţine o soluţie de bază a problemei (6. împreună cu următoarea regulă suplimentară: (6. Întrucât nu s-au pus condiţii de semn asupra vectorului u. n . ~ = ⎜ a ⎟ .e m . e r +1 . z 1 . u 2 ≥ 0 . xi . z 2 ≥ 0 ⎩ { } x.14) ⎨ * 1 2 t ⎪Cx − A u + v + z − z = -c ⎪ x.14) împreună cu regula suplimentară (6.14) nu are soluţii admisibile. z ∈ R . 1989): ⎧min z 1 + z 2 ⎪ ⎪ Ax = b (6.4.14). îl vom descompune în u= u 1. z . problemei (6. ţinându-se seama de regula (6. u ∈ R unde ⎛ x⎞ ~ A = A..132 Modele şi algoritmi de optimizare 6. Fie r = rang ( A) < m şi se consideră că primele r ⎡ A⎤ coloane ale matricei ⎢ ⎥ sunt primii r vectori unitari din Rm+n. z ≥ 0 ⎪ 1 2 r a m−r 1 2 m ⎩ x. vi nu pot fi simultan nenuli Teorema 6. Demonstraţie. Prin aplicarea algoritmului simplex problemei (6.. Semnul pentru z i1 . În etapa întâi se rezolvă următoarea problemă de programare liniară (Ştefănescu. u *. u . v*.14).16) ( ) .

14).17) ⎨ 2 ⎩ cj ≥ 0 . atunci sistemul Ax = b . 1 2 4. Dacă se realizează b) şi c) din Teorema 6. Demonstraţie.4’) are optim infinit. Dacă se realizează c) din Teorema 6. x ≥ 0 este incompatibil deoarece nu s-au eliminat în faza I toate variabilele artificiale xa din bază.4’).3. Dacă A are o bază unitară. adică z * = z * = 0 . Dacă se realizează b) din Teorema 6.14) să se ajungă în una din situaţiile: a) problema (6.3 şi dacă z * = z * = 0 . Teorema 6. ⎪ xi = ⎨ ⎪ z j = -c j . Baza iniţială este baza canonică din Rm+n .3. u *.4’).15). rezultă că sistemul Ax = b . z i* nebazice.4 1. z*2) pentru problema (6. Pentru ca prin aplicarea algoritmului simplex.15). 3 şi 4 şi demonstraţia se încheie.3. Dacă se realizează a) din Teorema 6. problema (6. Teorema 6. Programare pătratică 133 respectând regula (6. ⎨ 1 (6. Următoarea teoremă stabileşte condiţii suficiente pentru cazul în care se poate aplica algoritmul simplex. completat cu regula suplimentară (6.6. b) se obţine soluţia optimă (x*. La încheierea fazei întâi s-au eliminat toate variabilele artificiale xa . ⎪ z j = 0 . 4. ( ) Comentarii 1.15) se poate aplica în această fază fără a se altera rezultatul. z j = −c j dacã ⎪x a = b r ≤ i ≤ m ⎩ i ⎩ i Deoarece coeficienţii variabilelor vi şi z i1 coincid.15).3 şi e ′ z 1 + z 2 > 0 . iar soluţia de bază iniţială este ⎧ ⎧bi 1 ≤ i ≤ r 2 ⎧ 1 dacã c j ≤ 0 . Variabilele z i2 se introduc doar dacă ci>0. Dacă se realizează a) din Teorema 6.14) nu are soluţii admisibile. Nu se poate trage o concluzie în situaţia c) din Teorema 6. pentru rezolvarea problemei de programare pătratică (6. problemei (6. două astfel de variabile nu pot fi simultan în bază şi atunci regula (6.3. z j = 0 0 r +1 ≤ i ≤ m . 3. În 1 2 faza a doua nu se mai introduc variabilele z i* .15) nu face parte din algoritmul simplex. atunci x* este soluţie optimă pentru problema (6.3. faza I nu mai este necesară.4’). 1 2 2. Dacă se realizează b) din Teorema 6. păstrând astfel v=0 în faza I. deoarece regula (6. atunci problemma (6.4’) nu are soluţii admisibile. v*. modificat cu regula (6.5. R = φ . x ≥ 0 este compatibil şi astfel rezultă concluziile 2. De fiecare dată când o variabilă z i1 are şansa să intre în bază o vom înlocui cu vi . atunci x* este soluţie optimă a problemei (6. . 2. z*1. 3.

Dacă în urma aplicării fazei I se ajunge fie în cazul b). i ∈ I 1 ∪ I 2 şi cum problema (6. Atunci (x*.14”) ⎨Cx − A t u + v + Dz = -c ⎪ 3 1 ⎪x = 0 . v*. vb. v *j = 0 . fie în cazul c).15) şi este o soluţie mai bună decât (x*.134 Modele şi algoritmi de optimizare c) se obţine o soluţie de bază a problemei (6.14”) impune condiţiile { } (xb. sunt suficiente următoarele condiţii: i) c=0 . v*.15). { } x 3 = 0 . v i . s-a obţinut o soluţie de bază (xb.14’). la următorul pas. Contradicţie ! . Demonstraţie.15). z*) este soluţia finală a problemei (6. vb. v 1 = 0 . u*. algoritmul simplex produce o nouă soluţie de bază îmbunătăţită pentru problema (6. z ≥ 0 ⎩ unde D = (d ii ` )1 ≤ i ≤ n este o matrice diagonală ale cărei elemente sunt date de relaţiile ⎧1 dacã zib1 este variabilã bazicã ⎪ d ii = ⎨− 1 dacã z ib 2 este variabilã bazicã . v. unde dacã z ib1 este variabilã de bazã dacã zib 2 este variabilã de bazã altfel. iii) C din problema (6. z*) este soluţie optimă şi a problemei ⎧min ∑ z i ⎪ i ⎪ Ax = b ⎪ (6. i ∈ I 2 .14). unde (x*.14”). z ≥ 0 ⎩ * Presupunem că (x . i ∈ I 2 ∪ I 3 .14’) şi atunci. z*) nu este soluţie optimă a problemei (6. cel mult una din variabilele x i . zb) . v*. v = 0 ⎪ x. ii) C este pozitiv definită. ub. ⎪0 altfel ⎩ pornind de la soluţia de bază ⎧ z b1 ⎪ z ib = ⎨ z b 2 ⎪0 ⎩ Fie I 1 = i x i* > 0 şi I 3 = i v i* > 0 . Deoarece x *j = 0 . u*. ub. u*. obţinută cu algoritmul simplex modificat cu regula suplimentară (6. u*. zb2) pentru problema (6. Faza a II-a a metodei simplex va rezolva următoarea problemă de programare liniară ⎧min ∑ z i ⎪ i ⎪ Ax = b (6.14’) ⎨ t ⎪Cx − A u + v + Dz = -c ⎪ x.14) care nu mai poate fi îmbunătăţită fără încălcarea regulii (6. zb1. v*. este posibil ca în noua soluţie de bază cu valori nenule. z*). v.4) este pozitiv definită. În acest fel noua soluţie satisface condiţia (6.

4’). obţinem existenţa vectorului µ ∈ R n cu proprietăţile Aµ * = 0 .4”). luând g ′ = (1.. Din ii) şi Cµ*= 0 rezultă că µ*= 0 şi g’z= 0 şi atunci din nou z= 0 . iii) Matricea C. Programare pătratică 135 ′ În Lema 6. Din i) rezultă că g’z= 0 şi atunci z= 0 . z*) are z=0 şi teorema este demonstrată.18) b) Incluziunea (6. Cµ = 0 ⊆ µ ∈ R n c′µ = 0 (6. Observaţia 6. A t are rangul n . similară formei (6. . De aici rezultă că Cµ*=0 şi. u*. g ′z * = c ′µ * . Problema (6. ii) C este pozitiv definită. .18) are loc dacă se verifică unul din următoarele cazuri: i) c=0 .1.4’) poate fi scrisă sub forma canonică ⎧ ⎫ ⎧1 * * ⎪min ⎨ 2 x ′C x + (c )′ x ⎬ ⎭ ⎩ ⎪ ⎪ * * ⎨A x = b ⎪x ≥ 0 ⎪ ⎪ ⎩ * cu C pozitiv definită. C = ⎜ ⎟ ⎜ 0⎟ ⎜ 0 0⎟ ⎠ ⎝w⎠ ⎝ ⎠ ⎝ Adăugarea variabilelor ecart nu afectează faptul că matricea C din funcţia obiectiv este pozitiv definită.4) poate fi adusă la forma (6. ~ ~ ~ Din iii) C este pozitiv semidefinită şi aplicând Lema 6. v*.. C ∗ ~ ⎛µ ⎞ ~ rezultă că există µ ∗ = ⎜ ∗w ⎟ cu Cµ * = 0 . ca mai ⎜µ ⎟ ⎝ ⎠ sus.4”) ⎨ ⎪~ ≥ 0 x ⎪ ⎩ ⎛ x⎞ ~ ⎛ c ⎞ ~ ⎛C 0⎞ . x ⎜ ⎟ unde: ~ = ⎜ ⎟ ∈ R n+ m .6.1 pentru A . Cµ * = 0 . µ*=0 şi g’z=0 şi atunci din nou z=0.1) şi h = – c . astfel ⎧ ⎧ 1 ~ ~~ ~ ~ ⎫ ⎪min ⎨ 2 x ′Cx + c ′x ⎬ ⎭ ⎪ ~ ⎩ Ax = b (6. { } { } [ ] iv) Sistemul Cx + At u = c are soluţii. c = ⎜ ⎟ ..3 a) Forma scurtă a algoritmului lui Wolfe se aplică atunci când se verifică incluziunea µ ∈ R n Aµ = 0 . prin introducerea variabilelor ecart w. În toate cele trei situaţii soluţia (x*. v) Problema standard (6.

variabilele x ia rămase în bază se elimină o dată cu liniile şi coloanele corespunzătoare din A. Exemplu. forma scurtă.16) este zero şi variabilele x ia au fost înlociute cu x i . ⎨ ⎩ x1 . Dacă rang ( A) < m . ţinând seama de regula (6. Să se rezolve următoarea problemă de programare pătratică : 1 2 1 ⎧1 ⎫ min ⎨ x12 + x 2 − 2 x1 + 3 x 2 + x 3 ⎬ = min x' Cx + c' x 2 2 ⎩2 ⎭ ⎧ x1 − 2 x 2 + x 3 = 4 . [ ] Comentarii. v=0 . ii) şi iii) au membrul stâng format numai din vectorul nul şi atunci incluziunea (6. c = ⎜ 3 ⎟ . Faza I rezolvă problema (6. Faza a II-a foloseşte programul obţinut în faza I pentru rezolvarea problemei (6. Dacă problema (6. atunci cealaltă nu poate fi introdusă în bază la iteraţia respectivă.14’). A = (1 − 2 1) . Aşadar.4’) are optim. x 3 ≥ 0 Rezolvare. deoarece coloanele corespunzătoare acestor variabile sunt egale şi de semn contrar. Se asigură astfel respectarea condiţiei xivi=0. Dacă nu s-au eliminat din bază toate variabilele x ia (caz de degenerare).5 .136 Modele şi algoritmi de optimizare Demostraţie i) Incluziunea (6.18) este evidentă. 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 . se înlocuiesc xia cu x i . A t şi incluziunea (6. x 2 . iv) c este o combinaţie liniară a liniilor matricei C. Vom aplica algoritmul lui Wolfe în forma scurtă.18) este evidentă. ⎜0 0 0 1 ⎟ 0 0 1 ⎠ ⎝ [ ] . atunci minimul din problema (6. 2 ⎜ 1 ⎟ ⎜ 0 0 0⎟ ⎝ ⎠ ⎝ ⎠ Verificăm dacă se poate aplica algoritmul Wolfe. deoarece restricţiile corespunzătoare sunt consecinţe ale celorlalte. v) Demonstraţia este dată în Teorema 6.16) pentru eliminarea variabilelor auxiliare xa din bază. ⎛ − 2⎞ ⎛1 0 0⎞ ⎜ ⎟ ⎜ ⎟ 1 f(x)= x' Cx + c' x . ⎛1 0 0 1 ⎞ 1 0 1 ⎟ ⎜ t rang C A = rang ⎜ 0 1 0 − 2 ⎟ = 3 deoarece 0 1 − 2 = 1 . C = ⎜ 0 1 0 ⎟ . Baza cu care se iese din faza I conţine numai una din variabilele z i1 z i2 .18) este evidentă deoarece membrul drept coincide cu R n . luând u=0 .15) care poate fi formulată şi astfel : dacă una din variabilele xi şi vi este în bază. lucru posibil când rang ( A) = m .

Calculele sunt date în Tabelul 6.18) este verificată. Algoritmul simplex se opreşte cu min xa=0. îl desfacem în doi vectori nenegativi astfel: u = u1−u2 (u corespunzând restricţiei cu egalitate.6. z 1j = 0 . Matriceal. z ≥ 0. acestor variabile li se atribuie valori astfel: z 1j = −c j dacã c j ≤ 0 . ⎩ =4 =2 =3 =1 În această fază u = 0. z 1 . x a ≥ 0 . z 2 . restricţiile Kuhn−Tucker devin: ⎧ Ax + x a = b 0⎞ ⎛1 0 ⎜ ⎟ ⎪ 1 2 t ⎨Cx − v + A u − u + Dz = −c .1 . z . v . Introducem variabilele artificiale nenegative xa. z ≥ 0. w ≥ 0 ⎪u oarecare ⎩ Pentru a avea o bază. z 2 . unde D = ⎜ 0 − 1 0 ⎟ ⎜ 0 0 − 1⎟ ⎪ x . fiind îndeplinită condiţia iii) din Comentarii.1 . Tabelul 6. z . u = 0. v ≥ 0. u 2 . z2 şi condiţiile Kuhn−Tucker devin: ⎧ Ax + x a = b ⎪ t 1 2 ⎪Cx − v + A u + z − z = −c1 ⎨ 1 2 ⎪ x ≥ 0. Se aplică algoritmul simplex următoarei probleme de programare liniară: ( ) min ∑ x iA = min x a (trebuie ca x a = 0) i =1 n ⎧ 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 = 0. v = 0 . u 2 . Programare pătratică 137 Aşadar. xa = b . v . w ≥ 0 ⎩ Faza I. z1. În soluţia de bază luăm: x =0 . u . Pentru ca şi asupra lui u să existe condiţii de nenegativitate. u1 . z 2 = 0 sau j z2 = cj j dacã c j ≥ 0 . u . nu are resţricii de semn). ⎪− v + u 1 − u 2 − z 2 = −1 2 ⎪ 3 1 2 1 2 ⎪ x. se poate aplica algoritmul deoarece incluziunea (6. u1 . 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 . deci nu pot intra în bază. v. z 1 .

2 CVB 0 1 1 1 0 1 0 1 0 0 0 1 VB x3 1 z1 2 z2 VVB 4 2 3 1 6 4 1/2 3/2 5/2 3 7/2 1/2 3/2 5/2 5/2 2 2 3 1 1 1 3 5 1 0 0 x1 1 1 0 0 1 1 1° 0 0 1* 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 x2 −2 0 −1 0 −1 −2 1/2 −1/2 −1/2 −1 −5/2 1/2 −1/2 −1/2 −1/2 −2 0 −1 0 0 −2 0 −1 0 0 0 x3 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 v1 0 −1 0 0 −1 0 −1 0 0 −1 1 −1 0 0 0 1 −1 0 0 0 1 −1 0 0 0 0 v2 0 0 1 0 1 0 −1/2 1/2 1/2 0 1/2 −1/2 1/2° 1/2 1/2* 0 0 1 0 0 0 0 1 0 0 0 v3 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 u1 0 1 2° −1 2* 0 0 1 0 0 0 0 1 0 0 0 u2 0 −1 −2 1 −2 0 0 −1 0 0 0 0 −1 0 0 1 −1 −2 1° 1* 0 0 0 1 0 1 1 1 3 z2 z 1 1 z 2 2 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 z 3 2 x3 1 z1 u1 z 3 2 x3 x1 u1 3 z2 0 0 0 1 0 0 0 0 x3 x1 v2 3 z2 x3 x1 v2 u3 .138 CVB 1 0 0 0 0 0 0 0 VB xa VVB 4 2 3 1 4 4 2 3 1 0 0 x1 1 1 0 0 1 1 1 0 0 0 0 x2 −2 0 −1 0 −2 −2 0 −1 0 0 0 x3 1° 0 0 0 1* 1 0 0 0 0 0 v1 0 −1 0 0 0 0 −1 0 0 0 0 v2 0 0 1 0 0 0 0 1 0 0 0 v3 0 0 0 1 0 0 0 0 1 0 Modele şi algoritmi de optimizare 0 u1 0 1 2 −1 0 0 1 2 −1 0 0 u2 0 −1 −2 1 0 0 −1 −2 1 0 0 1 z1 0 2 z2 0 3 z2 1 xa 1 0 0 0 0 z z 1 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 2 z2 3 2 x3 1 z1 2 z2 3 z2 Tabelul 6.

celulele D7−D9 conţin necunoscutele problemei. Folosind tabelul simplex rezultat din faza I şi renunţând la coloana corespunzătoare variabilei xa. Vom considera. 2 Multiplicatorii lui Lagrange sunt: v1=0.1 . se aplică din nou algoritmul simplex 1 2 2 pentru minimizarea funcţiei min z1 + z 2 + z 3 .6. obţinându-se aceleaşi valori pentru funcţia de optimizat şi pentru necunoscute ca şi cele obţinute în urma aplicării algoritmului lui Wolfe forma scurtă. Calculele sunt prezentate în Tabelul 6.3-6. v2=5. x3) = − 1 .2 . Celula D4 conţine funcţia de minimizat =((1/2)*D7^2+(1/2)*D8^2−2*D7+3*D8+D9. şi f(x1. x2=0. problema de mai sus. u=u1−u2=0−1= −1 . Se creează foaia electronică de calcul cu datele problemei ca în Figura 6. aşa cum se vede din rapoartele din Tabelele 6. Figura 6. x3=1. { } { } Deci. soluţia este x1=3. Programare pătratică 139 Faza a II-a .1. iar restricţia D7−2*D8+D9 este depusă în celula B11. Selectând Solve se rezolvă problema. Condiţiile de nenegativitate ale necunoscutelor sunt D7:D9 ≥B7:B9. x2.5 . v3=0. Faza a II−a se încheie cu eliminarea din bază a vectorilor z1 şi z2 şi 1 2 2 min z1 + z 2 + z 3 =0. ca exemplificare a folosirii Solver-ului din Excel pentru rezolvarea problemelor de programare pătratică.

xls]Sheet1 Report Created: 7/10/2002 8:09:27 PM Target Cell (Min) Original Name Value Functia de optimizat 0 Adjustable Cells Original Name Value x1= x2= x3= Name x1−2x2+x3= x1= x2= x3= 0 0 0 Constraints Cell Cell Value 4 3 0 1 Formula $A$12=$B$11 $B$15>=$B$7 $B$16>=$B$8 $B$17>=$B$9 Status Not Binding Not Binding Binding Not Binding Slack 0 3 0 1 Cell $D$4 Final Value −0.0 Sensitivity Report Worksheet: [Programare patratica.0 Answer Report Worksheet: [Programare patratica.000000477 0 Lagrange Multiplier 1 Constraints .5 Cell $B$15 $B$16 $B$17 Final Value 3 0 1 $A$12 $B$15 $B$16 $B$17 Tabelul 6.140 Modele şi algoritmi de optimizare Tabelul 6.3 Microsoft Excel 10.4 Microsoft Excel 10.xls]Sheet1 Report Created: 7/10/2002 8:09:27 PM Adjustable Cells Final Cell $B$15 $B$16 $B$17 Name x1= x2= x3= Value 3 0 1 Final Cell $A$12 Name x1−2x2+x3= Value 4 Reduced Gradient 0 5.

xls]Limits Report 1 Report Created: 7/10/2002 8:09:27 PM Target Cell $D$4 Name Functia de optimizat Adjustable Cell $B$15 $B$16 $B$17 Name x1= x2= x3= Value 3 0 1 Value −0.5 Upper Limit 3 0 1 141 Targe t Result −0.0 Limits Report Worksheet: [Programare patratica. Probleme propuse 1. Scrieţi condiţiile Kuhn-Tucker pentru următoarele probleme de programare pătratică: ⎧ ⎧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 ⎩ ( ) 2 2 ⎧min x12 + 2 x 2 + 3x 3 − 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.5 Lower Limit 3 0 1 Target Result −0. Să se rezolve următoarele probleme de programare pătratică 2 ⎧min 2 x12 − 2 x1 x 2 + x 2 − 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 ⎪ x≥0 ⎩ ⎪x ≥ 0 ⎩ { } { } .5 6.5 −0. Programare pătratică Tabelul 6.5 −0.5 −0.5 Microsoft Excel 10.5.6.5 −0.

u′ = ⎜ . 0 ⎟ . . ′ ′ ′ 10 ⎞ 18 ⎞ ⎛ ⎛ 10 ⎞ ⎛ 24 27 ′ = ⎜ 0. 1) . 0.0. a) x ′ = (2. ′ ′ R. 0 ⎟ . 0) .142 Modele şi algoritmi de optimizare arătând că se poate aplica algoritmul lui Wolfe în forma scurtă. v b) x 13 ⎠ 13 ⎠ ⎝ ⎝ 13 ⎠ ⎝ 13 13 3. v ′ = (0. u=0 . folosind MathCAD. . ⎟ . ′=⎜ . . Să se determine valoarea optimă şi punctul în care se atinge această valoare pentru problemele 1 şi 2.

N . 2. Schematic. d i ) . În cazul unui orizont finit de N etape. PROGRAMARE DINAMICĂ 7. o politică este reprezentată de un şir format din deciziile luate în cele N etape. iar cel de decizie devine variabila de decizie. 1 ≤ i ≤ N . conform unei legi de evoluţie xi +1 = τ i ( x i .. având aceeaşi interpretare ca şi în cazul finit. Pe fiecare perioadă decidentul ia o decizie δ i . reflectată de un vector de decizie. cele prezentate mai sus se pot reprezenta astfel: . Multe fenomene sau probleme sunt de natură secvenţială. În problemele secvenţiale ele formează un şir crescător. Programarea dinamică este o metodă de optimizare a sistemelor în care se operează pe faze sau secvenţe. 1967): Orice politică optimă nu poate fi formată decât din subpolitici optime. de stare şi de decizie de la momentul i. În orice moment i al evoluţiei.. adică permit descompunerea lor în etape (faze). determină starea sistemului de la momentul i+1..1. Vectorii de decizie di pot lua valori admisibile în domeniile de admisibilitate ∆i ⊂ R m . de acţiunile unui factor decident. starea sistemului se poate descrie printr-un vector x i ∈ R s numit vectorul stărilor. chiar şi parţial. Dacă orizontul este infinit. 1975). O politică este alcătuită dintr-o succesiune de decizii. sau vector de stare. . care provoacă o modificare a stării sistemului. Baza acestei metode o constituie Principiul de optimalitate al lui Bellman. Considerăm s=1 şi m=1 şi atunci vectorul de stare devine variabila de stare. Vom introduce în continuare câteva concepte cu care se operează în teoria deciziilor (Zidăroiu. de etapa anterioară şi cea următoare. Generalităţi Să considerăm un sistem a cărui evoluţie în timp poate fi controlată. fiecare etapă depinzând de cele apropiate. d i ∈ R m . Etapele procesului sunt momentele în care trebuie luate deciziile. care se enunţă astfel (Kaufmann. orice politică va fi reprezentată printr-un şir infinit. Cei doi vectori.7. pe care îl vom nota cu 1. după cum N este finit sau nu. Spunem că avem o problemă de decizie cu orizont finit sau infinit.

d1 ] = . di) unde di este o variabilă de decizie având domeniul de admisibilitate ∆i... δ1 δ2 N−1 xN−1→ δ N −1 δN N xN unde x0 este starea iniţială. se poate face şi o analiză retrospectivă a procesului. δ2. d1. d1 .. Decidentul are preferinţe în ceea ce priveşte evoluţia sistemului. În urma luării unei decizii se modifică starea sistemului conform cu o lege de evoluţie în funcţie de starea actuală a sistemului : xi = τi(xi-1... sunt inversabile.. Se poate spune că politica (δ1.. Această relaţie arată că starea finală xN şi politica aleasă δ1... O problemă de decizii secvenţiale constă în determinarea unui şir finit sau nu de decizii. 1 x1→ δ1 0 x0 Dacă notăm cu τ i inversele transformărilor τi ... 1 ≤ i ≤ N. .. d 1 .... Această relaţie permite analiza prospectivă a procesului. putem scrie x0 = τ i ( x1 .. δN determină starea iniţială x0 . dN) . d N ) = τ N [τ N −1 ( x N − 2 .. .. 1 ≤ i ≤ N. δN) are ca efect transformarea sistemului din starea iniţială x0 în starea finală xN : xN = TN(x0. d1 ) = τ 1[τ 2 ( x 2 . astfel Etapa Starea sistemului Decizia luată N xN→ δN N−1 xN−1→ δ N −1 N−2 xN−2→ δ N −2 . preferinţe ce pot fi descrise printr-o funcţie obiectiv.. . inversând schema precedentă....... Problema cu care se confruntă decidentul este de a alege o evoluţie a variabilelor de decizie astfel încât să optimizeze funcţia obiectiv cu restricţiile de admisibilitate şi starea iniţială (finală) date. Dacă ne interesează evoluţia sistemului din starea iniţială x0 până în starea finală xN. . d N ] = . d i +1 ) .. atunci se observă că se poate scrie succesiv x N = τ N ( x N −1 . după cum problema este cu orizont finit sau infinit. Diferenţa dintre analiza prospectivă şi cea retrospectivă constă în modul în care se priveşte evoluţia sistemului (de la x0 către xN sau invers) .. Există situaţii în care este mai eficientă folosirea analizei retrospective în rezolvarea unor probleme. d N ) unde: T N se obţine înlocuind xi prin τ i +1 ( xi +1 .. 1 ≤ i ≤ N−1 . = TN ( x 0 ... deoarece se pleacă din starea x0 şi se ajunge în starea xN . d 2 .. .144 Etapa Starea sistemului Decizia luată 0 x0→ 1 x1→ Modele şi algoritmi de optimizare 2 x2→ . .. d N ) TN reprezentând rezultatul final al înlocuirilor de mai sus. Dacă funcţiile τi . = T N ( x N .. iar τi este o transformare dată. xN este starea finală. δ2. d N −1 ).. d 2 )..

d N )] = ∏ ri ( x i . d i ) = ri [τi +1 (xi +1 . Această funcţie se poate scrie sub forma f [r1 (x1 . rN (x N . dN ... când sistemul trece din starea xi−1 în starea xi...... i =1 N În cazul analizei retrospective se pot scrie succesiv egalităţile ri (xi ... ∞ ) se numeşte decompozabilă prospectiv ~ dacă există o funcţie f i : R 2 → [0.. r2. d )] = R ′ (x . ... ∞ ) monotonă (crescătoare pentru probleme de maxim şi descrescătoare pentru probleme de minim) în a doua variabilă astfel încât ~ f i (r1 . Definiţia 7. .1. obţinându-se pentru funcţia obiectiv forma f [r (x . rN )) . . d N . ... r2 ( x 2 .. Cazul cel mai frecvent de decompozabilitate este cazul aditiv.. În cazul analizei prospective..2) N N N N −1 N −1 N −1 1 1 1 N N 1 N adică funcţia obiectiv depinde de starea finală xN şi de variabilele de decizie dN . Programare dinamică 145 Să notăm ri(xi.. astfel (∀)i = 1. d i +1 ). d 2 ). r2 ( x 2 .. r (x .7.. ... d ). d i ) pentru (7.. O funcţie f i : R i → [0.. d 2 ). când funcţia obiectiv este de forma f [r1 (x1 . Definiţia 7.. di) câştigul parţial dobândit în urma luării deciziei δi în etapa a i-a. rN asociate diferitelor etape ale sistemului. d ) . d 1 ). d ).. i =1 N (7.. r2 ( x 2 .. ∞ ) se numeşte decompozabilă retrospectiv ~ dacă există o funcţie f i : R 2 → [0. d .. d i ) .. dN—1 ..... ri ) = f i (ri . rN ) = f N − i +1 (ri . d 1 ).. d1 . Câştigul total pentru un orizont de N etape poate fi reprezentat ca o funcţie de câştigurile parţiale r1. d N )] = ∑ ri (x i . ri −1 )) .. d2 . d 2 ). câştigul total se exprimă în funcţie de starea iniţială x0 şi de variabilele de decizie d1 . d i ] = . Astfel. O funcţie f i : R i → [0.. d N )] şi constituie funcţia obiectiv ataşată procesului de decizii considerat.. rN ( x N .. r (x . f N − i (ri +1 . f i −1 ( r1 .. = ri′(xi . d i ) .. d 1 ).. Cu schimbarea de variabilă xi′ = x N −i se poate trece de la decompozabilitate prospectivă la cea retrospectivă şi invers.. rN (x N ...1) Se întâlnesc şi probleme în care funcţia obiectiv se exprimă multiplicativ f [r1 (x1 .. N ... cunoscând starea finală şi politica aleasă se poate calcula câştigul asociat politicii considerate..2. ∞ ) monotonă (crescătoare pentru probleme de maxim şi descrescătoare pentru probleme de minim) în a doua variabilă astfel încât ~ f N − i +1 (ri .

aceste politici se numesc politici optime. xN-1 este optimă şi xN-1 este astfel încât ~ f N (rN ( x N .. Vom nota politica optimă cu δˆ1 .2. Date stările iniţială x0 şi finală xN .…. x N −1 )) este optimă dacă xN = τN(xN-1. x = τ ( x .... .. trecerea la analiza prospectivă fiind imediată atunci când legile de evoluţie a sistemului analizat sunt inversabile. . d N . rN −1 (x N −1 .... d N ). . Mulţimea stărilor x . d 2 . d 1 ] = ⎪ ⎨= max f [rN (x N .. Demonstraţie... d N ). există una (sau mai multe) care optimizează funcţia obiectiv. Deoarece câştigul total depinde de starea iniţială (finală) şi de politica aleasă este necesar să se considere mai multe valori posibile pentru starea iniţială x0 sau starea finală x N (spunem că simulăm evoluţia sistemului în mai multe situaţii ).. d N )] = RN (x0 . (7.. Teorema de optimalitate a lui Bellman.. r1 (x1 . d N −1 )) ) este optimă. Analiza retrospectivă Presupunem că avem de rezolvat următoarea problemă: Să se afle decizia ˆ ˆ ˆ optimă d 1 .3) Printre politicile posibile care fac ca sistemul să evolueze din starea x0 în starea xN .146 Modele şi algoritmi de optimizare f [r1 (x1 . xN este optimă dacă traiectoria x0. 1 ≤ i ≤ N i i i ⎩ i −1 sau dacă ţinem seama de (7. f N −1 (r1 ( x1 ...VN −1 ( x0 . . d1 .. .. 1 ≤ i ≤ N .. traiectoria x0.…. . rN (x N . d1 ).4) . d N astfel încât ( ) ⎧ ˆ ˆ ˆ ⎪ f [rN x N .. d N ) . d1 ).. ( ) ( ) ( ) (7.... d 1 )] d ∈∆ ⎪ 1≤i i ≤ N ⎪x = τ ( x . rN −1 x N −1 . dN) . d ) . . . adică ˆ ˆ ˆ ˆ d i = d i (x 0 ) sau d i = d i (x N ) . iar variabilele de decizie ˆ ˆ ˆ ˆ ˆ ˆ ˆ corespunzătoare cu d . ( ) 0 N i i i −1 i −1 7. d N constituie traiectoria optimă. Optimalitatea subpoliticii x0.. d N −1 ) .. În aceste cazuri politicile optime sunt funcţii de x0 sau xN . În continuare vom prezenta relaţiile de recurenţă şi rezolvarea problemei de programare dinamică în cazul analizei retrospective. d N ) . d . x . Din ~ decompozabilitate avem că f N (rN ( x N . xN-1 rezultă din monotonia funcţiei ~ f N şi demonstraţia se încheie. rN −1 (x N −1 . .. ( 1 N ) ( ) ˆ ˆ 1 ≤ i ≤ N corespunzătoare deciziilor d 1 ..2)..…. d ) . d N −1 ). Notăm V(x0.xN) valoarea câştigului optim global. d N −1 . rN −1 ( x N −1.. δˆN .. r1 x1 .

. d N ) + f N −1 (x N −1 )] d i ∈∆ i ⎪ 1≤i ≤ N ⎨ ⎪ x N −1 = τ N (x N . d 1 )] = d i ∈∆ i ⎪ 1≤ i ≤ N ⎪ ⎪ ⎨= dmax {rN (x N .. . d N − 2 ) + . Programare dinamică 147 ˆ ˆ ˆ f [rN x N . + r1 (x1 .. δˆN −1 este optimă pentru un orizont de N−1 etape cu x N −1 = τ N (x N .2. . . d N ... obţinem: ( ) . ţinând seama de relaţiile x i −1 = τ i ( x i . i i i ⎩ i −1 Notând cu fN(xN) valoarea maximului (7. d N ) d N ∈∆ N [ ] (7. 1 ≤ i ≤ N − 1 . d i ∈∆ i 1≤ i ≤ N ( ) ( ) ( ) (7. .. prin aplicarea Teoremei de optimalitate a lui Bellman ⎧ f N (x N ) = max[rN (x N ..... ... + r1 (x1 . d N ) . atunci subpolitica δˆ1 .. d i ) .5) În formularea (7. r1 x1 . d ) . . d N ) + f N −1 τ(x N . Pornind de la relaţia (7.1. rN −1 x N −1 . d N ) . dN. d N ) + dmax [rN −1 ( x N −1 . d N −1 . d N ) + rN −1 (x N −1 . ⎩ (7.7) Dacă notăm QN (x N . . Relaţia (7.. δ este o politică optimă ( 1 N ) pentru un orizont de N etape şi cu xN ca stare finală. 7. Rezolvarea în cazul aditiv Considerăm funcţia obiectiv în cazul aditiv (7. d1 . d N ) = rN (x N .6) obţinem ⎧ f N (x N ) = max[rN (x N .. ˆ ˆ Relaţia (7. d2 . xN−1 se determină cu ajutorul precedentelor..8). d i ) ⎪ d i ∈∆ i (7. deoarece variabilele x0. 1 ≤ i ≤ N . d N ) . x1.7. d i ) .1) şi. obţinem : N ⎧ max ∑ ri (xi .4). procedând analog. înlocuind în (7. .. d N −1 ) + rN − 2 (x N − 2 .8) permite determinarea funcţiei fN(xN) în ipoteza că se cunoaşte funcţia fN−1(xN−1) . d N −1 ) + .8) şi maximul nu se mai ia după restricţii (restricţiile fiind incluse în expresia funcţiei QN) ..5) intervin efectiv numai xN şi variabilele de decizie d1. d 1 )]} ∈∆ i ∈∆ i ⎪ N N 1≤ i ≤ N −1 ⎪ ⎪ x i −1 = τ i (x i .7) poate fi justificată astfel: dacă δ . d N ) ca stare finală. .6) ⎨ 1≤i ≤ N i =1 ⎪ x = τ (x . 1 ≤ i ≤ N ⎩ sau. d1 ] = max R ' N (x N .. putem scrie f N (x N ) = max QN (xn .

. . . Algoritmul pentru rezolvarea problemei de programare dinamică în cazul aditiv ˆ ˆ Pas 0. f2(x2). Rezolvarea problemei iniţiale înseamnă calcularea funcţiilor ˆ ˆ f1(x1).9) { [ ]} Aceste relaţii se numesc ecuaţiile de recurenţă ale programării dinamice. . . . 1967). Reţine: d1 . . . . 2 ≤ i ≤ N − 1 i i i i i i i −1 i i i ⎨ i i d i ∈∆ i d i ∈∆ i ⎪. fN(xN) şi d = d (x ) . .2. . d ) .. se determină din relaţiile de recurenţă (7. . ˆ ˆ ˆ x1 .109 lei cu care trebuie cumpărate acţiuni la 4 societăţi. d N ) = max rN ( x N . . N N N Funcţiile fi(xi) . d1 ) d1∈∆1 d1∈∆1 ⎪ . d1 ) = max r1 (x1 .. . . ⎪ ⎪ f N (x N ) = max QN (x N . . .148 Modele şi algoritmi de optimizare ⎧ f1 (x1 ) = max Q1 (x1 . x2 . care în funcţie de suma investită asigură profituri conform cu Tabelul 7. . ˆ f N ( x N ) . . Pas 1. d i . . . să se stabilească o repartiţie optimă a sumelor investite la fiecare societate.2.1. d ) + f τ (x . . . . . . . . . xN ˆ ˆ Se determină d N = d N (x N ) . . Problema repartiţiei investiţiilor Având o sumă de 5. d i . . . . . . iar ˆ ˆ d N = d N (x N ) din ultima din aceste relaţii. .2 ˆ ˆ ˆ ˆ ˆ determină xi −1 = τ i xi . . Se cere să se determine repartiţia optimă a investiţiilor în acţiuni la cele 4 societăţi.. . . . d ) = max r (x ... .. . d 2 . . . x N . ⎪ ⎪ f (x ) = max Q (x . . . . . . . . . 7.8). . ( ) ˆ ˆ ˆ Pas 2.. Se determină x N cu f (x N ) = max f (x N ) . . . Vom prezenta câteva situaţii în care metodele programării dinamice conduc la obţinerea optimului fără a se apela la evidenţierea tuturor soluţiilor posibile. . 1 ≤ i ≤ N . d N ) . d N ∈∆ N d N ∈∆ N ⎩ { [ ]} (7. d N . d i −1 = d i −1 (xi −1 ) . astfel încât profitul obţinut în urma aplicării acestei politici de investiţii să fie maxim (Kaufmann. adică acea repartiţie care dă profitul total maxim. . . d N ) + f N −1 τ N (x N . Stop ! Procedeul de mai sus presupune cunoaşterea expresiilor analitice ale funcţiilor fi . Pentru i:=N .

15 0.33 0.78 0. xi –numărul total de miliarde investite în acţiuni la primele i societăţi. 1 ≤ i ≤ 4 .40 0. Pentru orice 1 ≤ i ≤ 4. Pentru analiza prospectivă xi +1 = xi + d i = τ i ( xi .1 Societatea Suma investită (în miliarde de lei) 0 1 2 3 4 5 Profitul în procente 149 S1 0 0. care este de cel mult S=5·109.42 0. xi ] . cu notaţiile din modelul teoretic obţinem ecuaţiile de recurenţă: f1 ( x1 ) = max r1 ( d1 ) . 0 ≤ d 4 ≤ x4 .65 0.20 0.25 0. coloana S1 din tabel este crescătoare şi reprezintă r1 f 2 (x2 ) = max[r2 (d 2 ) + f1 (x1 )] = max[r2 (d 2 ) + f ( x2 − d 2 )] . r1 fiind crescătoare 0 ≤ d 1 ≤ x1 deci: d 1 ( x1 ) = x1 . Deoarece i =1 ∑ d i = ∑ ( xi − xi −1 ) = xi ≤ x4 i =1 4 4 luând x0=0.28 0.65 0.90 S2 0 0.41 0.55 0. d i ).25 0. Problema are următoarea formulare: 4 ⎧ max ∑ ri (d i ) ⎪ ⎪ 4 i =1 ⎪ ⎨∑ d i ≤ x4 ≤ S ⎪ i =1 1≤ i ≤ 4 ⎪d i ≥ 0 ⎪ ⎩ Precizarea funcţiilor fi (suntem în cazul analizei retrospective). x4 – mărimea totală a investiţiilor.48 0.50 0. 0 ≤ d 3 ≤ x3 f 4 (x4 ) = max[r4 (x4 ) + f 3 (x4 − d 4 )] . . 0 ≤ xi ≤ x4 şi xi −1 = xi − d i = τ i ( xi .7. 1 ≤ i ≤ 4 .53 Rezolvare Modelarea problemei Notaţii : di –numărul de miliarde investite în acţiuni la societatea i. Am precizat astfel domeniul de admisibilitate: ∆ i = [0. 2 ≤ i ≤ 4 şi 0 ≤ d i ≤ xn . 0≤ d1 ≤ x1 Determinarea valorilor funcţiilor fi : ˆ f1 ( x1 ) = max r1 ( x1 ) = r1 ( d1 ) .75 S3 0 0.62 S4 0 0. x4 ≤ S . d i ). ri(di)− profitul adus de suma di investită în acţiunile la societatea i. 1 ≤ i ≤ 3 . 0 ≤ d 2 ≤ x2 f 3 (x3 ) = max[r3 (x3 ) + f 2 (x3 − d 3 )] . Programare dinamică Tabelul 7.45 0. d i ∈ ∆ i .

41 + 0. d 2 ∈ { 0.150 Modele şi algoritmi de optimizare x2=0 f 2 (0) = max[r2 (d 2 ) + f1 (0 − d 2 )] = 0 cu 0 ≤ d 2 ≤ 0 . d 2 ∈ { 0. r2 (5) + f1 (0)] = d 2 ∈ { 0.03. 0.00. r2 (1) + f1 (4 ). x2=1 f 2 (1) = max[r2 (d 2 ) + f1 (1 − d 2 )] cu 0 ≤ d 2 ≤ 1 . r2 (4) + f1 (0)] = = max[r2 (0) + f1 (5). d (0) = 0 . g 2 (1) + f1 (2). 3 . 1. r2 (1) + f1 (0)] = max[0 + 0.41 + 0] = 0.28 ˆ obţinută pentru d (1) = 0 .06.45.65. r2 (4 ) + f1 (1). f 2 (1) = max[r2 (0) + f1 (1) . 0. r2 (1) + f1 (1). 0. 0.45. Deoarece r2(0)=0 şi f1(0)=0 rezultă d2=0. 3. 0. 0. 0.86.28.65] = 0. Astfel ˆ (5) = 2 . 0. 0. 3} f 2 (3) = max[r2 (0) + f1 (3) . 0. 2 x2=2 f 2 (2) = max[r2 (d 2 ) + f1 (2 − d 2 )] cu 0 ≤ d 2 ≤ 2 .65..9. r2 (3) + f1 (1).93.55 + 0] = 0.1.75 + 0] = = max[0.25 + 0. 0.9. 0.28.83. r2 (2) + f1 (0) ] = = max[0 + 0.45. d 2 ∈ { 0. d 3 ∈ { 0.53 ˆ valoare obţinută pentru d=1. r2 (2) + f1 (2) . 0. 1 } .06 obţinut pentru d2=2 . 0. 2. 1. 2. rezultă d (2) = 1 . 4} f 2 (4) = max[r2 (0) + f1 (4) .1.75] = 1. g 2 (3) + f1 (2 ).5} = max[0 + 0. 2 x2=4 f 2 (4) = max[r2 (d 2 ) + f1 (4 − d 2 )] cu 0 ≤ d 2 ≤ 4 . r2 (1) + f1 (3).25 + 0. r2 (2 ) + f1 (3)..28. 3 cu 0 ≤ d 3 ≤ 0 .1.70 ˆ rezultat obţinut pentru d=1 şi astfel d (3) = 1 . 0.90 ˆ valoare obţinută pentru d=1. r2 (2) + f1 (1) . 1.55 + 0.. rezultă d (4) = 1 . x2 = 5 f 2 (5) = max[r2 (d 2 ) + f1 ( x2 − d 2 )] .25 + 0.90.28. 0. f 3 (1) = max[r3 (0) + f 2 (1) .28 ˆ valoare obţinută pentru d (1) = 0 . 0. r2 (3) + f1 (0)] = = max[0.28.78.25 + 0] = 0.1} . r3 (1) + f 2 (0)] = max[0 + 0. d 2 ∈ { 0.1.41 + 0. 2} f 2 (2) = max[g 2 (0) + f1 ( 2) . d 2 x3 = 0 f 3 (0) = max[r3 (d 3 ) + f 2 (0 − d 3 )] ˆ rezultă d3=0.78. 2 = max[0 + 0.65 + 0. 2 x2=3 f 2 (3) = max[r2 ( d 2 ) + f1 (3 − d 2 )] cu 0 ≤ d 2 ≤ 3 . 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 .15 + 0] = 0. 0.

r3 (1) + f 2 (3).1.53. 3} = max[0.06 d 4 ( x) f4(x) 0 0. pentru d=0 s-a obţinut valoarea maximă şi rezultă d 3 (3) = 0 . 0.78.0.25]= 0.06 d 3 ( x) f3(x) 0 0.53 0.53. f4(3)=0. r3 (2) + f 2 (2). r3 (2) + f 2 (0) ] = max[0.05.1 0 1 2 3 4 5 0 0 1 1 1 2 0 0 0 0 0 0 0 0 0 1 0 sau 1 1 . r3 (3) + f 2 (1). r3 ( 4) + f 2 (1).85.53 0.9 şi ˆ ˆ ˆ d 4 (4) = 0 sau d 4 (4) = 1 . r3 (3) + f 2 (1) ] = ˆ valoare obţinută pentru d=0. r3 (1) + f 2 (4).45 0.70 0. x3=4 f 3 (4) = max[r3 (d 3 ) + f 2 (4 − d 3 )] cu 0 ≤ d 3 ≤ 4 . d 3 ∈ {0.73 0.40] = 0. 1. r3 (5) + f 2 (0)] = max[1. Centralizăm în Tabelul 7.06.78.53 şi ˆ d 4 (2) = 0 . 3.90 d 2 ( x) f2(x) 0 0. r3 (3) + f 2 ( 2).90 1. 0.70 0.65 0. r3 (1) + f 2 (2).60] = 1. x3=5 f 3 (4) = max[r3 (d 3 ) + f 2 (4 − d 3 )] cu 0 ≤ d 3 ≤ 4 .06 ˆ obţinut pentru d=0.1. 0. 2. f4(5)=1.73 şi ˆ d 4 (3) = 1 .2 valorile găsite pentru f şi d . ˆ ˆ Analog. r3 (3) + f 2 (0) ] = x3=3 f 3 (3) = max[r3 (d 3 ) + f 2 (3 − d 3 )] cu 0 ≤ d 3 ≤ 3 .28 0.53 0. 0. r3 (1) + f 2 (1).43. 0. 0. rezultă d 3 (4) = 0 . f4(1)=0.70 ˆ Aşadar.95.28 şi d 4 (1) = 0 . r3 (2) + f 2 (1). 4} = max[0. r3 (2) + f 2 (3).28 0.7. f4(2)=0. 4} f 3 (5) = max[r3 (0) + f 2 (5) .68.90 1. 0.28 0. Programare dinamică 151 f 3 (2) = max[r3 (0) + f 2 (2) .68.90. 3. 0. găsim pentru f4 valorile: f4(0)=0 şi d 4 (0) = 0 .1 şi d 4 (5) = 1 .28 0.1. 2.90 1. Tabelul 7. 1.53 ˆ obţinută pentru d (2) = 0 . 0. 3 x3=2 f 3 (2) = max[r3 (d 3 ) + f 2 (2 − d 3 )] cu 0 ≤ d 3 ≤ 2 . d 3 ∈ { 0. 2. 0.70.93. rezultă d 3 (5) = 0 .2 x 0 1 2 3 4 5 d1 ( x) f1(x) 0 0. d 3 ∈ { 0. f4(4)=0. 0. 0. 2} f 3 (3) = max[r3 (0) + f 2 (3) .78 0. d 3 ∈ { 0.90 f 3 (4) = max[r3 (0) + f 2 (4) .5] = 0.

Se observă că 0 ≤ x4 ≤ 5 ˆ ˆ max f 4 ( x 4 ) = f 4 (5) = 1. Atunci Dar ˆ ˆ ˆ ˆ ˆ ˆ d 3 ( x3 ) = d 3 (4) = 0 şi atunci x 2 = x3 − d 3 ( x3 ) = 4 .1 şi x 4 = 5 . aşa cum va fi folosit în rezolvarea problemei ce urmează. 0. precum şi preţurile ci cu care el poate achiziţiona aceste produse pe care le va revinde la preţ constant.152 Modele şi algoritmi de optimizare Culegerea rezultatelor. În continuare vom rezolva următoarea problemă cunoscută sub numele de problema gestiunii stocului.1. Cum trebuie să organizeze aceste cumpărături astfel încât profitul său să fie maxim ? Tabelul 7. ˆ ˆ ˆ ˆ Astfel. iar d 4 ( x 4 ) = 1 . Tabelul 7.3 1 2 3 2 13 3 15 4 20 Perioada i Cererea bi Preţul ci 4 3 11 5 2 12 Rezolvare. În continuare avem: ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ d 2 ( x 2 ) = d 2 (4) = 1 .3 dă pentru cinci perioade cantităţile unitare de produs di pe care un vânzător le va furniza. Notăm : . iar x1 = x 2 − d 2 ( x 2 ) = 3 . 1) ceea ce înseamnă că din cele 5 miliarde se vor investi 3 miliarde în acţiuni la prima societate. Nu se vor achiziţiona acţiuni de la societatea a treia.2. ţinând seama de rezultatele primei decizii. Într-un şir optimal de decizii. ˆ ˆ ˆ x3 = x 4 − d 4 ( x 4 ) = 4 . El cumpără la începutul perioadei un număr întreg de produse. d 1 ( x1 ) = d 1 (3) = 3 . ( ) 7. deciziile următoare formează un subşir care este optimal. Problema gestiunii stocului Principiul de optimalitate al lui Bellman poate fi enunţat şi sub următoarea formă.3. d 4 = (3. Trebuie ca la începutul fiecărei perioade să dispună de suficiente produse pentru a face faţă cererii. d 2 . oricare ar fi prima decizie luată. începe şi termină cu stoc nul. politica optimă este d 1 . dispune de o capacitate de stocare gratuită de 5 unităţi. d 3 . 1 la cea de-a doua şi 1 la cea de-a patra.

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 * b2 x2 0 1 3 2 Perioada a treia (Tabelul 7. j =1 5 S-a obţinut astfel o problemă de programare în numere întregi.4) că perioada întâi se poate termina cu 0 . pentru că permite cunoaşterea perfectă a stării situaţiei la sfârşitul fiecărei perioade. are rol de variabilă de decizie . Tabelul 7. Ţinând seama de cererea de la perioada întâi. Restricţiile sistemului sunt ⎧ b j ≤ x j −1 + d j ≤ 5 ⎪ ⎨ x j = x j −1 + d j − b j j = 1. 5 ⎩ 0 Funcţia de optimizat este f (d ) = ∑ c j d j . x = 0. 2 sau 3 unităţi în stoc.6) se poate termina cu 0 sau 1 unităţi în stoc (x2+d3=b3=4). se vede (Tabelul 7.5 ⎪ x = 0 . xi este în acest caz variabila de stare. Programare dinamică 153 di = cantitatea de produs cumpărată la începutul perioadei i . xi = cantitatea de produs rămasă în stoc la sfârşitul perioadei i .5) se poate termina cu 0 .4 d1 f(d) min 5 65 4 52 3 39 2 26 b1 2 x1 3 2 1 0 Perioada a doua (Tabelul 7. . 1 sau 2 unităţi în stoc (x1+d2=b2=3). Tabelul 7. 1 .

d2=2 .8 d5 f(d) min 2 168+24=192 1 179+12=191 0 190 * b5 2 x4 0 1 2 Politica optimală de cumpărături este ⎧ ⎧ ⎧ ⎧ x1 = 3 ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ x 2 = 2 ⇒ ⎨d 1 = 5 ⎪ ⎪ f (d ) = 65 ⎪ ⎪ x3 = 0 ⇒ ⎨ ⎩ ⎪ ⎪ ⎪d = 2 x4 = 2 ⇒ ⎨ ⎪ ⎪ 2 ⎪ ⎪ d5 = 0 ⇒ ⎨ ⎪ f (d ) = 95 ⎩ ⎪ ⎪ ⎪d 3 = 2 ⎪ ⎪ f (d ) = 135 ⎪ ⎩ ⎪d = 5 ⎪ 4 ⎪ f (d ) = 190 ⎩ sau: d5=0 . d3=2 .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 b4 x4 0 1 2 3 x3 0 1 0 1 0 1 La sfârşitul perioadei a cincea (Tabelul 7. . Tabelul 7. d1=5 cu costul minim. d4=5 . f(d)=0×12+5×11+2×20+2×15+5×13=190 . rezultă Tabelul 7. deoarece x4+d5=b5=2.8) avem x5=0 şi.154 Modele şi algoritmi de optimizare Tabelul 7.7) se poate termina cu 0.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 * b3 x3 0 4 1 Perioada a patra (Tabelul 7. 1 sau 2 unităţi în stoc (x3+d4=b4=3).

9 d3(x) d3(x) 135 2 155 3 * * * * dk ( x) 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 * 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 stânga la dreapta. a. căutăm soluţia pentru P4(2) .10 Noile probabilităţi de eşec pentru Nr. B. 1995).5 2 0. cum b3=4. unde d k ( x) = {d k bk + bk −1 + x − 5 ≤ d k ≤ x + bk } . Să se determine o politică optimală de cumpărături pe primele k perioade. Problema alocării optime a resurselor Trei echipe de cercetători A.7. rezultă că x1=3. cercetători noi alocaţi echipe A B C 0 0.8. Găsim d4=5. Tabelul 7. şi acum ne interesează P1(3) .9 rezultă că d1=5 şi astfel am ajuns la soluţia finală.2 0. P(B)=0. adică x4=2.4 0. d. Avem relaţia z k ( x) = min{c k d k + z k −1 ( x + bk − d k )} . Problema iniţială poate să fie considerată ca P5(0). adică x3=0 şi atunci căutăm P3(0) .9. 7. Pentru a decide alocarea cercetătorilor suplimentari s-a stabilit Tabelul 7.9 avem d3=2 şi. rezultă x2=2. calculând d1(x) apoi z1(x) ş.10 (Henry-Labordere. Echipele au probabilităţile de eşec : P(A)=0. Vrem să punem în evidenţă o relaţie de recurenţă între aceste diferite probleme şi să le rezolvăm de o manieră mai economică în timp. m.6 0. Cum b2=3 şi din tabel d2=2. Din Tabelul 7. Programare dinamică 155 Generalizare Clasa de probleme Pk(x). putând termina cele k perioade cu x produse în stoc.2 0.4 . Notăm zk(x).2.4. Din Tabelul 7.8 1 0.15 0. Căutăm acum soluţia pentru P2(2) .4 0. Tabelul 7. Culegerea soluţiei optimale se face de la dreapta la stânga. C lucrează la un acelaşi proiect folosind abordări diferite. valoarea optimului funcţiei obiectiv a problemei Pk(x). Rezumăm calculele precedente în Tabelul 7.6 .3 Care este alocarea optimală a cercetătorilor suplimentari astfel încât împreună să aibă probabilitatea de eşec minimă ? . Ştiind că d5=0 şi b5=2. P(C)=0. Se decide alocarea a 2 noi cercetători la proiect în scopul minimizării probabilităţii de eşec a proiectului.

0. ˆ d C (1) = 0 . atunci 0 ≤ d B ≤ 1 şi x=2 . iar d B (0) = 0 .C } Rezolvare Fie dA.8. atunci 0 ≤ d C ≤ 2 şi Datele obţinute sunt trecute în Tabelul 7. atunci 0 ≤ d B ≤ 2 şi x=0 . unde i i∈{A. B. aşa cum se vede din coloana ˆ A a Tabelului 7. iar f pred ( A) = 1 . C x=2 . xA numărul cercetătorilor alocaţi proiectului A . x=1 .06 . C . Soluţia este analoagă soluţiei problemei repartiţiei investiţiilor. C. rC (1) ⋅ f B (0)} = 0. B. 0. iar d B (2) = 2 sau 1. atunci 0 ≤ d B ≤ 0 şi ˆ f B (0) = min{ rB (0) ⋅ f A (0)} = min{ 0. i ∈ {A. B şi C. B. iar d C (0) = 0 . f B (2) = min{ rB (d B ) ⋅ f A (2 − d B )} = min{ rB (0) ⋅ f A (2). f i (x ) = min{f pred (i ) (x − d i ) ⋅ ri (d i )}. deoarece rA este descrescătoare.24} = 0. ˆ d B (1) = 0 . atunci 0 ≤ d B ≤ 1 şi f B (1) = min{ rC (d C ) ⋅ f B (1 − d C )} = min{ rC (0) ⋅ f B (1). xB numărul cercetătorilor alocaţi proiectelor A şi B . B. rA(dA). d A + d B + d C ≤ 2 . rB(dB).24} = 0. şi xC numărul cercetătorilor alocaţi proiectelor A. Să determinăm valorile funcţiilor f i .5 ⋅ 0. rB (2) ⋅ f A (0) } = ˆ = 0. f C (2) = min{ rC (d C ) ⋅ f B ( 2 − d C )} = min{ rC (0) ⋅ f B (2). x=0 . C } .8 ⋅ 0. dB.6 ⋅ 0. rB (1) ⋅ f A (1). rB (1) ⋅ f A (0)} = 0.11 . C }.3 ⋅ 0. atunci 0 ≤ d C ≤ 0 şi ˆ f C (0) = min{ rC (0) ⋅ f B (0)} = min{ 0. B .096 . rC (2) ⋅ f B (0) } = ˆ = min{ 0. iar d (2) = 1 . f A ( x) = min rA ( x) .8 ⋅ 0.08 . f B (1) = min{ rB (d B ) ⋅ f A (1 − d B )} = min{ rB (0) ⋅ f A (1). probabilitatea minimă atunci când se utilizează suplimentari pentru proiectele A.24 . dC numărul de cercetători afectaţi echipelor A.4} = 0. rC (1) ⋅ f B (1).12 .156 Modele şi algoritmi de optimizare Fie f i (x ) . rC(dC) funcţiile care dau probabilităţile de eşec pentru fiecare echipă.12. x=1 .10 şi atunci d A ( x) = x . x cercetători ∑d = x .192 . i ∈ {A. Probabilitatea de eşec – toate echipele eşuează – este f ( x) = rA (d A ) ⋅ rB ( d B ) ⋅ rC (d C ) .

12.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 obţine.7.06 d C (x) 0 0 1 Valoarea soluţiei optimale este fC (x ) =0. Profitul adus de fiecare tip de locuinţă este dat de Tabelul 7. dar d B = d B (1) = 0 . Trecem rezultatele calculelor în Tabelul 7.3. Programare dinamică Tabelul 7. R. adică la proiectul B nu se mai alocă alt cercetător. adică se alocă un cercetător la proiectul A.08 d B (x) 0 0 2 sau 1 fC(x)* 0. B2.2 0.12 0.15 * ˆ d A ( x) 0 1 2 fB(x)* 0. Probleme propuse 1. Tabelul 7. astfel: ˆ ˆ xC = 2 şi d C = 1 . adică se alocă un cercetător la proiectul C .096 0. 7.24 0.192 0. O firmă de construcţii are 4 000 000 euro pe care vrea să-i investească în construirea a 3 tipuri de locuinte B1. ˆ ˆ ˆ ˆ x B = xc − d C = 1 .13 ˆ f1 f2 d1 0 35 43 47 49 0 1 2 3 4 0 35 63 71 80 x 0 1 2 3 4 r1 0 35 43 47 49 r2 0 28 32 45 47 r3 0 26 34 40 51 ˆ d2 0 0 1 1 3 f3 0 35 63 89 97 ˆ d3 0 1 2 2 2 sau 3 .13 Tabelul 7. însă d A = d A (1) = 1 .06 pentru alocarea ambilor cercetători. B3.11 157 x 0 1 2 fA(x) 0. ˆ ˆ ˆ ˆ x A = x B − d B = 1 .4 0.

0.158 Modele şi algoritmi de optimizare Culegerea rezultatelor: ˆ ˆ ˆ ˆ ˆ ˆ a) d 3 = 2 . 1 1 1 . ˆ ˆ ˆ x1 = x2 − d 2 = 1 . b) (1. x2 = x3 − d 3 = 2 . dar cu satisfacerea cererii pe întreaga perioadă. 2. 2) . 3) . bi necesarul pe perioda i. ˆ ˆ ˆ ˆ ˆ ˆ b) d 3 = 3 . începutul perioadei i. Problema achiziţionărilor de carburant Serviciul de aprovizionare al municipalităţii trebuie să asigure motorina pentru încălzirea oraşului. ˆ ˆ d1 = d1 ( x1 ) = 1 . 1995): Perioada (i) Necesarul (bi) Preţul tonei (ci) 1 800 3300 Tabelul 7. • să se găsească soluţia optimală folosind programarea dinamică. d 2 = d 2 ( x2 ) = 1 ˆ ˆ ˆ d = d (x ) = 1 .14 2 3 500 300 5400 3900 4 200 5100 5 700 6000 6 400 3000 Stocul iniţial la 1 noiembrie este de 200 t. d i ≥ 0 ⎩ . Preţurile de cumpărare prevăzute pe tonă şi nevoile lunare sunt date de Tabelul 7. înainte de cumpărarea cantităţii di . 1 milion în al doilea tip de locuinţe şi 2 milioane în al treilea tip de locuinţe. di cantitatea cumpărată la data de întâi a lunii i . Profitul maxim este de 97% . Rezolvare 1) Formularea problemei în programare liniară (vom renunţa la două zerouri la ⎧ x1 = 2 ⎪ x = x + d − b (∀)i ⎪ i i i preţuri şi cantităţi) are restricţiile : ⎨ i +1 ⎪ xi + d i ≤ 9 ⎪ xi . x2 = x3 − d 3 = 1 .14 (Henry-Labordere. dacă se investeşte suma astfel: a) (1. xi stocul la sfârşitul perioadei i−1. 1. adică 1 milion în primul tip de locuinţe. timp de 6 luni – noiembrie-aprilie. Nu se poate depăşi capacitatea rezervorului care este de 900 t. x3 = 4 . Fie: ci costul unei tone pe perioada i . d 2 = d 2 ( x2 ) = 0 ˆ . atunci : • să se stabilească o relaţie între f i (xi +1 ) şi f i −1 (xi ) . x3 = 4 . Să se precizeze cumpărăturile lunare şi stocul final. ˆ ˆ ˆ x1 = x2 − d 2 = 1 . Se doreşte minimizarea cumpărăturilor. adică 1 milion în primul tip de locuinţe şi 3 milioane în al treilea tip de locuinţe. Notând f i (xi +1 ) costul politicii optimale care lasă la sfârşitul perioadei i un stoc xi+1.

15. funcţia obiectiv se poate scrie ca funcţie de d astfel: f=33d1+54d2+39d3+51d4+60d5+30d6 . ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ x 4 = x3 + d 3 − b3 ⇒ x3 = x 4 + b3 − d 3 = 6 + 3 − 9 = 0 şi d 2 = d 2 ( x3 ) = d 2 (0) = 4 . ⎩ Funcţia de minimizat se scrie : f i (d i +1 ) =min(fi−1(xi+1+bi−di)+cidi). Transformările τi fiind inversabile se poate aplica atât analiza prospectivă cât şi retrospectivă. ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ x3 = x 2 + d 2 − b2 ⇒ x 2 = x3 + b2 − d 2 = 0 + 5 − 4 = 1 şi d1 = d1 ( x 2 ) = d1 (1) = 7 . 2) Calculele sunt rezumate în Tabelul 7. d 2 = 4 . iar problema obţinută este f p (d ) =min ∑ ci d i i =1 p ⎧ x1 = 2 ⎪ x = x + d − b i = 1.7. ˆ ˆ ˆ ˆ ˆ ˆ x 2 = x1 + d1 − b1 ⇒ x1 = x 2 + b1 − d1 = 1 + 8 − 7 = 2 . rezultă ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ x6 = x5 + d 5 − b5 ⇒ x5 = x6 + b5 − d 5 = 0 + 7 − 0 = 7 şi d 4 = d 4 ( x5 ) = d 4 (7) = 3 . Politica optimală de cumpărături este : ˆ ˆ ˆ ˆ ˆ ˆ f6(4)=1071 cu cantităţile d1 = 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 xi 0 1 2 3 4 5 6 7 f1(d) 198 231 ˆ d 1 ( x) 6 7 f2(d) 447 501 555 609 663 ˆ d 2 ( x) ˆ d 4 ( x) 4 5 6 7 8 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 = 4 . d 6 = d 6 ( x 7 ) = d 6 (0) = 4 . d 4 = 3 . d 5 = 0 . ˆ ˆ ˆ ˆ ˆ x7 = x6 + d 6 − b6 ⇒ x 6 = b6 − d 6 = 4 − 4 = 0 . d 3 = 9 . Tabelul 7.6 ⎪ i +1 i i i ⎨ ⎪ xi + d i ≤ 9 ⎪ xi . Programare dinamică 159 Ţinând seama de relaţiile de mai sus. x7 = 0 . . ˆ ˆ Cum d 5 = d 5 ( x6 ) = d 5 (0) = 0 . Analog obţinem: ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ x5 = x 4 + d 4 − b4 ⇒ x 4 = x5 + b4 − d 4 = 7 + 2 − 3 = 6 şi d 3 = d 3 ( x4 ) = d 3 (6) = 9 . d i ≥ 0 .

160

Modele şi algoritmi de optimizare

3. La o balastieră s-au estimat cantităţile necesare de balast pentru trimestrul patru în vederea încheierii contractului cu o carieră. Cantităţile şi preţurile sunt trecute în Tabelul 7.16 .
Luna Necesar (m3) Cost (u.m.) Tabelul 7.16 Octombrie Noiembrie 80 30 4 3 Decembrie 40 5

La începutul fiecărei luni se comandă o anumită cantitate de balast astfel încât să fie satisfăcut necesarul de balast, dar să nu fie depăşită capacitatea de depozitare a balastierei, limitată la 100 m3. Să se precizeze costul minim de aprovizionare şi cum se obţine. Se presupune că la începutul şi sfârşitul semestrului depozitul este gol.

R. Politica optimală de aprovizionare este : ˆ ˆ ˆ f3(0)=690 cu cantităţile d1 = 80 , d 2 = 70 , d 3 = 0 .
4. O firmă de transport de persoane trebuie să facă legătura între localităţile A şi H, pe un drum ce poate trece prin localităţile A, B, C, D, E, F, G, H. Distanţele între localităţi şi reţeaua de drumuri sunt trecute în graful din Figura 7.1. Ştiind că pentru o persoană se plătesc 3.4 u.m., să se determine costul minim de transport pentru o persoană şi traseul pentru care se obţine acest cost.
B 2 A 1 D 4 1 C 8 5 8 3 2 4 F 3 G 7 E 6 H

Figura 7.1

R. Traseul minim A, D, G, H are lungimea 13 şi costul minim este Cmin=3.4⋅13=44.2 u.m.
5. Construirea unei autostrăzi. (Kaufmann, 1967) Folosind analiza prospectivă să se rezolve problema 3 din §2.5.

R. Se consideră că autostrada, care va uni localităţile 1 şi 14 (Figura 2.18), va fi formată din cinci tronsoane.

8. ELEMENTE DE TEORIA AŞTEPTĂRII

8.1. Introducere în teoria aşteptării

Teoria aşteptării (sau teoria firelor de aşteptare sau teoria cozilor) se ocupă cu studiul evoluţiei sistemelor care prezintă aglomerări (sistemele de aşteptare). Un astfel de sistem este compus dintr-una sau mai multe staţii de servire (în număr finit) care servesc clienţii ce sosesc în sistem pentru a solicita servicii. Modul de dispunere sau condiţionare a staţiilor de serviciu dintr-un sistem de aşteptare constituie topologia sistemului. Astfel, staţiile pot fi în serie sau în paralel sau acest serviciu se realizează de către una din staţii sau de către un grup de staţii. Studiul unui sistem de aşteptare se face cu ajutorul unui model de aşteptare.

Elementele cunoscute ale unui model de aşteptare sunt (Văduva et al, I, 1974): • fluxul intrărilor în sistem • mecanismul serviciului. Intrările sunt caracterizate fie de numărul de clienţi pe unitatea de timp care sosesc, fie de intervalele de timp dintre două veniri consecutive. Oricare dintre aceste două mărimi este o variabilă aleatoare cu repartiţia cunoscută. Cunoaşterea mecanismului serviciului presupune cunoaşterea topologiei sistemului, regula după care se face serviciul, numită şi disciplina serviciului (de exemplu: FIFO (First−In First−Out) – primul sosit – primul servit, sau o ordine bazată pe priorităţi), precum şi repartiţia numărului de clienţi serviţi pe unitatea de timp sau repartiţia duratei serviciului. Mecanismul serviciului este caracterizat de asemenea şi de capacitatea sistemului presupusă cunoscută, adică numărul maxim de clienţi ce pot exista la un moment dat în sistem, sau, echivalent, lungimea maximă a cozii. Elementele necunoscute ale modelului de aşteptare sunt: • timpul de aşteptare • timpul de neocupare a staţiilor • lungimea cozii • numărul de clienţi din sistem N(t) existenţi la momentul t . Toate aceste necunoscute sunt variabile aleatoare şi, prin rezolvarea modelului de aşteptare, se urmăreşte determinarea repartiţiei lor sau măcar a unei valori medii în funcţie de elementele cunoscute.

162

Modele şi algoritmi de optimizare

Un model de aşteptare se notează A / S / c: (L, d) , unde: A – repartiţia timpului dintre două veniri consecutive, S – repartiţia duratei de serviciu, c – numărul de staţii (canale) de serviciu, L – lungimea maximă a cozii, d – disciplina de serviciu.

Exemplu. Notaţia Exp(λ) / Exp(µ) / 1: (∞, FIFO) caracterizează un model cu: − veniri cu repartiţia exponenţială negativă de parametru λ, − servicii cu repartiţie exponenţială negativă de parametru µ, − o singură staţie ( c=1 ), − coada care poate creşte indefinit ( L=∞), − disciplina de serviciu care este primul sosit−primul servit (First−In First−Out).
Numărul N(t) de clienţi din sistem ia valori întregi 0,1,2,..., şi este, în general, un proces stochastic discret. Cunoaşterea repartiţiei acestui proces permite determinarea multor caracteristici ale sistemului.

8.2. Caracterizarea procesului N(t) ca proces de naştere şi deces

O caracteristică a procesului N(t) este aceea că variaţia valorilor sale pe intervale mici de timp nu este mare, în sensul că probabilitatea ca N(t) să prezinte variaţii mari pe intervalul de timp (t, t + ∆t) depinde de valoarea lui N(t) şi este, în general, mică. Variaţia procesului N(t) este determinată de intrările şi ieşirile din sistem, adică de veniri şi servicii. Asemănător variază şi volumul populaţiilor biologice; variaţia numărului de indivizi dintr-o astfel de populaţie pe un interval mic de timp nu este prea mare şi ea depinde de natalitate (intrări) şi de deces (ieşiri). Procesul stochastic N(t) este un caz particular de proces Markov şi se numeşte proces de naştere şi deces (Văduva, 1977).

Definiţia 8.1. Procesul stochastic cu creşteri independente N(t) se numeşte proces de naştere şi deces dacă satisface următoarele condiţii: 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 ( A⏐B ) este probabilitatea lui A condiţionată 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 . funcţii care satisface: lim O ( ∆t ) = 0, lim ∆t →0 ∆t →0 ∆t

8. Elemente de teoria aşteptării

163

Procesul este cu creşteri independente în sensul că, oricare ar fi t1<t2<t3<t4 variabilele N(t2− t1), N(t3− t4) sunt independente stochastic, adică evoluţiile procesului pe două intervale de timp disjuncte sunt independente. Constantele λn , n ≥ 0 , se numesc intensităţi de natalitate, iar µn , n ≥ 1 , se numesc intensităţi de deces. Dacă pentru t1 < t 2 avem N (t2 − t1 ) = N (t2 ) − N (t1 ) , se spune că procesul N este un proces de numărare. Vom determina probabilităţile Pn(t) = P( N( t ) = n ), n = 0,1,2,... . Din definiţia procesului de naştere şi deces şi ţinând seama că mulţimea funcţiilor O (∆t) este închisă la adunare, scădere, înmulţire şi înmulţire cu un scalar sau cu o funcţie de timp, avem: ∆t + O ( ∆t ) t + O (∆t ) Pn (t + ∆t ) = Pn (t )(1 − λ4 2444 )(1 − µ n ∆2444 ) + 14 n4 3 144 4 3 + Pn +1 (t )(1 − λ n +1 ∆t + O (∆t ) )(µ n +1 ∆t + O (∆t ) ) + 144 2444 1442443 4 3 + ∑ Pn +i (t )(1 − O (∆t ) ) ⋅ O (∆t ) + 14 4 2 3 13 2 i >1
nu are loc o venire de i indivizi are loc o plecare de i indivizi nici o venire o plecare

+ Pn −1 (t )(λ n −1 ∆t + O ( ∆t ) )(1 − µ n −1 ∆t + O ( ∆t ) ) + 144 44 144 2444 2 3 4 3
o venire nici o plecare

nici o venire

nici o plecare

+ ∑ Pn −i (t ) O (∆t ) ⋅ (1 − O (∆t ) ) 1 3 14 4 2 2 3 i >1
are loc o venire de i indivizi

n

nu are loc o plecare de i indivizi

Ţinând seama de proprietăţile funcţiilor 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 )

, n≥1 .

Împărţim la ∆t , trecem la limită pentru ∆t → 0 şi obţinem ecuaţiile Kolmogorov−Feller care guvernează procesul de naştere şi deces: Pn′ (t ) = −(λ n + µ n )Pn (t ) + λ n −1 Pn −1 (t ) + µ n +1 Pn +1 (t ) , n ≥ 1 (8.1) Asemănător deducem P0′ (t ) = −λ 0 Po (t ) + µ1 P1 (t ) (8.2) Sistemul de ecuaţii (8.1) şi (8.2) trebuie să aibă o soluţie care să fie un sistem complet de probabilităţi, adică

∑ P (t ) = 1 , (∀)t
n =0 n

(8.3)

Teoremele următoare dau condiţiile ca sistemele (8.1)-(8.3) să aibă soluţie.

Teorema 8.1. Dacă procesul N ( t ) este un proces de naştere pură (µn = 0, (∀) n ≥ 1), şi dacă există i astfel încât Pi ( 0 ) = 1 şi Pn ( 0 ) = 0, n ≠ i (condiţiile

164

Modele şi algoritmi de optimizare

iniţiale sunt date), atunci condiţia necesară şi suficientă ca soluţia sistemului de ecuaţii diferenţiale (8.1) şi (8.2) să fie un sistem complet de probabilităţi este ca ∞ 1 ∑ =∞.
k =0

λk

Teorema 8.2. Dacă pentru procesul de naştere şi deces N ( t ) sunt date condiţiile iniţiale ca în Teorema 8.1, atunci o condiţie suficientă ca sistemul de ecuaţii diferenţiale (8.1) şi (8.2) să aibă ca soluţie un sistem complet de probabilităţi este ca

∑∏ λ
k =1 i =1

k

µi

=∞.

i −1

Ipoteză simplificatoare. Procesul N ( t ) se presupune staţionar, adică Pn ( t ) = pn = constant, ipoteză justificată de faptul că, după perioade mari de timp de funcţionare, sistemele se stabilizează. În caz staţionar, 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
Notăm şi din ultima ecuaţie avem zn = zn−1 , iar din prima ecuaţie z0 = 0. Astfel, în cazul staţionar zn = 0, n ≥ 0, sau
p n +1 =

z k = −λ k p k + µ k +1 p k +1

λn pn , n ≥ 0 . µ n +1

Deducem că
⎛ n −1 λ ⎞ pn = ⎜ ∏ k ⎟ p0 , n ≥ 1 . ⎟ ⎜ ⎝ k = 0 µ k +1 ⎠

Din condiţia (8.3) rezultă că
p0 = 1

λ 1 + ∑∏ k n =1 k = 0 µ k +1
∞ n −1

.

Cunoscând repartiţia procesului N ( t ), în cazul staţionar, adică a numărului de clienţi din sistemul de aşteptare, se pot calcula unele elemente necunoscute ale modelului, şi anume: a) numărul mediu de clienţi din sistem M [N (t )] = ∑ np n ,
n =0 ∞

Elemente de teoria aşteptării 165 b) lungimea medie a cozii M [Lc ] = ∑ ( n − c) p n . Pe baza acestor intensităţi se calculează probabilităţile pn . µ (1 − p 0 ) unde 1 este timpul mediu de servire şi se presupune cunoscut. µ (1 − p 0 ) e) numărul mediu de staţii neocupate M [SL ] = ∑ (c − n) p n . M [TL ] = M [SL ] ⋅ c unde M[AT] este media intervalelor de timp dintre două veniri consecutive. n ≥ 0.1. µ (1 − p 0 ) Observaţia 8.FIFO) În acest model intrările se fac după repartiţia Poisson ( λ t ) n − λt P ( N (t ) = n ) = e . n=c L (nu poate fi coadă pentru n ≤ c. n ≥ 0. c) timpul mediu de aşteptare la coadă 1 M [WT ] = M [Lc ] . f) 8.3. µn . Atunci: d) timpul mediu de aşteptare în sistem 1 M [W ] = M [N (t )] . . n≥0. n! iar intervalul de timp dintre două sosiri consecutive are o repartiţie exponenţială de parametru λ . n =0 c timpul mediu de lenevire (neocupare) a unei staţii între două servicii consecutive M [ AT ] . pentru a rezolva un model folosind procese de naştere şi deces trebuie cunoscute intensităţile procesului λn . cum se poate constata uşor. Aşadar. µ (1 − p0) reprezintă numărul mediu de clienţi (unităţi) serviţi în unitatea de timp. Modelul Po(λ)/Exp(µ)/1:(∞. conform cu formulele precedente. adică mai puţini clienţi decât numărul staţiilor de serviciu). n ≥ 1.8. şi apoi elementele necunoscute ale modelului.

5) ⎨ ⎩− λ p 0 + µ p1 = 0 Ultima ecuaţie dă p1 = λ p0 = ρ ⋅ p0 µ şi înlocuind în prima. F ( x) = ⎨ pentru x < 0 ⎩0 . numărul clienţilor din şirul de aşteptare va creşte necontenit. adică durata serviciului ca variabilă aleatoare are repartiţia exponenţială.6) pn = ρ n( 1 − ρ) . El µ reprezintă. În modelul precedent λn =λ şi µn = µ . avem λ p 0 − (λ + µ ) p1 + µ p 2 = 0 ⇒ p 2 = ρ 2 p 0 . ⎧1 − e − µx . pentru cazul staţionar ⎧λp n −1 − (λ + µ ) p n + µ p n +1 = 0 . Dacă ρ > 1. De asemenea. p n (t ) = ⎜ ⎟ ⋅ ⎝ n + 1⎠ n + 1 n . Dar pn = 1 ⇒ p0 ρn = 1 . însă evident în anumite momente va fi aglomeraţie. n∈N ∑ n∈N ∑ însă n∈ (8. Dacă ρ < 1. În acest caz. nu se va produce o coadă imensă – durata serviciilor coincide cu unitatea de timp. deci nu se va produce o aglomerare. atunci durata serviciului pentru clienţii care îl solicită în unitatea de timp este mai mică decât unitatea de timp. (∀) n ≥ 1 (8. (∀) n ∈ N * . în medie.166 Modele şi algoritmi de optimizare Serviciile se fac după repartiţia exponenţială. Se pot determina elementele necunoscute ale modelului în funcţie de ρ. Rezultă prin inducţie că  pn = ρ n p0 . numărul de clienţi care vin în perioada unui singur timp de serviciu. pentru x ≥ 0 . λ Raportul ρ = se numeşte intensitate de trafic sau factor de serviciu. Dacă ρ = 1. ecuaţiile Kolmogorov−Feller (8.4) devin. se pot găsi: − pn maxim d n ρ n (1 − ρ ) = 0 ⇒ ρ = dρ n +1 şi atunci când ρ < 1 şi atunci ∑ρ N n = 1 ⇒ 1 − ρ = p0 1− ρ [ ] 1 ⎛ n ⎞ .

t+dt) condiţionat de faptul că la sosirea lui în sistem există deja n > 0 clienţi.1. acesta nu aşteaptă şi ∞ intră direct în serviciu. Deoarece timpul de aşteptare la coadă este o variabilă aleatoare continuă. 1− ρ Se poate determina probabilitatea ca un client să aştepte la rând un timp superior unui timp dat t0 . Propoziţia 8.12) P( N( t ) > k ) = ρ k+1 . Notăm cu Pn( t < WT < t + dt ) probabilitatea ca timpul de aşteptare la coadă al unui client să fie cuprins în intervalul (t. şi avem P ( N (t ) > k ) = n = k +1 ∑ p n (t ) = ∞ n = k +1 ∑ ρ n (1 − ρ ) = (1 − ρ ) ∞ ρ k +1 = ρ k +1 .7) 1− ρ n∈ − numărul mediu al clienţilor din şirul de aşteptare – lungimea medie a cozii M [N (t )] = ∞ ∑ np (t ) = ∑ nρ N n n −1 (1 − ρ) = M [L1 ] = ∑ (n − 1) p n = (1 − ρ )∑ ( n − 1) ρ n = n=2 n=2 ∞ ρ2 1− ρ (8. Calculăm această probabilitate. (8. t+dt).. − ρ m −1 (1 − ρ ) < ε ⇒ ρ m < ε (8.10) µ µ (1 − ρ ) Dacă este interesantă probabilitatea ca în sistem să fie mai mult de m persoane şi dorim ca ea să nu depăşească o anumită valoare ε. atunci 1 − (1 − ρ ) − ρ (1 − ρ ) − . putem determina: − numărul mediu de clienţi din sistem la momentul t ρ (8. care reprezintă probabilitatea evenimentului ca timpul de aşteptare al unui client la coadă să fie cuprins în intervalul (t.. Demonstraţie. ţinând seama de notaţiile de mai înainte. adică P(WT >t0 ) (funcţia de repartiţie F(t0) = P(WT ≤ t0 )). Dacă n = 0 la sosirea în sistem a clientului.9) µ (1 − p 0 ) µ (1 − ρ ) − timpul mediu de aşteptare în sistem 1 1 M [W ] = M [WT ] + = . Determinăm această repartiţie prin intermediul unei probabilităţi elementare de forma P( t < WT < t + dt ). n =1 Cum se calculează Pn( t < WT < t + dt ) ? . Probabilitatea ca numărul clienţilor din sistem la un moment dat să fie mai mare ca un număr dat k este (8.2.8. vom determina repartiţia complementară a acestei variabile aleatoare.8) − timpul mediu de aşteptare la coadă 1 ρ M [WT ] = M [L1 ] = (8.11) Se pot determina astfel ε şi µ încât să nu existe aglomeraţie. P (t < WT < t + dt ) = ∑ Pn (t < WT < t + dt ) . Observaţia 8. Elemente de teoria aşteptării 167 Aşadar.

Rezolvare. Pn (t < WT < t + dt ) = Pn (0) ⋅ (n − 1)! Sistemul este presupus în regim staţionar şi atunci avem: ∞ (µ t )n −1 e − µ t µ dt = n P (t < WT < t + dt ) = ∑ ρ (1 − ρ ) (n − 1)! n =1 = (1 − ρ ) µ de − µ t ρ ∑ Aşadar. iar servirile.2. (n − 1)! n =1 ∞ e − µ τ (1− ρ ) − µ (1 − ρ ) ∞ = t0 =ρe − µ t 0 (1− ρ ) . eveniment este (n − 1) ! c) evenimentul ca în intervalul de timp dt să fie servit şi să plece un client. Propoziţia 8. Probabilitatea ca un client să aştepte la rând un timp superior unui timp dat t0 este P( WT > t0 ) = ρ e − µ t0 (1− ρ ) . Se ia momentul sosirii clientului ca fiind t = 0 . La o bază de aprovizionare sosesc în medie 30 de autobasculante pe oră pe care trebuie să le încarce un singur excavator. Pentru acest caz intensitatea intrărilor este λ=30 . Să se determine probabilitatea ca în sistem să fie 3 sau mai mult de 3 autobasculante. (µ t )n−1 e − µ t ⋅ µ dt . Presupunem că prin observaţiile din teren ne situăm în cazul modelului Po(λ)/Exp(µ)/1:(∞. b) evenimentul ca în intervalul de timp t să fie serviţi şi să plece din sistem n−1 clienţi. în sistem să existe n unităţi. cu condiţia să fi existat iniţial n clienţi în sistem. Exemplu. se scrie ca un produs de probabilităţi pentru următoarele trei evenimente: a) evenimentul ca. Pn(0). pentru ρ < 1. Probabilitatea acestui eveniment este µ dt . Prin urmare. Să se stabilească elementele modelului de aşteptare care rezultă.168 Modele şi algoritmi de optimizare Fiind o probabilitate condiţionată. condiţionat de evenimentele de la a) şi b). la sosire.FIFO) . exponenţiale. P (WT > t 0 ) = ∫ ρ (1 − ρ ) µ e − µ τ (1− − ρ ) dτ = ρ (1 − ρ ) µ t0 ∞ ( ρµ t ) n −1 = ρ (1 − ρ ) µ e − µ t (1− ρ ) dt . Am obţinut P( WT > t0 ) = ρ e − µ t0 (1− ρ ) şi astfel am demonstrat următoarea propoziţie. iar . Timpul mediu necesar încărcării unei autobasculante este de 1 min şi 30 s. dacă se consideră că sosirile sunt poissoniene. Probabilitatea acestui (µ t )n −1 e − µ t .

atunci din relaţia (8.7)−(8.d. Elemente de teoria aşteptării 169 cea a ieşirilor (serviciilor) din sistem este µ = este ρ = 60 min .8.7) obţinem = 2 şi ρ = = . 4 Se pot determina acum conform cu relaţiile (8.25 .11) elementele necunoscute ale modelului: − numărul mediu de autobasculante din sistem M[N(t)]=3. Să rezolvăm modelul pentru valorile iniţiale ale parametrilor λ şi µ cu pachetul de programe Management Scientist.6) avem p 0 = 1 − ρ = 0.42187 . p1=0. Din relaţia (8. − timpul mediu de aşteptare în sistem M[W]=6 min. Din relaţia (8. Intensitatea de trafic 1 min 30 s 3 .1.1875 ş.a. µ se pot determina elementele necunoscute ale modelului. .12) avem P( N( t ) > 2) = ρ 2+1=0.25. După lansarea pachetului de programe selectăm modulul Waiting Lines şi din acesta Poisson Arrivals / Exponential Service (Figura 2. aşa cum se vede din Tabelul 8. Dacă s-ar pune problema ca în sistem să fie în medie 2 autobasculante în 2 λ ρ loc de 3.4). Pentru noile valori ale parametrilor ρ . Comentariu. − numărul mediu de autobasculante din şirul de aşteptare M[L1(t)]=2. coincide cu cea obţinută mai sus.m. − timpul mediu de aşteptare în şirul de aşteptare M[WT]=4 min şi 30 s.1. trebuie modificată durata medie a serviciilor. Introducem datele de intrare ca în Figura 8. şi anume µ = 45 s . Cum λ=30 1− ρ 3 µ este o dată exterioară sistemului. Figura 8.1 Selectând Solve obţinem soluţia modelului care.

0079 0.2500 3. µ .0791 0.0141 0.0000 0.4.1000 0. În ecuaţiile de stare (8.0045 0.0033 0. lungimea maximă a cozii este m<∞. coeficientul de proporţionalitate depinde de numărul n de unităţi aflate în sistem la momentul respectiv şi rămâne λn .0106 0.0750 0.170 Tabelul 8.2500 0.1406 0.7500 8. înlocuind λn şi µn şi considerând µn+1 = 0.0593 0.1055 0. FIFO) Pentru acest model. (m − n )λ ∆t = λ n ∆t şi atunci λ n = (m − n )λ .1875 0. Modelul Po(λ)/Exp(µ)/1:(m.0025 0. deoarece există o singură staţie.4) facem presupunerea că probabilitatea ca în intervalul de timp ∆t să sosească în sistem un client este cu atât mai mică cu cât numărul clienţilor rămaşi din numărul total este mai mic. În ecuaţiile de stare (8.2500 2. Coeficientul µn nu depinde de numărul de clienţi din sistem la un moment dat.0250 0.1 Modele şi algoritmi de optimizare 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 Probability ----------0. În acest caz. şi îl notăm cu µ . analog.0188 0.0075 0.0445 0. probabilitatea ca în intervalul de timp de lungime ∆t>0 să sosească un client în sistem este proporţională cu mărimea intervalului. coeficientul legat de servicii rămâne µn .0059 0.0334 0.4). obţinem ecuaţia − mλ p 0 + µ p1 = 0 ⇒ p1 = m λ p0 .

8.4) luăm n = 1 şi obţinem mλ p 0 − [(m − 1)λ + µ ] p1 + µ p 2 = 0 ⇒ ⇒ mλ p 0 − (m − 1)λ ⋅ m λ λ p0 − µ ⋅ m p0 + µ p2 = 0 ⇒ µ µ 2 ⎛λ⎞ ⇒ p 2 = m(m − 1)⎜ ⎟ p 0 . deci M [ N (t )] = m − (1 − p 0 ) . λ λ numărul mediu de clienţi serviţi la un moment dat 1 ⎛ 0 ⎞ n s (t ) : ⎜ ⎜ p (t ) 1 − p (t ) ⎟ ⇒ M [n s (t )] = 0 p 0 + 1 − p 0 = 1 − p 0 . Calculul elementelor necunoscute ale modelului • numărul mediu de clienţi din sistem m ⎛λ⎞ n⎛λ ⎞ M [ N (t )] = ∑ np n (t ) = ∑ nA ⎜ ⎟ p 0 = ∑ [m − (m − n)] Am ⎜ ⎟ p 0 = ⎜µ⎟ ⎜µ⎟ n =0 n =0 n =0 ⎝ ⎠ ⎝ ⎠ m m n m m ⎛λ⎞ µ m −1 n ⎛ λ ⎞ n⎛λ ⎞ = m∑ A ⎜ ⎟ p 0 − ∑ ( m − n) Am ⎜ ⎟ p 0 = m − ∑ Am+1 ⎜ ⎟ p 0 = ⎜µ⎟ ⎜µ⎟ ⎜µ⎟ λ n =0 n =0 ⎝ ⎠ 14 ⎝ 44 4 ⎠ 3 n =0 2 144 ⎝ 44 3 4 ⎠ 4 2 1 1 − p0 m n m n n n +1 n n =m− • µ µ (1 − p 0 ) . Elemente de teoria aşteptării 171 În cea de-a doua ecuaţie din (8. obţinem (m − 1)λ p1 − [( m − 2)λ + µ ] p 2 + µ p 3 = 0 ⇒ ⎛λ⎞ λ ⇒ ( 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 . Am = 1 . ⎜µ⎟ ⎝ ⎠ Luând n = 2. ⎟ 0 ⎝ 0 ⎠ . ⎜µ⎟ ⎜µ⎟ ⎝ ⎠ ⎝ ⎠ Prin inducţie rezultă ⎛λ⎞ pn = A ⎜ ⎟ p0 ⎜µ⎟ ⎝ ⎠ 2 K m ⎞ ⎟ şi p 2 (t ) K p m (t ) ⎟ ⎠ n m n n 2 2 3 ⎛ 0 N (t ) : ⎜ ⎜ p (t ) ⎝ 0 ⇒ m 1 p1 (t ) ∑p k =0 n m k (t ) = 1 ⇒ ⎛λ⎞ n ∑ Am p 0 ⎜ µ ⎟ = 1 ⇒ p 0 = ⎜ ⎟ n =0 ⎝ ⎠ 1 ∑A n =0 m n m ⎛λ⎞ ⎜ ⎟ ⎜µ⎟ ⎝ ⎠ 0 .

• timpul mediu de aşteptare a unui autoturism defect până la momentul când începe să fie reparat. λ= . O firmă de taximetre are 12 autoturisme şi un singur mecanic de întreţinere. µ = maşini pe oră . n 12 5. Ştiindu-se că repartiţia de probabilitate a timpului de funcţionare a unui autoturism între două defecţiuni este exponenţială cu media de 6 zile. dacă staţia este ocupată tot timpul. atunci numărul mediu de clienţi serviţi efectiv într-o unitate de timp este µ ( 1 − p0 ). • timpul mediu de aşteptare a unui autoturism până în momentul în care părăseşte atelierul de reparaţii. Se consideră ziua de lucru de 8 ore. µ µ ⎣1 − p 0 λ ⎦ µ ⎣1 − p 0 λ ⎦ • Exemplu.03607 n ⎛ 1 ⎞ ∑ A12 ⎜ 12 ⎟ ⎝ ⎠ n=0 . • lungimea medie a cozii M[Lc] = M[L1] M[Lc] = numărul mediu de clienţi în sistem la un moment dat minus numărul mediu de clienţi ce sunt serviţi la un moment dat = =M[N( t )] − ( 1 − p0 ) = µ µ+λ = m − (1 − p 0 ) − (1 − p 0 ) ⇒ M [ Lc ] = m − (1 − p 0 ) . • numărul mediu de autoturisme la coadă şi • numărul mediu de autoturisme din atelier. atunci 8 ⋅ 6 48 4 µ 1 12 4 1 1 p0 = = = 0. Rezolvare 1 1 1 1 λ 48 1 = = = . iar repartiţia timpului necesar reparaţiei defecţiunii este exponenţială cu media 4 ore. • λ λ timpul mediu de aşteptare la coadă µ +λ⎤ 1 1⎡ m M [WT ] = M [ L1 ] = ⎢ − ⎥ ⇒ µ (1 − p 0 ) µ ⎣1 − p 0 λ ⎦ µ +λ⎤ 1⎡ m ⇒ M [WT ] = ⎢ − ⎥ . să se determine: • probabilitatea ca la un moment dat toate autoturismele să funcţioneze. µ ⎣1 − p 0 λ ⎦ timpul mediu de aşteptare în sistem 1 1⎡ m µ⎤ 1⎡ m µ⎤ M [W ] = M [WT ] + = ⎢ − ⎥ ⇒ M [W ] = ⎢ − ⎥ .172 Modele şi algoritmi de optimizare Dacă µ este numărul mediu de clienţi ce pot fi serviţi pe unitatea de timp.19857 .

1 1 + µ +λ M [ L1 ] = m − (1 − p 0 ) = 12 − 48 4 (1 − 0.89294 . ⎥ 1 1 ⎥ µ ⎣1 − p 0 λ ⎦ ⎢1 − 0.19857) = 1.19857 4⎢ 48 ⎥ ⎣ ⎦ 1 1 ⎤ ⎡ ⎥ 12 1⎡ m µ⎤ 1 ⎢ M [W ] = ⎢ − 4 ⎥ = 11. 1 λ 48 µ M [ N (t )] = m − (1 − p 0 ) = 12 − 4 (1 − 0. apoi din meniul File alegem New şi din fereastra care apare selectăm Poisson Arrivals/Exponential Service (Finite Pop. În fereastra care apare introducem datele de intrare 1 λ= = 0.19857 1 ⎥ 4⎢ 48 ⎥ ⎦ ⎣ Pentru rezolvarea acestei probleme cu Management Scientist.19857) = 2.).89294 . − ⎥= ⎢ µ ⎣1 − p 0 λ ⎦ 1 ⎢1 − 0.8.25 6⋅8 ca în Figura 8. µ = 0.2 şi rezultatele sunt afişte pe ecran sub următoarea formă (Tabelul 8.2.38284 . selectăm Waiting Lines. 1 λ 6⋅8 1 1 ⎤ ⎡ + ⎥ ⎡ m ⎤ 1⎢ µ+λ 1 12 M [WT ] = ⎢ − = ⎢ − 4 48 ⎥ = 7. .02083 . apoi selectăm Solve Figura 8. Elemente de teoria aşteptării 173 reprezintă probabilitatea ca la un moment dat toate autoturismele să funcţioneze.2). după lansarea programului.58141 . (Figura 2.4).

. iar venirile sunt independente între ele.0442 0. Fie N( t ) numărul mediu de clienţi din sistem la momentul t .1137 0. Modelul Po(λ)/Exp(µ)/c:(∞.5808 2.8014 8. • probabilitatea rămânerii unui client în sistem este 1 − µ∆t + O (∆t) .3822 7. t + + ∆t) este µ∆t + O (∆t) .2 Modele şi algoritmi de optimizare WAITING LINES ************* NUMBER OF CHANNELS = 1 POISSON ARRIVALS 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 Probability ----------0. t + ∆t ) este λ∆t + O (∆t).1986 0.0000 0.0008 0. având c staţii de servire paralele (identice în ceea ce priveşte timpul de servire).0221 0.5.1986 0. Atunci avem: • probabilitatea unei veniri în intervalul ( t .0758 0.8907 11.0031 0.1820 0.8907 0. • probabilitatea ca în intervalul de timp ( t .0001 0.174 Tabelul 8.1517 0.02083 EXPONENTIAL SERVICE TIMES WITH MEAN RATE = 0. FIFO) Aceste modele generalizează modelele de aşteptare cu o singură staţie de servire.1986 1. • probabilitatea ca n ≤ c clienţi să rămână în staţiile de servire este ( 1 − µ ∆t+ O (∆t) )n = 1 − nµ∆t + O (∆t). t + ∆t ) un client să părăsească sistemul atunci când n staţii de servire lucrează simultan este nµ ∆t + O(∆t) . • probabilitatea unei ieşiri dintr-o staţie de servire în intervalul de timp (t .0092 0. deoarece ieşirile din sistem sunt independente.

are loc o intrare în sistem şi nu se produce nici o ieşire. Vom neglija probabilităţile de ordin de mărime mai mic ca O (∆t). 3) sistemul se găseşte la momentul t în starea En+1 şi au loc o ieşire din sistem şi nici o venire. Sunt posibile următoarele situaţii: 1) sistemul se găseşte 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. a) 0 < n < c .13) = [1 − (λ + cµ )∆t + O ( ∆t ))] p n (t ) . t + ∆t). 2) sistemul se găseşte la momentul t în starea En−1 . b) n ≥ c . Probabilitatea corespunzătoare este (λ ∆t + O (∆t ) )(1 − cµ ∆t + O (∆t ) ) p n −1 (t ) = λ p n −1 (t )∆t . întrucât toţi cei c clienţi din staţiile de servire rămân în sistem (n-au terminat serviciul). Ieşirile nu pot avea loc decât din cele c staţii ocupate. Vom calcula Pn( t + ∆t ). 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. Probabilitatea corespunzătoare este (1 − λ ∆t + O (∆t ) )(cµ ∆t + O (∆t ) ) p n +1 (t ) = cµ p n +1 (t )∆t . nu are loc nici o intrare în sistem. Apar următoarele eventualităţi: 1) sistemul se găseşte 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. Probabilitatea corespunzătoare este (1 − λ ∆t + O (∆t ) )((n + 1) µ ∆t + O (∆t ) ) p n +1 (t ) = = [(n + 1) µ ∆t + O ( ∆t ))] p n+1 (t ) . Probabilitatea corespunzătoare este (1 − λ∆t + O (∆t ))(1 − nµ ∆t + O (∆t )) p n (t ) = = [1 − (λ + nµ )∆t + O (∆t ))] p n (t ) . dar are loc o ieşire. Aşadar. Probabilitatea corespunzătoare este (λ ∆t + O (∆t ) )(1 − µ ∆t ) p n −1 (t ) = λ p n −1 (t )∆t . 3) sistemul se găseşte la momentul t în starea En+1 . Aşadar. Probabilitatea corespunzătoare este (1 − λ ∆t + O (∆t ) )(1 − cµ ∆t + O (∆t ) ) p n (t ) = . 2) sistemul se găseşte la momentul t în starea En−1 şi au loc o venire şi nici o plecare. t + ∆t).8. Elemente de teoria aşteptării 175 Notăm En evenimentul care constă în prezenţa a n clienţi în sistem şi cu pn(t) probabilitatea producerii evenimentului En la momentul t. unde cµ ∆t + O (∆t ) este probabilitatea ca un client să părăsească sistemul atunci când c staţii lucrează simultan.

16) ⎨ p ′ (t ) = −(λ + nµ ) p n (t ) + λ p n −1 (t ) + (n + 1) µ p n +1 (t ) . n ≥ 0 . Probabilitatea corespunzătoare este ( 1 − λ ∆t + O (∆t ) ) p0 ( t ). 2) sistemul se găseşte la momentul t în starea E1 .17) vom nota zn = −λ⋅pn−1 + n⋅µ⋅pn . = z1 = 0 . Am obţinut p 0 (t + ∆t ) = [1 − λ ∆t + O (∆t )] p 0 (t ) + [µ ∆t + O (∆t )] p1 (t ) (8..14). Prima ecuaţie din (8.17) λ λ λ 1 1 ⎛λ⎞ 1 p1 = p 0 . De unde n pn = . are loc o ieşire din sistem şi nu se produce nici o intrare. trecând la limită (∆t → 0). (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. (8. n n −1 n +1 ⎩ n ′ În cazul staţionar p n (t ) = 0 .17) rezultă că −λ⋅pn + c⋅µ⋅pn+1 = −λ⋅pn−1 + c⋅µ⋅pn . ⎜µ⎟ µ µ µ n n! ⎝ ⎠ n! Astfel. (8. obţinem ecuaţiile de stare pentru acest model: ′ ⎧ p 0 (t ) = −λ p 0 (t ) + µ p1 (t ) ⎪ (8.15). ecuaţiile de stare (8.14) c) n = 0 . de unde rezultă că zn+1 = zj = . Probabilitatea corespunzătoare este (1 − λ ∆t + O (∆t ) )(µ ∆t + O (∆t ) ) p1 (t ) = [µ ∆t + O (∆t )]p1 (t ) .17) devine z1 = −λ⋅p0 + µ⋅p1 = 0 . n≥c . t + ∆t). ρ = . p n = ⋅ p n −1 ⇒ p n = ⎜ ⎟ p 0 = ρ n p 0 . Evidenţiem următoarele eventualităţi: 1) sistemul se găseşte 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.15) Din relaţiile (8.13).176 Modele şi algoritmi de optimizare p n (t + ∆t ) = [1 − (λ + cµ )∆t + O (∆t )] p n (t ) + λ p n −1 (t )∆t + + cµ p n +1 (t )∆t .17) −λ⋅pn + ( n + 1)⋅µ⋅pn+1 = −λ⋅pn−1 + n⋅µ⋅pn . 1 ≤ n < c n ⎪ p ′ (t ) = −(λ + cµ ) p (t ) + λ p (t ) + cµ p (t ) . n n −1 n +1 ⎩ Pentru rezolvarea sistemului (8. Prelucrăm a doua ecuaţie din (8. (8.. n! Din ultima ecuaţie a sistemului (8. 1 n ρ p0 . 1 ≤ n < c . prin împărţire la ∆t şi ţinând seama de proprietăţile funcţiilor O (∆t) .

k =1 ∞ Notăm c + k = n ⇒ k = n − c . 1≤ n < c ⎪ pn = ⎪ n! ⎨ n ⎪ pn = ρ p0 . ⎝ c ⎠ c! k 1 λ ρc ρc 1 p0 = p0 . rezultă că n ∞ ⎛ c −1 ρ n ρ* c ⎞ ⎜∑ ⎟ = 1. se poate determina repartiţia variabilei aleatoare Lc( t ) L⎞ 0 1 2 ⎛ Lc : ⎜ ⎜ p (t ) + . + p (t ) p (t ) p (t ) L⎟ .17) ⎧ ρn p0 . Am obţinut soluţia sistemului (8. n ≥ c . Astfel pc = Aşadar. c ⎛ρ⎞ ρ pc+k = ⎜ ⎟ p0 .18) ∑p n=0 ∞ n = 1 . + p0 ⎜ n=0 n! ∑ c! ⎟ n =c ⎝ ⎠ ( ) de unde obţinem +∑ c! 1 − ρ * n=0 n! Cunoscând repartiţia variabilei aleatoare N( t ).8. k ≥ 0 .. ⋅ p c −1 = ⋅ c (c − 1)! c! c µ Pentru acest model notăm ρ* = ρ c intensitatea de trafic a sistemului de aşteptare. Elemente de teoria aşteptării 177 zn = zn+1 . ⎪ c! c n −c ⎩ Deoarece (8... Calculul elementelor necunoscute ale modelului • lungimea medie a cozii M [ Lc ] = 0 ⋅ [ p 0 (t ) + . + p c (t )] + ∑ kp c + k (t ) . Atunci M [ Lc ] = n = c +1 ∑ (n − c) p n = ∞ n = c +1 ∑ ∞ (n − c) ρn c!c n −c p0 = . ⎟ c c +1 c+2 ⎝ 0 ⎠ p0 = 1 ( ρ c c −1 ) ρn .. iar zc = −λ⋅pc−1 + c⋅µ⋅pc = 0.

obţinem că ⎛λ⎞ λ ⎜ ⎟ p0 + . µ M[N( t )] = M[Lc] + M[ns]. 1 2 c −1 c c +1 ⎠ ⎝ 0 M [ Lc ] = M [n s ] = ∑ np n (t ) + c( p c (t ) + p c +1 (t ) + .⎥ .. ⎜µ⎟ ⎝ ⎠ M [n s ] = iar cum λ ..) = ∑ np n (t ) + c ∑ p n (t ) = n =0 c n =0 n n = c +1 ∞ 1 ⎛λ⎞ 1 ⎜ ⎟ p 0 (t ) + c ∑ ⎜µ⎟ n −c n! ⎝ ⎠ n = 0 c! c n =0 De aici rezultă că c c ∞ λµ (c − 1)!(cµ − λ ) 2 = ∑n n ⎛λ⎞ ⎜ ⎟ p 0 (t ) . care este acelaşi lucru cu numărul de staţii ocupate ns . ⎟ . vom considera numărul de clienţi aflaţi în serviciu la un moment dat. ⎜ cµ ⎟ ⎜ µc ⎟ ⎢ ⎝ ⎠ ⎝ ⎠ ⎥ ⎣ ⎦ 1 . µ • timpul mediu de aşteptare la coadă . ⎜µ⎟ ⎝ ⎠ • Pentru determinarea numărului mediu de clienţi din sistem.⎥ = ⎜ µc ⎟ ⎜ µc ⎟ c! ⎢ ⎜ µc ⎟ ⎥ ⎝ ⎠ ⎝ ⎠ ⎣⎝ ⎠ ⎦ = Se ştie că ⎛ λ ⎞ cc p0 ⎜ ⎟ c! ⎜ cµ ⎟ ⎝ ⎠ ∞ c +1 2 ⎡ ⎛ λ ⎞ ⎛ λ ⎞ ⎤ ⎢1 + 2⎜ ⎟ + 3⎜ ⎟ .... x <1.. ca fiind o variabilă aleatoare discretă cu repartiţia c K c −1 1 2 ⎞ ⎛ 0 ns : ⎜ ⎟ ⎜ p (t ) p (t ) p (t ) K p (t ) p (t ) + p (t ) + ... ⎜µ⎟ µ ⎝ ⎠ numărul mediu de servicii făcute efectiv în unitatea de timp λµ M [ N (t )] = (c − 1)!(cµ − λ ) 2 µ M [n s ] = c • λ ⋅µ =λ . obţinem ∑ kx k −1 = M [ Lc ] = ⎛ λ ⎞ cc p0 ⎜ ⎟ c! ⎜ cµ ⎟ ⎝ ⎠ c +1 1 ⎛ λ ⎞ ⎜1 − ⎜ cµ ⎟ ⎟ ⎝ ⎠ c 2 .178 Modele şi algoritmi de optimizare c +2 c +3 ⎡ ⎛ λ ⎞ c +1 ⎤ ⎛ λ ⎞ ⎛ λ ⎞ cc = p 0 ⎢1⎜ ⎟ + 2⎜ ⎟ + 3⎜ ⎟ + . de unde rezultă că ⎛λ⎞ ⎜ ⎟ p0 . (1 − x) 2 k =1 Aplicând în relaţia de mai sus.

µ = 60 6 = 4 . ⎜µ⎟ ⎝ ⎠ c timpul mediu de aşteptare în sistem M [W ] = M [WT ] + µ • numărul mediu de staţii de servire care lenevesc (neocupate) M [ SL] = ∑ (c − j ) p j (t ) = c − ρ . La o spălătorie auto se prezintă în medie 6 autoturisme pe oră.32143 = 19 min 17 s . Cum ρ > 1 . Elemente de teoria aşteptării 179 M [WT ] = • M [ Lc ] λ µ = (c − 1)!(cµ − λ ) 2 1 .92861 .21429 . M [ N (t )] = 0.4261 .16072 etc ⎝ 2 ⎠ 2! 2 1 ⎛3⎞ 1 = 1.14286 ⋅ ⎜ ⎟ 2 2 ⎠ 2!2 ⎛ ⎝ 3⎞ ⎜1 − ⎟ 4⎠ ⎝ 3 1 M [ SL] = c − ρ = 2 − = .8. M [ L2 ] = 0. j =0 c −1 Exemplu. Să se determine elementele sistemului pentru cazurile în care se folosesc 2 şi respectiv 3 lucrători. Rezolvare Pentru acest exemplu avem λ = 6 .14286 . Vom considera următoarele situaţii: a) c = 2 (2 lucrători) 1 3 p0 = = 0. M [WT ] = 6 λ b) c = 3 (3 lucrători) 3 3 . nu este 15 4 suficient un singur lucrător. p1 = p 0 = 0. ρ = > 1 . Un lucător foloseşte pentru spălatul unui autoturism în medie 15 minute. 2 2 1 3 ⎛3⎞ 1 + = 3.92861 = = 0. 2 2 1 3 ⎛3⎞ +1+ ⎜ ⎟ 2 ⎝ 2 ⎠ 2!⎛1 − 3 ⎞ ⎜ ⎟ 4⎠ ⎝ ⎛3⎞ 1 p2 = ⎜ ⎟ p 0 = 0. ⎛λ⎞ ⋅ ⎜ ⎟ p 0 (t ) .14286 ⋅ ⎜ ⎟ 2 2 ⎝ 2 ⎠ 2!2 ⎛ 3⎞ ⎜1 − ⎟ 2⎠ ⎝ M [ Lc ] 1.

Introducem datele de intrare pentru cazul cu 2 lucrători în fereastra corespunzătoare modelului selectat (Figura 8. Analog se rezolvă şi cazul cu c=3.23 şi aşteaptă în medie doar 2 min şi 22 s.3158 etc .6. apoi modelul Poisson Arrivals / Exponential Service.03946 ore = 2 min 22 s . Modelul P0(λ)/Exp(µ)/c:(m. M [WT ] = 0. m. mai multe staţii de servire în paralel (identice în ceea ce priveşte timpul de servire). p0 = 3 1 Concluzie. În cazul b) 21% dintre solicitanţi au şansa să nu stea la rând.5 . . număr limitat de clienţi. şi disciplina de servire FIFO. deoarece numărul mediu al autoturismelor care stau la rând în acest caz este 0. servicii exponenţiale.23685 . După lansarea pachetului de programe.21053 . serviciul la spălătorie este mult mai atractiv cu 3 lucrători. Figura 8.FIFO) Acest model reprezintă cazul sistemului de aşteptare cu sosiri poissoniene. 2 M [ L3 ] = 0.3. selectăm modulul Waiting Lines.73685 .3 Selectând Solve se obţin rezultatele prezentate în Tabelul 8. M [ N (t )] = 1. Apelăm Management Scientist pentru rezolvarea acestui model.3). 8. Din punctul de vedere al clienţilor.180 Modele şi algoritmi de optimizare = 0. 2 3 ⎛3⎞ 1 1 ⎛3⎞ +1+ + ⎜ ⎟ ⎜ ⎟ 2 ⎝ 2 ⎠ 2! ⎝ 2 ⎠ 3!⎛1 − 3 ⎞ ⎜ ⎟ 2⎠ ⎝ 3 p1 = p 0 = 0. M [ SL] = 1. faţă de cazul în care ar fi doar 2 lucrători şi ar aştepta în medie 19 min şi 17 s.

.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.0215 10 0.1429 THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE 1.0509 7 0.4) vom considera următorul exemplu. O şir de aşteptare staţie de servire 2 M numărul zilelor lucrăt Figura 8.0051 15 0.4286 THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE 0.0381 8 0. Elemente de teoria aşteptării Tabelul 8.0038 16 0.0904 5 0. iar timpii de încărcare sunt repartizaţi după legea Exp(µ).0068 14 0. staţie de servire 1 coada Veniri O O .1607 3 0.9286 THE AVERAGE NUMBER OF UNITS IN THE SYSTEM 3.0286 9 0.0678 6 0.3214 THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM 0.1205 4 0.1429 1 0. La o balastieră vin m autobasculante pentru a fi încărcate de c excavatoare.4 . Autobasculantele formează o singură coadă şi sunt încărcate după metoda FIFO.2143 2 0.0161 11 0.6429 Number of Units in the System Probability --------------------------------------0 0.0086 181 Pentru prezentarea modelului (schematizat în Figura 8..0121 12 0.8.0091 13 0.5714 THE PROBABILITY THAT AN ARRIVING UNIT HAS TO WAIT 0.0029 17 OR MORE 0. S-a observat că venirile autobasculantelor la coadă sunt repartizate P0(λ) .

t + ∆t ). Dacă n> c . dacă n ≥ c . dacă n ≥ c . t + ∆t ). a) pentru n < c . sau [1 − (m − n)λ ∆t + O (∆t )] ⋅ [cµ ∆t + O (∆t )] = cµ ∆t + O (∆t ) . Probabilitatea corespunzătoare este: [(m − n + 1)λ ∆t + O (∆t )] ⋅ [1 − (m − n) µ ∆t + O (∆t )] = = (m − n + 1)λ ∆t + O (∆t ) . La intervalul de timp t + ∆t pot avea loc următoarele situaţii: 1) sistemul este în starea En . Dacă n ≤ c . Probabilitatea corespunzătoare este [(n + 1) µ ∆t + O (∆t )] ⋅ [1 − (m − n)λ ∆t + O (∆t )] = (n + 1) µ ∆t + O (∆t ) . dacă 1 ≤ n < c . avem: 1 p n (t + ∆t ) = { − [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 ) + [cµ ∆t + O (∆t )] p n +1 (t ) + [( m − n + 1)λ ∆t + O (∆t )] p n −1 (t ) c) pentru n = 0 . se formează coadă de aşteptare. iar pn( t ) probabilitatea producerii evenimentului En la momentul t . 2) sistemul se află în starea En+1 . dar are loc o plecare în intervalul de timp ( t . dacă n ≥ c .182 Modele şi algoritmi de optimizare Determinarea ecuaţiilor de stare Notăm En evenimentul care constă în prezenţa a n autobasculante la balastieră. avem p 0 (t + ∆t ) = [1 − λ ∆t + O (∆t )] p 0 (t ) + = [1 − mλ ∆t + O (∆t )] p 0 (t ) + [µ ∆t + O ( ∆t )] p1 (t ) + [1 − λ ∆t + O (∆t )](µ ∆t + O (∆t ) ) p1 (t ) b) pentru n ≥ c . nu are loc nici o venire. nu vine şi nu pleacă nici o autobasculantă. sau [(m − n + 1)λ ∆t + O (∆t )] ⋅ [1 − cµ ∆t + O (∆t )] = (m − n + 1)λ ∆t + O (∆t ) . Fie Pn( t + ∆t ) probabilitatea ca la momentul t + ∆t să fie n autobasculante la balastieră. 3) sistemul se află în starea En−1 şi au loc o venire şi nici o plecare în intervalul de timp ( t . nu există coadă de aşteptare. avem 1 p n (t + ∆t ) = { − [cµ + (m − n)λ ]∆t + O ( ∆t )}p n (t ) + . Aşadar. dacă 1 ≤ n < c . Probabilitatea corespunzătoare 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 ) ) .

Calculul elementelor necunoscute ale modelului După calcule laborioase se obţin pentru elementele necunoscute ale modelului următoarele relaţii: • numărul mediu de clienţi din sistem c ⎡ cρ + c − mρ c−1 n n cρ c −1C m ⎤ mρ − c M [ N (t )] = p 0 ⎢ ∑ Cm ρ + 1 + ρ ⎥ + ρ ⎦ ⎣ ρ (1 + ρ ) n=0 • numărul mediu de clienţi de la coadă c −1 ⎡ ⎤ ⎡ c ⎤ n c M [ Lc ] = ⎢m − − c ⎥ ⋅ ⎢1 − p 0 ∑ C m ρ n ⎥ + cρ c−1C m p 0 ρ n =0 ⎦ ⎣ ⎦ ⎣ • numărul mediu de staţii în lucru . n<c ⎪ c n pn = ⎨ c n⎛ ρ ⎞ ⎪ c! Am ⎜ c ⎟ p 0 . să existe în sistem n autobasculante. Elemente de teoria aşteptării 183 Relaţiile a). c ≤ n ≤ m . Pentru rezolvarea sistemului. b). c) le împărţim la ∆t . avem n ⎧C m ρ n p 0 .3) rezultă 1 . p0 = n c −1 cc m n ⎛ ρ ⎞ n n ∑ C m ρ + c! ∑ Am ⎜ c ⎟ ⎝ ⎠ n =0 n=c Aici pn este probabilitatea ca. ecuaţiile 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 c≤n<m n +1 n n −1 ⎩ deoarece pm+1( t ) = 0 . iar ρ c < 1 pentru evitarea supraaglomerării. sistemul neputând avea mai mult de m autobasculante la un moment dat. la un moment dat. ⎝ ⎠ ⎩ Înlocuind pn de mai sus în (8. ⎩ În cazul staţionar. p0 este probabilitatea ca în sistem să nu existe nici o autobasculantă la un moment dat.5 şi. şi se obţin ecuaţiile 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. prin inducţie.8. aplicăm aceeaşi metodă ca la modelul din § 8. ţinem seama de proprietăţile funcţiilor O ( ∆t ) când se trece la limită pentru ∆t → 0 .

Să se determine elementele necunoscute ale fenomenului de aşteptare.075 ⋅ 1. µ Aplicaţie numerică Balastiera are 2 excavatoare care trebuie să încarce 20 autobasculante.075 ⎞ ∑A ⎜ 2 ⎟ ⎝ ⎠ n=2 20 n 20 n = 0.075 1 2 ⎤ ⎡ ⎤ ⎡ n 2 − 2⎥ ⋅ ⎢1 − p 0 ∑ C 20 (0.4 care coincid cu cele determinate anterior. După apăsarea butonului Solve obţinem rezultatele din Tabelul 8.184 Modele şi algoritmi de optimizare M[ns] = M[N(t)] − M[Lc] • timpul mediu de aşteptare la coadă M [ Lc ] M [WT ] = µ M [n s ] • timpul mediu de aşteptare în sistem M [W ] = M [WT ] + 1 .075 1 n 2(0.075 ⎣ ⎦ ⎣ n =0 ⎦ M [n s ] = M [ N (t )] − M [ L2 ] = 1. 4 M [W ] = M [WT ] + Rezolvăm modelul de mai sus şi cu Management Scientist. S-a constatat că sosirile autobasculantelor sunt poissoniene cu parametrul λ = 0.075) n ⎥ + + 2(0.075 − 2 + = 2. m = 20 µ 4 1 n 22 C (0.08595 0.075)1 C 20 p0 = 0.075) + ∑ 2! n =0 1 n 20 ⎛ 0.3 autobasculante pe oră. .075) n + ⎥+ ∑ 0. După lansarea pachetului de programe selectăm modulul Waiting Lines.3 = = 0.38814 = 23 min 17 s .075 n =0 ⎦ ⎣ 20 ⋅ 0.34355 M [WT ] = M [L2 ] = 0. iar timpul de încărcare este exponenţial de parametru µ = 4 autobasculante pe oră pentru fiecare excavator.74239 M [ L2 ] = ⎢20 − 0.18756 2 ⎡ 2 ⋅ 0. apoi modelul Poisson Arrivals/Exponential Service (Finite Pop. c = 2 .075)1 C 20 ⎤ M [N (t )] = p 0 ⎢ C 20 (0.075 .) şi introducem datele ca în Figura 8.075 + 2 − 20 ⋅ 0. Rezolvare ρ= p0 = λ 0.5.13814 = 8 min 17 s 4 ⋅ M [ ns ] 1 = 0.075 1.

0153 8 0.0859 THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE 0.4 WAITING LINES ************* NUMBER OF CHANNELS = 2 POISSON ARRIVALS WITH MEAN RATE = 0.0291 7 0.0518 6 0.1353 4 0.1876 THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE 0. această metodă este preferabilă simulării.0014 11 0. Simulare Modelele matematice corespunzătoare sistemelor reale sunt folosite pentru a analiza rezultatele deciziilor înainte de implementare.0001 14 0.1876 1 0. Simularea nu determină soluţia optimă a modelului matematic.2813 2 0.0002 13 0.1381 THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM 0.0034 10 0.2005 3 0.0005 12 0. Simularea se foloseşte în .0000 8.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. Modelul de simulare urmăreşte evoluţia în timp a sistemului real şi ţine seamă şi de factorul aleatoriu.3881 THE PROBABILITY THAT AN ARRIVING UNIT HAS TO WAIT 0. deoarece se obţine soluţia optimă.8.0075 9 0.5311 Number of Units in the System Probability --------------------------------------0 0. Elemente de teoria aşteptării 185 Figura 8.7424 THE AVERAGE NUMBER OF UNITS IN THE SYSTEM 2.0863 5 0. ci compară rezultatele mai multor alternative predefinite cu scopul de a o reţine pe cea mai avantajoasă.7. În situaţia în care modelul matematic poate fi rezolvat analitic.5 Tabelul 8.

cu rata serviciilor µ=2 şi rata sosirilor λ=1. Pentru că simularea începe fără vagoane la descărcare. Vagoanele sosesc noaptea şi descărcarea unui vagon durează o jumătate de zi.30 0. Dacă sunt mai mult de două vagoane la rând pentru descărcare. Vom folosi generatorul de numere aleatoare din Microsoft Excel pentru a genera numere uniform repartizate între 0 şi 99.23 1 0. coadă infinită. este necesară o perioadă de . Simulare probabilistă Vom ilustra această metodă printr-un exemplu de model de aşteptare adaptat după Bonini et al. (1997). FIFO.23 0.10 4 0.5 şi este independent de numărul de vagoane sosite în oricare altă noapte.00 Numărul mediu de sosiri pe noapte este de 1.02 cel puţin 6 0.6 Număr aleatoriu generat 0-22 23-52 53-82 83-92 93-97 98-199 Număr de sosiri 0 1 2 3 4 5 Frecvenţa relativă 0.05 0. Suntem în cazul unui model de aşteptare cu o singură staţie de servire.6.5 .5 vagoane. Considerăm un depozit care are o rampă de descărcare a vagoanelor. S-a constatat că numărul de vagoane care sosesc noaptea urmează repartiţia din Tabelul 8.30 0.05 5 0.30 3 0.30 2 0. În vederea simulării avem nevoie de un eşantion de sosiri aleatoare pentru un număr de nopţi. vagoane Probabilitatea 0 0. Tabelul 8. atunci unele dintre ele rămân să fie descărcate în ziua următoare. Pentru aceasta se poate folosi o tabelă de numere aleatoare sau un generator de astfel de numere.5 Nr. Tabel 8.02 Vom considera comportarea sistemului de aşteptare pe o perioadă de 30 zile.10 0.186 Modele şi algoritmi de optimizare cazurile în care rezolvarea analitică a modelului matematic este imposibilă sau destul de dificilă. Se poate arăta că sosirile nu sunt poissoniene şi din acest motiv nu se poate aplica nici unul din modelele clasice. pe care le vom asocia cu un număr de sosiri ca în Tabelul 8.

care sunt trecute în Tabelul 8. Elemente de teoria aşteptării 187 iniţializare (o considerăm de 5 zile) pentru ca sistemul să se apropie de o situaţie normală.36 . Tabelul 8. Au fost generate 35 de numere.3 Descărcate 0 0 0 2 2 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.8.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 Ziua x x x x x 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 Număr aleatoriu 99 6 15 62 86 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 Total Media Amânate 0 0 0 0 1 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. împreună cu rezultatele simulării.7.7. Număr Total de sosiri descărcat 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.

Există multe pachete de programe specializate în simulare.1054 . se poate calcula pierderea cauzată pe perioada simulată. numărul mediu de sosiri într-un 80 minut este λ = = 1. iar solicitările unui client sunt satisfăcute în medie într-un minut şi jumătate. putând decide care este cea mai avantajoasă configuraţie pentru acest sistem de aşteptare. s-a constatat că sosirile clienţilor sunt poissoniene. iar serviciile. Să se determine: a) intervalul mediu dintre două sosiri consecutive b) numărul mediu de persoane servite pe oră c) probabilitatea ca într-un interval de 3 minute să nu soseacă nici un client d) numărul vânzătorilor necesari pentru a se evita algomerarea. Se poate folosi şi EXCEL pentru realizarea simulării modelelor de aşteptare sau de stocuri. Se pot reface calculele pentru o capacitate de descărcare sporită. R. 60 1 60 = = 0.8.75 = 0. urmând ca pentru un eşantion mare să se folosească simularea cu calculatorul.188 Modele şi algoritmi de optimizare Observăm că a fost descărcat şi un vagon în plus faţă de cele sosite în cele 30 de zile care constituie perioada de simulare. c) Deoarece Pn (t ) = e −λt 0! n! d) Dacă sistemul de aşteptare are o singură staţie de servire (un singur vânzător). de exemplu 3 vagoane pe zi. Considerând sistemul cu mai multe µ 40 staţii ~ ρ= ρ c <1 şi alegem c ca fiind cel mai mic întreg pentru care este .75 minute.333 . deoarece atunci când începem simularea pentru 30 de zile mai era un vagon de descărcat. şi se compară pierderea cauzată de vagoanele amânate. Analizând statistic datele culese la acest sistem de aşteptare. rezultă că P0 (3) = e −3⋅0. exponenţiale. La un magazin de decoraţiuni interioare sosesc în medie 80 de clienţi pe oră. a) Intervalul mediu dintre două sosiri consecutive este de λ 80 60 = 40 . Se consideră unitatea de timp minutul şi atunci. Probleme propuse 1. Rolul simulării manuale este de a înţelege în ce constă simularea unui model de aşteptare.75) 0 (λt ) n . b) Numărul mediu de persoane ce pot fi servite pe oră este de µ = 1 . de exemplu SIMUL8 care are o interfaţă grafică atrăgătoare şi se pot realiza destul de comod simulări pentru modele de aşteptare. Cunoscând care este penalizarea pentru amânarea descărcării unui vagon.5 (3 ⋅ 0. λ 80 ρ= = = 2 > 1 şi se creează aglomeraţie. 8.

care rezolvă această problemă. La ieşirea dintr-o staţie de betoane. să se determine timpul maxim în care.96173 În maximum 5 minute. cel mult 3 autobasculante vor aştepta să li se spele roţile. S-a constatat că la intervale de o oră pe o perioadă de o săptămână benele au sosit conform cu Tabelul 8. . Elemente de teoria aşteptării 189 satisfăcută această inegalitate. iar rezultatele sunt trecute în Tabelul 8. cel mult 3 autobasculante aşteaptă să li se spele roţile.99987 f(2)=0.95.99825 f(6)=0. Tabelul 8. 3. R.99271 f(4)=0.95. Obţinem c=2.9 2 2 0 5 1 1 9 4 8 0 0 8 5 2 9 0 0 Nr bene sosite/ora (xi) Frecvenţa (Ni) 0 8 3 21 4 14 5 6 6 3 7 1 Minute/benă (tj) Frecvenţa(Nj) 6 5 4 5 5 0 7 0 2 1 0 3 4 7 5 0 1 5 2 9 3 0 1 3 9 5 0 3 5 8 10 0 0 4 0 6 4 5 4 10 5 0 5 0 6 11 0 2 5 5 3 11 5 0 6 0 3 12 0 1 Minute/benă (tj) Frecvenţa(Nj) a) Să se testeze că sosirile la staţia de betoane sunt repartizate Poisson.8 . t) f(0)=1 f(1)=0.8 1 2 23 24 Tabelul 8. cu probabilitatea de cel puţin 0. În aceeaşi perioadă s-au notat şi timpii de încărcare a benelor.934 f(3)=0. Dacă repartiţia sosirii autobasculantelor pentru a li se spăla roţile este poissoniană.8. În următoarea secvenţă MathCAD.98101 f(5)=0. La o staţie de betoane sosesc bene care sunt încărcate şi părăsesc imediat staţia.9 . cu probabilitatea 0. 2. este nevoie de 2 vânzători. t) := e − λ ⋅ t ( λ⋅ t ) n n! f( t) := n =0 ∑ 3 P( n . sosesc pentru a li se spăla roţile în medie 15 autobasculante pe oră. se consideră unitatea de timp minutul. Ca să nu se creeze aglomeraţie. Media sosirilor λ := 15 60 Probabilitatea ca in intervalul de timp t sa soseasca n autobasculante numărul zilelor lucrătoare din an P( n .

g) Să se determine numărul punctelor de încărcare necesare pentru a evita aglomerarea în perioada de vârf. . Cum χ c2 < χ 02.24 semnificaţie şi determinăm d = max Fi − Fei = 0. c) Să se determine numărul mediu de bene din sistemul de aşteptare care este dat de staţia de betoane.9. Determinăm statistica χc2 = ∑ i =1 8 ( N i − N i′ ) 2 . λ. l = (8 − 1) − 1 = 6 (deoarece avem un parametru media sosirilor).0283 .5 minute (am considerat mijlocul intervalului de referinţă).05 şi numărul gradelor de libertate. j (∀) i = 1.05128 .05.63 . Calculăm funcţia de repartiţie Fei = ∑N j =1 24 i j teoretică .45)/Exp(3. în tabela funcţiei u 23 K (u ) (testul asimptotic al lui = 0. e) Să se determine timpul mediu de aşteptare la rând pentru a fi încărcate benele. Pentru pragul de 1≤i ≤ 24 α = 0.0768 .01 . Rezolvare a) Vom folosi testul χ 2 pentru a verifica ipoteza H0 : „Sosirile sunt repartizate Po(λ)” . Atunci Fi = 1 − e −0. Suntem în cazul modelului Po(2.05.FIFO) şi atunci M[N(t)]=3. cu λ = N i′ = N i e ∑x N i =1 8 i 8 i ∑N i =1 = 2.05 . Pentru aceasta calculăm un estimator pentru media timpilor de servire t= ∑ (t i =1 24 i − 2. pentru pragul α = 0. b) Vom folosi testul Kolmogorov pentru a verifica ipoteza H0: „Timpii de servire sunt repartizaţi Exp(µ)”. Deoarece d < cu pragul de semnificaţie α = 0. d) Să se determine numărul mediu de bene care aşteaptă să fie încărcate. funcţia de repartiţie empirică ∑N j =1 .33272 se admite ipoteza H0 Kolmogorov) găsim u=1. Ni i 2 unde − λxi . 6 = 12. 6 admitem ipoteza H0 cu pragul de semnificaţie 0.45 .190 Modele şi algoritmi de optimizare b) Să se testeze că timpii de servire sunt repartizaţi exponenţial. Din tabela repartiţiei găsim. (∀)i = 1.52657 .01 .05128 t i µ = 0. c) Numărul benelor servite într-o oră 60 ⋅ 0.5128 = 3.5) N i 24 ∑ Ni i =1 = 19.8 .07)/1:(∞. f) Să se determine timpul mediu petrecut de o benă în sistemul de aşteptare dat de staţia de betoane.592 . Obţinem χ c = 0. χ2 χ 02.

e) M[W]=0. R. sosesc în medie 15 autobasculante pe oră.FIFO) cu λ=10. utilajul poate să încarce 20 autobasculante pe oră. astfel ca în atelierul de reparaţii să intre autoturismele care au fost spălate. funcţionarul ia comanda următorului client aşezat la rând.11 .m. Să se determine: a) probabilitatea ca o autobasculantă să nu aştepte pentru a fi încărcată b) numărul mediu de autobasculante din sistemul de aşteptare creat la carieră c) numărul mediu de autobasculante din şirul de aşteptare d) timpul mediu de aşteptare al unei autobasculante în sistemul de aşteptare e) timpul mediu de aşteptare al unei autobasculante în şirul de aşteptare pentru a fi încărcată f) probabilitatea ca în sistemul de aşteptare să existe mai mult de 2 autobasculante g) probabilitatea ca autobasculanta să aştepte la rând să fie încărcată mai mult de două minute. d) probabilitatea ca un salariat care vine în cantină să aştepte să dea comanda şi e) costul orar al serviciului în cantină.7 min . iar funcţionarul de la ghiseu cu 7 u.24 min . µ=20 şi ρ = . Un funcţionar ia comanda. La o cantină a unei firme de construcţii.75 salariat/minut. b) numărul mediu de salariaţi aşteptând să dea comanda.25. sosesc salariaţii la masă după legea Poisson cu rata 0. e) 37 u. Din analiza statistică a datelor culese la faţă locului s-a constatat că sosirile sunt poissoniene.45 g) ρ = = < 1 şi astfel este suficient un singur punct de încărcare. c) timpul mediu petrecut la rând de un salariat. Modelul corespunzător acestei probleme 3 este Po(λ)/Exp(µ)/1:(∞. cu rata medie de 3 autoturisme pe oră. d) M[WT]=0. d) 0. cu un singur ghişeu.25 .07 4. Se apreciază că în medie cei ce aşteaptă să ia masa sunt plătiţi cu 10 u. Elemente de teoria aşteptării 191 d) M[L1]=3. iar servirile. b) M[N(t)]=3. b) 2.25-0./oră. Proprietarul unui service auto doreşte să înfiinţeze propria spălătorie auto.25. exponenţiale.8. 6. care are un singur utilaj de încărcare a autobasculantelor. Se consideră unitatea de timp minutul. Ştiind că sosirile autoturismelor pentru service care trebuie şi spălate sunt poissoniene./oră. La o carieră. 4 a) p0=0. R. e) M[WT]=3. 5.1875-0.15 min.m. cu autoservire. iar un muncitor are nevoie în medie de 20 de .75 .4219. g) P(M[WT]>2)=0. µ 3. S-a constatat că timpul mediu de servire este de 1 min/salariat. Conducerea firmei este interesată să cunoască: a) probabilitatea ca nici un salariat să nu fie în cantină. aşteptând să dea comanda. În medie. a) p0=0.m. λ 2. c) 3min .2 min. c) M[L1]=2. stabileşte preţul şi încasează contravaloarea comenzii. Până i se pregăteşte meniul. f) P(N(t)>2)=1-p0-p1-p2=1-0.1406=0.0067 (extrem de rar se întâmplă ca autobasculanta să aştepte mai mult de 2 minute la rând pentru a fi încărcată!). f) M[W]=23.25 .

6667)=0. Luând pentru început c=2. Să se determine: a) numărul poliţiştilor necesari pentru a se evita supraaglomerarea b) probabilitatea ca la secţie să nu fie automobile pentru constatare c) probabilitatea ca să fie automobile parcate în alte locuri decât cele ale secţiei d) numărul mediu de automobile care aşteaptă începerea întocmirii actelor e) timpul mediu de aşteptare la rând până când un poliţist vine să înceapă constatarea. Un depozit închiriază de la o firmă de transporturi 4 camioane pentru a se aproviziona sau pentru a transporta marfa la clienţi.1404 + 0. iar timpul necesar acestei operaţii este repartizat exponenţial. obţinem P(N[t]>c)=1–(p0+p1)=1–(0.1170 + 0.5 > 1 şi dacă ar fi un µ 6 < 1 . La depozit sosesc în medie 4 camioane pe oră. ρ = singur poliţist ar fi supraaglomerare.2 Aşadar. 5 λ 15 = = 2. Într-o oră. c=2.4065 d) M[L3]=3. Secţia are rezervate 5 locuri de parcare. Modelul de ρ c c) P (n > 5) = 1 − P (n ≤ 5) = 1 − ∑ p i = i =0 = 1 − (0. La o secţie de poliţie de constatări accidente uşoare sosesc în medie 15 automobile pe oră. repartiţia sosirilor fiind poissoniană. câţi muncitori pentru spălarea autoturismelor ar trebui angajaţi? R. ar trebui angajaţi 2 muncitori. adică c=3 . a) Alegem numărul c de poliţişti astfel încât aşteptare devine Po(λ)/Exp(µ)/3:( ∞. Trebuie ca P(N[t]>c)<0. FIFO) . Să se determine: a) probabilitatea ca ambele rampe să fie libere b) numărul mediu de camioane de la depozit c) probabilitatea ca un camion care vine la depozit să aştepte intrarea la rampă . 20 µ Este cazul modelului Po(λ)/Exp(µ)/c:( ∞.3333+1. µ=6 automobile/oră. FIFO).1124 + 0. adică 1 − P ( N [t ] ≤ c) < 0.2.2 .192 Modele şi algoritmi de optimizare minute pentru spălarea unui autoturism şi probabilitatea de aşteptare pentru spălare să nu depăşească 0. R.0449 + 0. un poliţist constatator întocmeşte actele pentru 6 automobile.0449. iar dacă sunt ocupate aceste locuri.1666<0.5112 automobile . e) M[WT]=14 minute . 8. Depozitul are 2 rampe de încărcare/descărcare care încarcă/descarcă un camion în medie în 20 minute. 7. celelalte automobile parchează în alte locuri din vecinătate. atunci ρ = = 1 şi astfel sunt necesari cel puţin 2 muncitori.3333+0. Deoarece λ = 3 şi 60 λ µ= = 3 . S-a constatat că intervalele dintre sosiri şi timpii de încărcare au repartiţia exponenţială. λ=15 automobile/oră .0813) = 0. b) p0=0.0975 + 0.2 .

2524 .5823 .. a) p0=0. Ştiind că solicitările pentru intervenţii sosesc în medie una pe zi şi sunt repartizate Poisson.6 . care este timpul mediu de aşteptare până la începerea descărcării e) în condiţiile de la d) care este numărul mediu de tancuri petroliere care aşteaptă la rând pentru descărcare f) este avantajoasă închirierea celei de-a doua dane dacă pentru fiecare zi pe care tancul petrolier o petrece la rând aşteptând pentru descărcare compania pierde 4000 u.986 u.4098 . b) M[N(t)]=2. timpul necesar depanării fiind repartizat exponenţial. c) p0=0. e) M[L2]=0. 9. cu media 0. 10.6351 . a) M[L2]=0. iar un specialist reuşeşte să depaneze un aparat (aer condiţionat sau frigider) în medie în 20 minute. cu media 1.2219 .8. c) P(M[N(t)]>2)=1-(p0+p1+p2)=0. d) M[WT]=0.m.6836 . d) 8 min 32 s .6 .3779 ./zi. Să se determine: a) numărul mediu de tancuri petroliere care aşteaptă la rând pentru descărcare b) timpul mediu de aşteptare în port înainte de a începe descărcarea c) timpul mediu de aşteptare în port din momentul sosirii şi până la plecarea tancului petrolier d) dacă se închiriază o dană cu 1500 u.m. c) M[W]=11. La o dană din port. care este suma medie orară plătită pentru nefolosirea unui camion? R. proprietatea unei companii petroliere. a) M[L1]=7. d) S = M [WT ] ⋅ 20 = 2. b) M[N(t)]=1. să se determine: a) numărul mediu de aparate care aşteaptă să fie depanate b) numărul mediu de aparate care nu funcţionează la un moment dat c) probabilitatea ca să nu aibă de lucru cei doi specialişti d) timpul mediu de aşteptare până când un specialist începe depanarea unui aparat e) timpul mediu de nefuncţionare a unui aparat R. . la care se lucrează la fel ca la prima şi dacă tancurile petroliere se duc la dana liberă pentru descărcare. în ordinea sosirii lor.4 zile. e) 28 min 32 s .6279 . sosesc pentru descărcare tancuri petroliere la intervale de timp repartizate exponenţial.8 zile. Da.m. Timpul mediu necesar descărcării este de asemenea presupus repartizat exponenţial. Elemente de teoria aşteptării 193 d) ştiind că pentru o oră chiria pentru un camion este de 20 u. iar pentru cel de-al doilea caz 4000 ⋅ M [ L2 ] + 1500 = 2387.3108 .m. f) Pierderea pentru primul caz 4000 ⋅ M [ L1 ] = 41511. b) M[WT]=10.5037 .0246 . ? R. O firmă are 30 de instalaţii de aer condiţionat şi frigidere şi pentru întreţinerea lor a angajat 2 specialişti.

fonduri băneşti etc. Dacă stocul nu ar putea să satisfacă cererea înregistrată de întreprindere pe o perioadă de timp.1.9. adică. Pentru ca întreprinderea să poată asigura întotdeauna satisfacerea cererii pe un interval de timp dat. Produsele rezultate din procesul de producţie sunt cerute în afara întreprinderii în diferite cantităţi care variază în timp. ELEMENTE DE TEORIA STOCURILOR 9. Introducere în teoria stocurilor 9. Dacă întreprinderea menţine un stoc prea mare de produse. este necesar ca întreprinderea să dispună de un stoc de materiale care să poată alimenta în mod sistematic producţia. pentru nesatisfacerea comenzilor. Apare astfel necesitatea dimensionării optime a stocurilor de materii prime şi materiale astfel încât costurile care rezultă din imobilizarea fondurilor sau neutilizarea resurselor să fie minime. este necesar să se realizeze un stoc de produse rezultate în urma procesului de producţie. constând din imobilizarea fondurilor băneşti investite în aceste produse. stocul este subdimensionat. Pe de altă parte.1. Există astfel o cerere din stocul de materiale care vine din partea producţiei. . dacă investiţia în stocul de materiale va fi mică. vor exista perioade când procesul de producţie încetează şi întreprinderea înregistrează din nou pierderi datorate nefolosirii maşinilor şi utilajelor în procesul de producţie.) şi valori care rezultă în urma acestui proces (produse finite). Punerea problemei În desfăşurarea unei activităţi de producţie intervin valori materiale care intră în procesul de prelucrare (materii prime. ar apărea din nou pierderi datorate penalizărilor plătite. Problemele care constau în dimensionarea optimă a stocurilor de materii prime şi materiale se numesc probleme de stoc aprovizionare. Pentru ca procesul de producţie într-o întreprindere să se desfăşoare neîntrerupt.1. precum şi în eventuala depreciere a produselor sau recondiţionarea lor periodică. Imobilizarea unor sume mari de bani în stocurile de materiale poate să conducă la pierderi pentru întreprindere. Întreprinderea trebuie să investească o sumă de bani în aceste materiale pentru a fi capabilă să satisfacă necesităţile procesului de producţie. poate apărea o pierdere.

Valoarea resursei I = I (t) este o funcţie de timp. ce rezultă din imobilizarea fondurilor băneşti în materii prime sau produse (cheltuieli de producţie) şi din cheltuielile pentru asigurarea depozitării şi conservării stocului. Variaţia stocului este dată de relaţia I (t ) = I 0 + ∫ (a (t ) − b(t ) )dt . rata ieşirilor din resursă. Concepte utilizate în teoria stocurilor Rezolvarea problemelor legate de determinarea stocurilor optime se face cu ajutorul unor modele matematice ale teoriei stocurilor. r(t). 1974). 9. Eficienţa se defineşte în funcţie de costuri şi acestea pot fi: • costul de depozitare. b(t). Fie I(0) = I0. care se determină în funcţie de toate cheltuielile şi pierderile cauzate de lipsa din stoc a materiilor prime sau produselor (inclusiv penalizările rezultate din nelivrarea la timp a produselor fabricate). nevoia reaprovizionării lui. nivelul stocului la momentul t = 0. Fie a(t).9. şi/sau cererea. Stocul sau inventarul este o resursă de orice fel care are o valoare economică şi care se caracterizează prin intrări în resursă (reaprovizionarea stocului) şi ieşiri din resursă. În urma satisfacerii cererii stocul se micşorează şi. Eficienţa unui stoc de-a lungul unui interval de timp este dată de o funcţională de forma . Problemele care constau în dimensionarea optimă a stocului de produse rezultate din procesul de producţie se numesc probleme de stoc producţie (Văduva et al. iar r(t). iar funcţia a(t) trebuie aleasă astfel încât să se realizeze un obiectiv sau o eficienţă dorită. • costul de lansare. Elemente de teoria stocurilor 195 Se pune din nou problema dimensionării optime a stocului astfel încât pierderile datorate imobilizării valorilor în stoc.2. pot fi deterministe sau aleatoare. considerat momentul iniţial de la care se urmăreşte evoluţia stocului. II. Cererea nu se confundă întotdeauna cu ieşirea. care rezultă din cheltuielile pentru lansarea comenzilor de reaprovizionare şi introducerea lor în stoc sau lansarea fabricaţiei. de aici. Scopul menţinerii unui stoc este acela de a satisface o cerere. De cele mai multe ori însă b(t) = r(t) .1. rata intrărilor în resursă la momentul t şi b(t). deoarece există situaţii în care materialele din stoc se depreciază în timp şi atunci la ieşirea din stoc la cerere se adaugă şi materialele depreciate în acel interval de timp. • costul lipsei de stoc. rata cererii la momentul t. precum şi pierderile rezultate din nesatisfacerea cererilor (penalizările) să fie minime. 0 t Ieşirile din stoc.

T *) există lipsă de stoc. În ceea ce priveşte mărimea loturilor de reaprovizionare a(ti).. În acest caz. Dacă C este o variabilă aleatoare. Reaprovizionarea la anumite momente de timp impune utilizarea şi a altor variabile care au importanţă practică. se presupune că intrarea în stoc.. pot fi egale sau nu. În modelele de teoria stocurilor intervin şi variabile sau parametri legate în special de mecanismul reaprovizionării. Din motive practice.. pot fi constante sau aleatoare. se numesc cicluri de reaprovizionare. care micşorează nivelul stocului. r(t)]. Topt. 2.. 1. iar între aceste momente de timp au loc numai ieşiri din stoc. Pentru determinarea optimului lui C pot să intervină uneori şi anumite restricţii legate de elementele necunoscute. Într-un interval de timp [0. .1. variaţia stocului este reprezentată prin segmentele oblice. atunci se determină funcţiile necunoscute din condiţia ca valoarea medie a lui C să fie optimă. Se observă că pe intervalul de timp (t’.. modelele de teoria stocurilor determină mărimea lotului de reaprovizionare optim. rata cererii fiind presupusă constantă.1 T2 t3 T3 t’ T* t a(t2) a(t3) În Figura 9.T*] pot avea loc mai multe reaprovizionări. aopt. Aşadar. şi/sau ciclul de reaprovizionare optim. În unele modele ale teoriei stocurilor din optimizarea funcţiei de eficienţă se poate deduce ciclul optim de reaprovizionare.. adică de mecanismul intrărilor în stoc. Astfel. . se face la momente discrete de timp. pot depinde sau nu de Ti. I(t) S a(t1) P T0 t0 L t1 T1 t2 Figura 9.. a(t) ia valori nenule numai la anumite momente de timp t0 < t1 < t2 < .196 Modele şi algoritmi de optimizare C(t) = C[a(t).. r(t) este o funcţie cunoscută şi uneori se cunoaşte şi funcţia b(t). În general. b(t). reaprovizionarea. 1. . acestea pot fi egale sau nu. i = 0. ciclurile de reaprovizionare Ti. i = 0. 2. Cantităţile a(ti) reprezintă valorile comenzilor care intră în stoc la momentele ti. Topt. Intervalele de timp Ti = ti+1 − ti. trebuie determinată funcţia a(t) astfel încât eficienţa să fie optimă. În diferite modele ale teoriei stocurilor. .

iar P0 este constant sau variabil. 4. . lotul de reaprovizionare optim nu intră în stoc în momentul când a fost lansat.. drept variabilă de decizie se consideră şi nivelul S până la care trebuie încărcat stocul prin introducerea comenzii (nivelul maxim al stocului). − modele deterministe. În unele modele. Momentul lansării comenzii este momentul când nivelul stocului scade la nivelul de reaprovizionare P0. cealaltă urmând a fi determinată cu ajutorul modelului de stocare. Elemente de teoria stocurilor 197 Astfel. − modele statice. De obicei se cunoaşte una dintre aceste mărimi. Totalitatea elementelor care definesc mecanismul de reaprovizionare formează o politică de reaprovizionare. când stocul avea valoarea P0 = I(t1 − L). care trebuie alese de decident în vederea realizării eficienţei optime. ci după un interval de timp L. • nivelul de reaprovizionare. Intervalul de control este intervalul de timp dintre două lansări de comenzi succesive. Politica este optimă dacă elementele ce o caracterizează au fost determinate ca elemente ce realizează eficienţa optimă pe un interval de timp dat. numit timp de avans. Modelele de teoria stocurilor se pot clasifica după mai multe criterii. Uneori. − modele de stocare cu mai multe staţii – stocarea mai multor tipuri de materiale. După modul cum evoluează în timp − modele dinamice. După numărul de stocuri de materiale distincte (se mai numesc şi staţii) – criteriu topologic − modele de stocare cu o singură staţie – stocarea unui singur tip de material. După natura aleatoare sau nu a elementelor sale − modele stochastice.9. Mărimea P0 se numeşte nivel de reaprovizionare şi se observă că ea este strâns legată de timpul de avans L. cererea) − modele cu cerere continuă. • ciclurile de reaprovizionare. în sensul că stocul P0 poate satisface cererea pe perioada timpului de avans L. Aceasta constă din: • loturile de reaprovizionare. 2. Comanda a(t1) a fost lansată la momentul t1 − L. 3. − modele cu cerere discretă. • timpul de avans. 1. produs etc. După valorile posibile ale unor variabile (de exemplu. Mărimile L şi P0 pot fi presupuse cunoscute sau pot fi variabile de decizie. produse etc. L este presupus variabilă aleatoare.

Ipoteze referitoare la mecanismul de intrare/ieşire a) Cererea este continuă. iar ieşirile corespund ieşirilor din stoc. timpul de avans. c) Pentru I(t) > 0. şi poate fi satisfăcută dacă nivelul curent al stocului I(t) > 0. are rata r=const. 2. • nivelul maxim al stocului. constante sau nu. 1. . pentru unitatea de produs / unitatea de timp. b) Intrările se realizează la intervale de timp T. Problemele generale care se pun şi trebuie rezolvate de modelele de stocuri sunt: • determinarea valorilor optime pentru a şi T astfel încât costul total unitar pe unitatea de timp să fie optim. Aplicarea modelelor de teoria aşteptării în teoria stocurilor este posibilă numai atunci când variabila I(t) este o variabilă discretă. • nivelul mediu al stocului. • numărul optim de cereri de reaprovizionare a stocului într-un an. d. Deosebirea dintre cele două tipuri de modele constă în aceea că. b) Preţul ca de cumpărare a unei unităţi de materie primă sau produs poate depinde de a. T sunt constanţi (modele statice). e) Parametrii P0. d) În perioada T intră o cantitate a cu rata constantă p – ritmul de reaprovizionare. d) Pentru I(t) < 0. Pentru modelele ce vor fi prezentate în continuare se fac următoarele ipoteze. f) Procesul de reaprovizionare continuă nedefinit. c) Momentul lansării unei noi comenzi este semnalat de nivelul critic P0. h. Sosirile din cadrul teoriei aşteptării corespund intrărilor în stoc. a.198 Modele şi algoritmi de optimizare Modelele de teoria stocurilor se aseamănă cu cele de teoria cozilor. în teoria stocurilor se cunoaşte numai cererea sau ieşirea şi se caută să se determine intrarea optimă. există un cost de stocare. Între lansarea comenzii şi sosirea ei (nu) există un interval L de timp. • determinarea nivelului de reaprovizionare P0 astfel încât costul total unitar pe unitatea de timp să fie optim. nivel de reaprovizionare. în timp ce în teoria aşteptării se presupune că venirile şi serviciile sunt variabile aleatoare cunoscute. Ipoteze privind costurile. există un cost al lipsei de stoc. pentru unitatea de produs / unitatea de timp. pe baza cărora se poate defini eficienţa a) Costul s de lansare a comenzii este constant.

I(t) descreşte. Construcţia modelului (determinarea funcţiei obiectiv) Figura 9. I0 = 0. ⎝ r⎠ ⎛ a⎞ a Întreaga cantitate a va intra în stoc până la momentul .2 . a Din ipotezele modelului rezultă că funcţia I(t) este periodică cu perioada T = . − ieşirile au loc în mod continuu cu rata r – constantă.2.2 ilustrează comportarea stocului pe durata unui ciclu de reaprovizionare. ⎟ . Parametrii necunoscuţi: − cantitatea comandată a (mărimea lotului de reaprovizionare). Elemente de teoria stocurilor 199 9. − mărimea ciclului de reaprovizionare T. Ipoteze: − nu se admite lipsa de stoc. − nu există stoc de rezervă sau stoc intangibil.9. r a⎞ ⎛ Este suficient să rezolvăm problema de optim pe intervalul ⎜ 0. ⎜p r⎟ ⎝ ⎠ I(t) a I(t) = (p − r) t I(t) = a − rt 0 a p T= a r t Astfel. − costul de lansare a comenzii a este s = constant. p > r. − L = 0. ⎟ . − costul de stocare h este constant pe unitatea de stoc / unitatea de timp. iar în intervalul ⎜ . ⎟ . şi în intervalul ⎜ 0. Figura 9. Modelul clasic al lotului economic Parametrii cunoscuţi: − intrările au loc în mod continuu cu rata p – constantă. ⎜ p⎟ p ⎝ ⎠ ⎛ a a⎞ I(t) va creşte.

T este costul de stocare. ⎟ ⎜p r⎟ ⎪ ⎝ ⎠ ⎩ Costul total pe perioada T este CT = Ch. h) a marimea comenzii mărimea comenzii Figura 9.3 Rezolvarea modelului .3 reprezintă costul total. abscisa punctului de intersecţie a ultimelor două constituind mărimea optimă a comenzii (Q reprezintă cantitatea necesară pe un întreg an). T ⎡ ha 2 ( p − r ) ⎤ r ha ( p − r ) rs =⎢ + s⎥ ⋅ = + . t ∈ ⎜ . a . s . a . s) Ch( Q . ⎟ ⎜ p⎟ ⎪ ⎝ ⎠ I (t ) = ⎨ ⎛ a a⎞ ⎪ a − rt .T + s. dede păstrare totale. C h . h) CL( Q . pastrare a r CT ( Q .T = h ∫ I (t )dt = h ⎢ ⎜r p⎟ p 2 ⎜r p ⎟⎦ 2 pr ⎝ ⎝ ⎠ ⎠ 0 ⎣ 2 Costul total de stocare şi de lansare pe unitatea de timp este C h . de lansare.200 Modele şi algoritmi de optimizare ⎧ ⎛ a⎞ ⎪( p − r )t . unde Ch. dat de ⎡ ( p − r) a2 ⎛ 1 1 ⎞ ra 2 ⎛ 1 1 ⎞⎤ ha 2 ( p − r ) ⎜ 2 − 2 ⎟⎥ = ⋅ 2 + a2 ⎜ − ⎟ − . de lansare. costul de păstrare şi costul de lansare. a . Costurile total. t ∈ ⎜ 0. C (a) = 2 pr 2p T a ⎣ ⎦ a Figura 9.

Costul de stocare pe unitatea de timp este C h . rezultă că aopt determinat realizează minimul pentru C(a) ). avem costul unitar optim şi intervalul de reaprovizionare optim date de relaţiile 2hrs ( p − r ) 2 ps C 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 ) = . de unde rezultă cantitatea optimă de reaprovizionare: h( p − r ) rs 2 prs − 2 = 0 ⇒ a opt = . costul de stocare pe o perioadă de timp t0 este ha C h . Topt = .4 2T t Astfel. reaprovizionări pe an dat de Topt Se pot determina: nivelul mediu al stocului ca fiind În practică se presupune că r ≈0. r ceea ce revine la a accepta că =0 p (Figura 9. Elemente de teoria stocurilor 201 Costul minim îl obţinem din relaţia C’(a) = 0 (deoarece C”(aopt)>0.4). p a opt adică p >> r ( se consideră p = ∞). 2 În acest caz − mărimea optimă a comenzii de reaprovizionare a stocului este 2rs I a opt = h − costul minim pe unitatea de timp este (9.t 0 = t0 .1) .T ha = T 2 şi reprezintă costul de stocare al unui a stoc mediu pe unitatea de timp. 2 I(t) a 0 T Figura 9. p rh( p − r ) şi numărul optim de 2 numarul numărul zilelor lucratoare din an lucrătoare din an . 2 prs p Astfel.9.

300 2rs 400 ⋅ 30000000 I a opt = = 2⋅ = 6928. În ce ritm trebuie întreprinderea de prefabricate să-şi aprovizioneze stocul dacă nu i se admite nici o întârziere în livrare ? Se consideră anul cu 300 zile lucrătoare. O întreprindere de prefabricate primeşte o comandă de 120 000 de dale pe care trebuie să le livreze municipalităţii. Rezolvare Se consideră modelul de stocare al lotului economic şi. . h 500 I Topt = 2s 2 ⋅ 30000000 = 17. = hr 500 ⋅ 400 I C opt = 2rsh = 2 ⋅ 400 ⋅ 30000000 ⋅ 500 = 3464101.202 I C opt = 2rsh Modele şi algoritmi de optimizare (9. 1988): 1.2) − ciclul optim de reaprovizionare este 2s I Topt = hr (9.1)−(9.61 lei/zi. • s = 30 000 000 lei – lansarea unei comenzi pentru un lot de dale. În acest caz se află numărul de produse şi astfel se ajunge la situaţia studiată mai înainte. iar costul de lansare a comenzilor de reaprovizionare pe un an este 5196×108. pentru pavarea trotuarelor. se obţin rezultatele de mai jos: 120000 r= = 400 – rata ieşirilor zilnice.20 .51 lei. Cererea firmei de construcţii care realizează pavarea este constantă. Costul total anual este 1 039 230 484. Se dă preţul unitar al produsului.4) a 2 Q unde Q este cantitatea (sau valoarea acesteia) necesară pe un an.32 zile . a opt = h Exemplu. Costurile sunt: • h = 500 lei o dală /zi – stocarea.5) . Costul total anual Q a CT = h + s (9.3). Preţul unitar nu se cunoaşte şi atunci trebuie să se dea costul de stocare ca un procent din valoarea cererii de produse.3) În anumite situaţii cererea este exprimată prin valoarea în bani. Se disting două cazuri (Turban şi Meredith. utilizând formulele (9. În acest caz modelul dă valoare optimă a unei cereri de reaprovizionare. iar a reprezintă numărul de comenzi de reaprovizionare lansate într-un an. 2. Atunci 2 sQ (9.

6.1. Tabelul 9. Atunci trebuie să se determine şi nivelul optim de reaprovizionare. Figura 9. apoi.5. Elemente de teoria stocurilor 203 Se poate rezolva problema din exemplul precedent cu Management Scientist. ca în Figura 9. Se presupune că sunt necesare 3 zile pentru a se satisface o cerere de reaprovizionare (L=3).5 Se introduc datele de intrare ca în Figura 9. După lansarea pachetului de programe. din meniul File se alege New şi din fereastra care apare se selectează modelul Economic Order Quantity. având în vedere că trebuie introdus costul anual de stocare (500 lei/zi × 300 zile). se selectează modulul Inventory.1 INVENTORY MODEL .6 Rezultatele obţinute sunt prezentate în Tabelul 9. Figura 9.9.

20 3. este constant.928.615. .32 17.32 Rotunjirea rezultatelor Rezultatul obţinut în urma rezolvării unui model de stocare poate să nu fie un număr întreg. pe perioada epuizării stocului. − costul de stocare h.039.54 6. adică se păstrează cererile care nu au putut fi satisfăcute după epuizarea stocului. în acest model se acceptă lipsa de stoc. ca în exemplul de mai sus (mărimea optimă a comenzii de reaprovizionare. Modelul clasic al lipsei de stoc Aşa cum arată şi numele. iar după reaprovizionare.484.00 17. În continuare se consideră numai primul caz.27 $519. II. Parametrii cunoscuţi: − intrările au loc în mod continuu cu rata p – constantă.20 $519.3. se evaluează funcţia obiectiv pentru [aopt] şi pentru [aopt]+1 şi se reţine valoarea care dă „cea mai bună” valoare pentru costul total ( [x]=partea întreagă a lui x). − ieşirile au loc în mod continuu cu rata r – constantă.10 1. se pierde. p > r.230. Atunci.928. − d – costul (deficitul) datorat lipsei unei unităţi de stoc pe unitatea de timp este constant. acestea vor fi satisfăcute (Văduva et al. 9.464.204 *************** ECONOMIC ORDER QUANTITY *********************** Modele şi algoritmi de optimizare 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. 1974). Există şi cazuri în care cererea nesatisfăcută.242.27 $1. numărul de zile ale ciclului optim de reaprovizionare).615. pe unitatea de stoc / unitatea de timp.200.242.

se stabileşte funcţia de minimizat astfel : .t ' = h ⋅ ⋅ t ' 2 .costul lipsei de stoc este a−S C d .9. poate să mai a treacă un interval de timp t” (t’. − S – nivelul maxim la care trebuie adus stocul la intrarea în stoc a comenzii. 2 Astfel.costul de depozitare a cantităţii S pe intervalul de timp (0. stocul a ajuns la nivelul S. provenit din costul de depozitare.7 arată 0 t comportarea acestui model de stocare. Figura 9. t’ ). r − =0. presupunând că după ce se epuizează stocul S în intervalul de S timp (0. Construcţia modelului Considerând modelul anterior. − mărimea lotului de aprovizionare T. costul unitar total este . Elemente de teoria stocurilor 205 − costul de lansare a comenzii a este s.7 se recuperează lipsa de stoc. costul de lansare şi costul lipsei de stoc. După ce Figura 9. să fie minim. p Formularea problemei I(t) Să se determine cantitatea a care trebuie introdusă în stoc după timpul T (care trebuie de asemenea determinat). Parametrii necunoscuţi: − cantitatea comandată a. Parametrii necunoscuţi ai modelului trebuie determinaţi astfel încât costul total. Ipoteze: − se admite lipsa de stoc şi cererea pe perioada lipsei de stoc se păstrează şi se reportează pe perioada ciclului de reaprovizionare următor. t’ ) este S C h . T ) până când intră t’ T cantitatea a în stoc.t " = d ⋅ ⋅ t" .

T ţinând seama că a S S Tr − S T = . când costul unitar al lipsei de stoc creşte. . t ' = .Topt ) ⎠ ⎠ (S II . Această relaţie arată că este mai convenabilă politica de aprovizionare care admite lipsa de stoc ! Mărimea optimă a lotului de reaprovizionare este 2rs h + d II a opt = Tr = h d iar lipsa de stoc este h II II II a opt − S opt = a opt . ⎜ s + h ⋅ ⋅ t '+ d ⋅ T⎝ 2 2 ⎠ Se exprimă membrul drept al relaţiei precedente în funcţie de S. Pe de altă parte. h+d h+d Deoarece ⎛ ∂ 2C ∂ 2C ⎛ ∂ 2C ⎞ 2 ⎞ ⎛ ∂ 2C ⎞ ⎜ ⎟ ⎟ > 0 şi ⎜ 2 ⎟ ⋅ 2 −⎜ ⎜ ∂ S ⎟ II II > 0 ⎜ ∂ 2 S ∂ T ⎜ ∂S∂T ⎟ ⎟ ⎝ ⎝ ⎠ (S opt . C opt = 2rsh . d < 1 şi relaţiile de mai sus devin Se notează cu ρ = h+d 2s 2rsρ II II II Topt = . S opt = . r r r r astfel că s hS 2 d (rT − S ) 2 + . T ) = + T 2rT 2rT Se determină min C(S. numărul articolelor din perioada lipsei de stoc scade. modelul arată intuitiv că articolele cu cost mare pentru lipsă de stoc vor fi foarte puţine pe perioada lipsei de stoc. Astfel. 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 . t" = T − = .206 Modele şi algoritmi de optimizare 1⎛ S a−S ⎞ ⋅ t"⎟ . C opt = 2rshρ rhρ h de unde rezultă că II I C opt = C opt ρ . h+d Ultima relaţie arată că numărul articolelor din perioada lipsei de stoc creşte pentru articolele cu cost unitar de stocare mare. S opt = d 2rs h d d II . 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.T II ) ⎝ opt opt valorile obţinute realizează minimul costului.

Din meniul File se selectează New şi din fereastra arătată în Figura 9. Topt = S opt = S opt ρ . Topt = II opt I Topt ρ = 0. Elemente de teoria stocurilor 207 Deoarece II S opt II Topt = ρ ⋅r ⇒ ρ = II S opt II r ⋅ Topt = II S opt a ρ se numeşte şi indice de lipsă de stoc. În fereastra care apare după apăsarea butonului OK.9.93541 .34 . 500 + 3500 II = a ρ ≈ 6481 . α =1− ρ = ρ ρ adică II I II I II I S opt < S opt . În (1–ρ)% din cazuri. Comparând cele două modele se obţine I Topt 1 II I II I II . Probabilitatea epuizării stocului este h 1−α h. respectiv. pe perioada T. unde costul de stocare şi cel de lipsă de stoc sunt considerate pe întregul an (d× numărul de zile lucrătoare din an . 0. .93541 ρ II I ≈ 18. Exemplu. Rezolvare ρ= S II opt 3500 = 0. a opt = a opt .5 se alege modelul Economic Order Quantity with Planned Shortages. Se consideră că sunt necesare 3 zile pentru satisfacerea comenzii de reaprovizionare din momentul lansării acesteia. atunci costul lipsei de stoc este proporţional cu cel al stocării. se consideră că lipsa dalelor din stoc va fi penalizată cu 3500 lei/dală/zi (d = 3500) . Copt = Copt ρ ≈ 3 240 370. După lansarea pachetului de programe se alege modulul Inventory. II a opt = 10141. h× numărul de zile lucrătoare din an). Acest fapt nu concordă totdeauna cu realitatea.8.51 . deoarece costurile h şi d sunt practic independente. Să se determine elementele optime ale modelului de stocare în acest caz. a opt > a opt . În exemplul din §9.2. Topt > Topt . Modelul se poate rezolva şi utilizând Management Scientist.875 .85 ≈ 7407 . stocul se epuizează. ⇒ d= d +h α Această relaţie arată că. se introduc datele de intrare ca în Figura 9. şi de aici rezultă un inconvenient al modelului. dacă se acceptă drept cunoscută probabilitatea epuizării stocului.

835.38 $60.18 16.944.33 $486.298.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.32 925. Tabelul 9.055.111.552.8 Apăsând butonul Solve se obţine soluţia modelului sub forma dată în Tabelul 9.2.56 $425.76 6.05 $972.20 18.480. .82 274.104.608.74 2.406.208 Modele şi algoritmi de optimizare Figura 9.756.52 În continuare sunt prezentate alte două variante ale modelului clasic.

II. 2 a Se determină minimul local al acestei funcţii.. r 9. Se poate considera costul de stocare ca fiind o fracţiune din costul de cumpărare. În modelul lotului economic se consideră a r C (a) = h + s + r ⋅ c a (a) . dacã u ≤ a . Elemente de teoria stocurilor 209 9. m . al doilea este costul lansării.. şi atunci: 1 r C (a) = kc a (a ) + s + r ⋅ c a ( a) . a 2 unde primul termen este costul stocării unei cantităţi medii pe unitatea de timp. II. dacã a i* = u i . h = k⋅ca(a).. dacã l i < a i < u i . i ⎩ Costul minim total va fi C opt = min C i opt . iar Topt = 1≤ i ≤ m a i* . dacã a i* = l i ⎪ C i opt = ⎨ 2rsk + c a . în practică. i ) . adică ca = ca(a) (Văduva et al. . i i ⎩ i Atunci. dacã a i ≤ l i 2rs ⎪ * a i = ⎨a i . 1974). dacã a i* = a i ⎪C (u ) . Modelul de stocare considerând influenţa preţului de cumpărare Acest model se referă la problemele de stoc-aprovizionare şi presupune că preţurile de achiziţie a materiilor prime şi materialelor depind de mărimea comenzii.2.3. i . 2 a De obicei. i a + s + rca . i = 1.9. 1974) h = k ⋅ cp. ca(a) este o funcţie în scară descrescătoare.1. costul minim local este ⎧C (c a . Modelul de stocare considerând influenţa costului de producţie Acest model se referă la problemele de stoc−producţie şi consideră costul de stocare h ca funcţie de costul de producţie unitar cp (Văduva et al.2. i r . iar a i = kc a . pentru li ≤ a ≤ ui . obţinut pentru: ⎧l i .3. iar cel de-al treilea termen este costul de cumpărare a materiilor prime consumate din stoc. k r Ci (a ) = ca . i ⎪u . (li = ui −1 ) ..

dacă cf este mare. Mărimea lotului de reaprovizionare a depinde de costul unitar total de producţie cf. 0 < k < 1 . Atunci costul total de lansare şi stocare pe unitatea de timp este sr ⎛s ⎞ a C (a) = + k ⎜ + c f ⎟ ⋅ . mărimea lotului se micşorează. (Văduva et al. modele cu cererea depinzând de preţurile de vânzare etc. rezultă 2rs 2s ks . Se mai pot considera: modele cu costul stocării variabil. 9. 1974) . a= kc f r 2 kc f Comentariu. a ⎝a ⎠ 2 Din condiţia de minim.3 Avantaje -preţuri reduse -mai puţine hârtii de completat -transport mai ieftin -mai puţine momente cu lipsă de stoc -produse uniforme -securitate sporită (ar putea să crească preţurile) -transport mai ieftin -mai puţine hârtii de completat -producţie mai mare Dezavantaje -stocuri mari -cheltuieli sporite de stocare -riscul deteriorării -învechirea produselor Cumpărător Vânzător -preţ unitar scăzut -putere scăzută de tranzacţionare cu clienţii Se disting două cazuri : . avantaje prezentate în Tabelul 9. Tabelul 9. Extensii ale modelului clasic al lotului economic Vânzătorii oferă deseori reduceri de preţ pentru cumpărarea unui lot mai mare de produse. Această practică este larg răspândită pentru că oferă avantaje atât cumpărătorului cât şi vânzătorului. atunci costul de fabricaţie pentru întreaga cantitate este s ⎛s ⎞ s + cf⋅a şi astfel c p = + c f . deci h = k ⎜ + c f ⎟ .3 . C’(a) = 0. Notând cu cf costul unitar de fabricaţie. a ⎝a ⎠ Se presupune că nu se admite lipsa de stoc. II. descris de o funcţie în salturi. Există preţuri pentru intervale ale numărului de produse cumpărate.4. T= . adică nu este indicat să se menţină stocuri mari din produse scumpe.210 Modele şi algoritmi de optimizare iar cp depinde de cantitatea produsă a. C = 2kc f rs + .

9.m. 2 costul total anual de stocare CT = a opt Q 27 ⋅ 1200 180 ⋅ 2 s+ h= + = 180 .m. dacă ar fi acceptată. indiferent de mărimea comenzii. Furnizorul oferă municipalităţii o reducere de 2%. Onorarea comenzii se face în momentul lansării acesteia şi nu se acceptă lipsa de stoc. Folosind formulele (9. Costul unitar anual de păstrare devine h’=0. Pentru acest caz avem : Q=100×12=1200 becuri pe an.m. În concluzie. Fiecare bec costă 8 u..25×8=2 u. Costul de lansare a unei comenzi de reaprovizionare este de 27 u.m. iar costul total anual de păstrare este 600 ⋅ 1.25×8=1. Elemente de teoria stocurilor 211 i) Reduceri oferite pentru un singur nivel de preţ ii) Reduceri oferite pentru mai multe niveluri de preţuri. municipalitatea ar cheltui 9600+360=9960 u. municipalitatea ar fi în dezavantaj ! .96 = 588 .5) obţinem valoarea optimă pentru comanda de reaprovizionare a opt = 2Qs = h 2 ⋅ 27 ⋅ 1200 = 180 . În acest 2 caz municipalitatea ar plăti 9408+588+54=1050 u.02 = = 9408 . În acest caz vor fi doar două lansări de comenzi de reaprovizionare şi atunci costul de lansare total ar fi de 54 u. dacă se cumpără 600 de becuri deodată. Pentru iluminatul stradal al unui oraş sunt necesare 100 de becuri pe lună pentru înlocuirirea celor care se defectează. Costul de achiziţie devine 9600 − 9600 ⋅ 0.96 u. h=0. .m. fără reducere. . Reduceri oferite pentru un singur nivel de preţ Vom prezenta metoda pe un exemplu.98×0. iar cel de păstrare al unui bec pe un an de zile este de 25% din valoare. oferta de reducere trebuie respinsă pentru că.m.m. Rezolvare i) Vom folosi modelul lotului economic fără lipsă de stoc şi nu vom lua în seamă reducerea furnizorului. p=8 u. s=27 u.m. a opt 2 180 2 iar costul becurilor este Q×p=1200×8=9600.m. Să se satabilească dacă municipalitatea acceptă sau nu oferta furnizorului. ii) Vom reface calculele ţinând seama de reducerea oferită de furnizor pentru un lot de 600 becuri. Aşadar. (p=preţul de achiziţie al unui bec).4)-(9.

60.5 (1) (1) Pas 2.75 u.m. (3 a opt) = 2Qs = h 2 ⋅ 50 ⋅ 50000 = 9090910 = 3015 .60 u. Costul de păstrare este h3=2.02=0. soluţia nu este fezabilă şi se caută mărimea optimă a comenzii de reaprovizionare pentru preţul 2.55 u.60 2.75 2. Pas 3. (2 Pas 4. 0.4 .m.02=0.6×0.50 Cererea spitalului este de 50 000 unităţi pe an. Nu se admite lipsă de stoc şi se presupune că onorarea comenzii se face imediat ce a fost lansată. a opt) = h 0. 2Qs 2 ⋅ 50 ⋅ 50000 (1) a opt = = = 10000000 = 3163 h 0 . Tabelul 9. Pas 5. Cu modelul lotului economic fără lipsă de stoc. Costul lansării unei comenzi de reaprovizionare este de 50 u.50.02=0. soluţia este fezabilă şi optimă în acelaşi timp şi problema este rezolvată. În acest caz costul de păstrare este h2=2. Altfel.4 Cantitate 1 – 4999 5000 – 9999 >10000 Preţ 2. Altfel.52 (2 Se compară a opt`) cu intervalul corespunzător preţului 2. Atunci. Atunci. soluţia nu este fezabilă şi se caută mărimea optimă a comenzii de reaprovizionare pentru preţul 2. şi costul de păstrare este 20% din costul medicamentului pe an.m.52 u. soluţia este fezabilă şi optimă în acelaşi timp şi problema este rezolvată. Dacă a opt) ar fi în interval. Să se stabilească politica optimă a spitalului de achiziţionare a medicamentelor. Costul unitar anual de păstrare este h1=2.m.5×0. Pas 1.212 Modele şi algoritmi de optimizare Reduceri oferite pentru mai multe niveluri de preţuri Înainte de a da metoda generală vom considera un exemplu. 2Qs 2 ⋅ 50 ⋅ 50000 (2 = = 9615385 = 3101 .m. Se compară a opt cu intervalul corespunzător preţului 2.5 u. Vom utiliza modelul lotului economic fără lipsă de stoc şi vom rezolva problema în următorii paşi. Un spital trebuie să achiziţioneze antibiotice de la un furnizor care face oferta din Tabelul 9. Dacă a opt ar fi în interval. stabilim pentru cel mai mic preţ mărimea optimă a comenzii de reaprovizionare.m.75×0.55 .

preţurile unitare reduse ( pu )1≤k ≤n . qk . Algoritm general Pas 1. an+1:=aopt . a n +1 := min a k .n Calculează Ck costul total optim cu modelul lotului economic Determină C n +1 := min C k . {Compararea costurilor} Costul total anual este Q a CT (a ) = s + h + Q ⋅ p .1 . sw:=0. costul total optim cu modelul lotului economic pentru aopt. a opt) este în intervalul corespunzător preţului 2. costul de lansare s. CT3) (5000) = 139 158 .1 . se va adopta această politică. Pas 2. an+1:=qk. Bazat pe acest exemplu putem scrie următorul algoritm general. an+1:=aopt . Dacă aopt ≥qk. Dacă sw=4. optim cu modelul lotului economic pentru aopt . Stop! . Elemente de teoria stocurilor 213 (3 Pas 6. intervalele pentru care se acordă reduceri q = (qk . q k . 2 ] atunci sw:=4.75 şi soluţia găsită este fezabilă. Reţine an+1 şi Cn+1. n numărul acestor intervale. Cn+1. Dacă sw≠0.1 . costul unitar de stocare h. atunci Pentru k:=1.9. atunci Cât timp (k≥0 şi sw≠4) execută Calculează ak:=aopt . Determină cantitatea optimă aopt comandată cu modelul lotului economic pentru pun . 2 )1≤k ≤n . 1≤ k ≤ n +1 1≤ k ≤ n +1 Dacă a k ∈ [q k . Deoarece o cerere de 10 000 de unităţi o dată conduce la cel mai mic preţ. determină Cn+1.1 . k:=k-1.1 . Pas 7. CT2 ) (5000) = 131 800 . a 2 Aplicăm formula pentru cele trei valori ale marginii din stânga intervalului pentru categoriile de preţ şi avem : ( ( ( CT1) (10 000) = 127 750 . k:=n. q k . Pas 3. 2 ] atunci sw:=1. {Iniţializări} Intrare: necesarul anual Q. costul total Pas 4. Dacă a k ∉ [q k .

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 ⎝ ⎠ Necesarul anual Q := 50000 Costul de lansare a comenzii de reaprovizionare ⎛ 2. programat în MathCAD şi aplicat exemplului precedent.2 s h Lotul optim de reaprovizionare aopt ( h ) := 2⋅ Q⋅ Determinarea minimului elementelor unui sir si a pozitiei sale Mn ( x) := m← x i←1 1 for k ∈ 1 . last ( x) if m > x k k m← x i←k ⎛ m⎞ ⎜ ⎝i⎠ .75 ⎞ pu := ⎜ 2.214 Modele şi algoritmi de optimizare În continuare este redat algoritmul de mai sus..60 ⎜ ⎝ 2.50 ⎠ s := 50 Costul unitar anual de stocare este o fractiune ρ din costul de achizitionare ρ := 0.

. 1 ⋅ s + h k⋅ qk. 1 2 + Q⋅ pu k Q ak ⋅ s + h k⋅ ak 2 + Q ⋅ pu k 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 secvenţa Discount ( Q . 2) ak ← q k . 1 ≤ a k ≤ q k . 1 2 + Q⋅ pu k 215 a n+ 1 ← aopt ( pu k⋅ ρ ) sw ← 0 if a n+ 1 ≥ q k . 1 ≤ a k ≤ q k . 1 ⋅ s + pu k⋅ ρ ⋅ qk.9. s . pu . pu . ρ ) := k ← last ( pu ) n←k sw ← 1 CT n+ 1 ← Q qk. 2 CT n+ 1 ← a n+ 1 ← a k sw ← 4 if sw = 4 for k ∈ 1 . Elemente de teoria stocurilor Discount ( Q . ρ ) = . 1 k←k−1 if q k . s . . n CT k ← Q qk. 1 if sw ≠ 0 while ( k ≥ 1) ∧ ( sw ≠ 4) h k ← pu k⋅ ρ a k ← aopt ( h k) if ¬( q k .

ai.5. iar valorile optime ale variabilelor de decizie vor fi determinate din condiţia ca eficienţa medie să fie optimă. Atât parametrii cunoscuţi cât şi cei necunoscuţi se referă la fiecare tip de produse aflate în stoc. . . p ... . cel mai important este cererea pe unitatea de timp. p . pe lângă variabilele de decizie d1. Model pentru stocarea mai multor tipuri de produse Se presupune că stocul este format din p tipuri de produse. Parametrii cunoscuţi: − rata cererii – ri.. a căror repartiţie se presupune cunoscută... 9. Formularea problemei: Să se determine elementele necunoscute astfel încât 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. . iar în cazul cererii discrete. .. Modele stochastice de stocare Într-un model aleatoriu. A1. Weibull etc. An) va fi o variabilă aleatoare.. mărimi de comenzi. Se obţin: a i opt = 2ri s i 2s i .6. − costurile de stocare unitare – hi.216 Modele şi algoritmi de optimizare 9. a p ) = ∑ C i (a i ) i =1 p să fie minim... . Parametrii necunoscuţi: − mărimea optimă. An. şi deci şi costul total pe unitatea de timp C (a1 .. Determinarea loturilor economice pentru mai multe produse revine la determinarea lotului economic pentru fiecare produs în parte. Funcţia de eficienţă C(d1. dn... Ti. Ti opt = .. i = 1. a stocului cu produsul i . . log-normală. hi ri hi Comentariu. − ciclul optim de reaprovizionare. Printre elementele aleatoare ale unui model de teoria stocurilor. a lotului de reaprovizionare din produsul i . cicluri de reaprovizionare) intervin şi variabile aleatoare A1. dn (de exemplu. .. − costurile de lansare – si. Repartiţia cererii în cazul cererii continue poate fi: normală. i = 1.

Tabelul 9.1. Tabelul 9. atunci modelul de stocare este un model stochastic dinamic. binomială etc. corespunzător. Dacă nu se adaugă o unitate la P0 . Mărimea stocului de siguranţă şi.6. fie P0 = R . şi invers. Costul total pe perioada analizată (de exemplu. aplicăm analiza marginală (Bonini et al. ⎣ ⎦ Se consideră următoarea ipoteză: Cererea r. deoarece IS creşte cu o unitate. R fiind cererea medie pe perioada timpului de avans.9. este o variabilă aleatoare cu repartiţia cunoscută. Dacă cererea este un proces aleatoriu. I S = P0 − R . F(x). şi stocul intangibil (de siguranţă). Pascal. 1997). pot fi variabile aleatoare continue sau discrete. astfel (Figura 9.5 dă efectul creşterii sau reducerii nivelului de reaprovizionare asupra costurilor. un an) va creşte cu aproximativ h . .9): Creşterea costului prin neadăugarea unei unităţi la P0 este egală cu ⎡Q ⎤ (Probabilitatea unei unităţi de stoc cerute în plus) d· ⎢ ⎥ ⎣a⎦ ⎡Q ⎤ ⎢ a ⎥ fiind numărul de cicluri de reaprovizionare pe perioada analizată. Determinarea nivelului optim de reaprovizionare Pentru determinarea nivelului optim de reaprovizionare P0. Timpul de avans. nivelul de reaprovizionare reduc şansa apariţiei lipsei de stoc. adică se începe analiza costului total cu o valoare iniţială pentru P0 . creşterea costului va rezulta din faptul că o cerere cu o unitate mai mare pe perioada timpului de avans va mări probabilitatea lipsei de stoc. Să vedem ce se întâmplă cu costul total dacă se adaugă o unitate de produs de stoc la P0. Elemente de teoria stocurilor 217 poate fi: Poisson. pe unitatea de timp. L.5 Acţiune Reducerea nivelului de reaprovizionare Reducerea lotului de reaprovizionare Creşterea nivelului de reaprovizionare Creşterea lotului de reaprovizionare Rezultat Scade costul de stocare al stocului de siguranţă şi creşte 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 Creşte costul de stocare al stocului de siguranţă şi scade costul lipsei de stoc Creşte costul de stocare al stocului mediu şi descreşte costul total de lansare comenzi 9.

218 Creşterea costurilor Modele şi algoritmi de optimizare (1 − F ( P0 )) ⋅ d ⋅ Q a Costul neadăugării unei unităţi h O P0 opt Figura 9. Se poate scrie următorul algoritm pentru determinarea nivelului optim de reaprovizionare. Popt = R + Z α ⋅ σ R . s R . h d ⋅Q Pas 3. F(x)=P(R<x). σ R . h = (1 − F ( P0 ) ) ⋅ d ⋅ ⎢ ⎥ ⇒ 1 − F ( P0 ) = ⇒ F ( P0 ) = 1 − d ⋅Q d ⋅Q ⎣a⎦ P0 poate fi acum obţinut din tabela funcţiei de repartiţie F. d.9 P0 Atunci. Algoritm pentru determinarea nivelului optim de reaprovizionare P0 Pas 1. Calculează a opt = Observaţii . Din tabela funcţiei de repartiţie a cererii pe perioada de avans R. 2⋅s ⋅Q a⋅h . Figura 9. α =1− . Stop ! Pas 2. Q.9 reprezintă costurile adăugării şi neadăugării unei unităţi de stoc la P0 . se ia Zα. este de asemenea o variabilă aleatoare cu funcţia de repartiţie cunoscută. Probabilitatea unei unităţi de stoc cerute în plus este 1 − F ( P0 ) . pe perioada timpului de avans L. Din egalitatea celor două costuri avem : a⋅h a⋅h ⎡Q ⎤ . Date de intrare : h. cererea R.

un risc asumat de a avea lipsă de stoc pe perioada timpului de avans.6) a ⎝2 ⎠ ⎢ P0 ⎥ a ⎣ ⎦ Q reprezintă costul de lansare al tuturor comenzilor de reaprovizionare pe a perioada de timp analizată. ⇒⎨ ∞ (9.7) ⎨ ⎞ h Q⎛ ⎪− 2 ⎜ s + d ∫ (R − P0 ) f ( R )dR ⋅ ⎟ + = 0 ⎪ ∂CT = 0 ⎟ 2 ⎪ ∂a ⎪ a ⎜ ⎩ P0 ⎠ ⎝ ⎩ Prima relaţie (9.9. f(x) densitatea de repartiţie a cererii. Q numărul comenzilor de reaprovizionare pe perioada de timp analizată. Pentru un α ∈ (0. Stocul de siguranţă este I S = P0 − R = Z α ⋅ σ R .7) se poate rescrie astfel: Q Q h − d + d F ( P0 ) = 0 .6). a a Atunci a⋅h ⇒ P0 opt . Elemente de teoria stocurilor 219 1. 1) . (9.8) d ⋅Q ∞ ⎛ ⎞ 2Q⎜ s + d ∫ (R − P0 opt ) f ( R )dR ⎟ ⎜ ⎟ P0 ⎝ ⎠ = . relaţie ce permite determinarea nivelului critic al stocului P0.9) a opt . F ( P0 ) = 1 − (9. Se determină P0 opt şi aopt din condiţia impusă costului total dat de (9. ⎢ P0 ⎥ a ⎣ ⎦ unde: s ∞ P0 ∫ (R − P ) f ( R)dR 0 numărul mediu de unităţi de stoc lipsă din stoc pe un ciclu de reaprovizionare. a ⎡ ∞ ⎤ Q ⎢d ∫ (R − P0 ) f ( R)dR ⎥ ⋅ costul lipsei de stoc pe perioada de timp analizată. Determinarea costului total Costul total=Costul de lansare+Costul de stocare+Costul lipsei de stoc ⎡ ∞ ⎤ Q Q ⎛a ⎞ CT (a. h (9. se poate determina nivelul critic al stocului astfel : α = P(R≥ P0)=1−F(P0) ⇒ F(P0)=1−α . P0 ) = s + ⎜ + P0 − R ⎟h + ⎢d ∫ (R − P0 ) f ( R )dR ⎥ ⋅ . 2. să fie minim: Q Q ⎧ ⎧ ∂CT ⎪h − a d ⋅ P0 ⋅ f ( P0 ) + a d ⋅ [F ( P0 ) + P0 ⋅ f ( P0 ) − 1] = 0 ⎪ ∂P = 0 ⎪ ⎪ 0 .

8).. de exemplu dat de modelul lotului economic.cu un a estimat.7). adică ( ) α= 1 2π − zα −∞ ∫e − u2 2 du . r. .220 Modele şi algoritmi de optimizare Se observă că P0 apare în exprimarea lui aopt (9. r. Astfel. până când cele două valori găsite satisfac relaţiile (9.7) devine 2Q(s + dσ R N ( Z ) ) (9. din tabela funcţiei de repartiţie F din relaţia (9.9) şi aşa mai departe. este o variabilă aleatoare repartizată N (m. se calculează P0.8). C opt = CT (a opt . L. variabilă aleatoare repartizată Exp(λ).9’) a opt = h şi costul total optim este ⎞ Q ⎛ a opt +⎜ + P0 opt − R ⎟h . L. L) şi P0 se determină din relaţia P0 ∫ f ( x)dx = 1 − α = P( R < P ) 0 0 (α riscul asumat fiind mic) folosind tabela repartiţiei Erlang(λ. relaţia (9. cu acest P0 se calculează a cu relaţia (9. atunci cererea pe perioada timpului de avans este R = r1 + . 2) Presupunând timpul de avans. constant şi cererea.apoi.9) şi a apare în exprimarea lui P0 opt (9. L ⋅ σ R .L). P0 opt ) = [s + dσ R N ( Z )] (9. α – cuantila inferioară a variabilei aleatoare N (0. unde N(Z) este numărul mediu de comenzi de reaprovizionare a stocului pe perioada timpului de avans. σ R ) . atunci ∞ P0 ∫ (R − P ) f ( R)dR = σ 0 R N ( Z ) .6’) ⎟ a opt ⎜ 2 ⎝ ⎠ Particularizări 1) Dacă timpul de avans.. rezultă că în acest caz nivelul de reaprovizionare este P0 = L ⋅ m + z α Lσ R .1) . atunci R=L⋅r este o variabilă aleatoare repartizată N L ⋅ m. + rL a Erlang (λ . este constant şi cunoscut şi cererea. Pentru rezolvarea acestei probleme se poate folosi un procedeu iterativ astfel : .σR). . Notând cu –zα . Dacă R a N ( R.

m. se poate determina repartiţia cererii totale pe intervalul de timp ( 0.m. adică N l ⋅ m. R a N ( R.m. La un service auto sunt necesare 1800 bidoane de ulei de motor pe an.6 Indicele de lipsă de stoc asumat este h⋅a 0. atunci R=L⋅r este o variabilă aleatoare normală cu M[R] = l⋅m şi D2[R] = l⋅σR2. independentă de L. Consideră mărimea optimă a lotului de reaprovizionare 2 sQ 2 ⋅ 10 ⋅ 1800 = = 245 bidoane de ulei. Se obţine punctul optim de reaprovizionare P0=100+2. fie există un surplus de articole nevândute care vor fi vândute la o valoare de lichidare de stoc. costul de păstrare h=0. La sfârşitul perioadei produsul a fost fie epuizat. stocul de siguranţă este I S = Popt − R = 164 − 100 = 64 bidoane de ulei. iar timpul de avans este de 20 zile. În acest caz nivelul de reaprovizionare este P0 = l ⋅ m + z α lσ R  ( ) Exemplu. Din tabelele repartiţiei normale luăm α – cuantila corespunzătoare. t ). σ R ) . Să se determine cantitatea optimă de reaprovizionare şi punctul optim de reaprovizionare./an. Costul lipsei din stoc a unui bidon de ulei este d=5 u. Cererea medie pe timpul de avans este R = 30 bidoane.9837 = α d ⋅Q 5 ⋅ 1800 Φ fiind funcţia de repartiţie a unei variabile aleatoare normale.σR).14 .9. t).6. În anumite ipoteze asupra repartiţiei ciclului de reaprovizionare. 9. n(t ) a Po(λ ⋅ t ) . Modele de stocare pe o singură perioadă cu cerere aleatoare Dacă rata cererii nu este deterministă. l ⋅ σ R . Modelul pentru o singură perioadă este aplicabil în situaţii ce implică articole sezoniere sau perisabile care nu pot fi păstrate în stoc şi vândute în perioada următoare. Costul de lansare a unei comenzi de reaprovizionare cu ulei este de s=10 u.2.14·30=164 . mărimii unei cereri X. iar r este o variabilă aleatoare repartizată N (m. Rezolvare. Modelele de stocare pe o singură perioadă se referă la situaţia în care o singură comandă este lansată pentru un produs. Elemente de teoria stocurilor 221 3) Dacă L este o variabilă aleatoare cu media M[L]=l. modelul de stocare cu cerere aleatoare presupune cunoscută repartiţia acesteia. a opt = h 0 . De exemplu: hainele . numărului de cereri din intervalul de timp (0.. Z α = 2. T a G (τ ) . Astfel.6 ⋅ 245 Φ ( P0 ) = 1 − =1− = 0. X a F ( x) .6 u.

adică pierderea datorată comandării unui kilogram suplimentar care apoi se constată că nu se poate vinde. ziare etc. Exemplu de cerere cu repartiţie discretă Un magazin cumpără roşii o dată pe săptămână de la producător cu 6 u.2 0. / kg.08 0.82 1 Rezolvare În rezolvarea acestui tip de probleme este indicată folosirea metodei analizei incrementale. 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 vânzătorului de ziare. se presupune că este continuă cu acea rată. P (a ≤ a opt ) = (9. D+ pierderea totală datorată supraestimării comenzii de aprovizionare.6) magazinul vinde între 160 şi 200 kg de roşii pe săptămână. adică pierderea datorată necomandării unui kilogram suplimentar care apoi se constată că s-ar fi putut vinde. m. D-(a)=c-⋅ P(a>aopt )= c.24 0. Din egalitatea D+(a)= D-(a) se determină cantitatea optimă comandată astfel: c_ .3 0. 1988) . Fie: a cererea de aprovizionare cu roşii pentru o săptămână.6 Număr kilograme vândute (x) 160 170 180 190 200 Total Număr de săptămâni 4 10 12 15 9 50 Probabilitatea cererii 0.10) c+ + c− . / kg şi le vinde cu 11 u. c. Tabelul 9.(1-P(a≤aopt)) .28 0. La sfârşitul săptămânii preţul de lichidare de stoc este de 2 u. astfel ca profitul magazinului să fie maxim (Turban şi Meredith.18 Funcţia empirică de repartiţie (P(x≤a)) 0./kg. Cum comanda se face o singură dată pe perioada considerată.pierderea totală datorată subestimării comenzii de aprovizionare. cu câştigul sau pierderea realizată prin necomandarea unui articol pentru care ar fi existat cerere. hainele de iarnă). Să se determine mărimea comenzii de reaprovizionare pentru magazin.08 0. Deoarece cererea este relativ stabilă. Din experienţa avută (reflectată în Tabelul 9. m.52 0. c+ costul unitar al supraestimării cererii.222 Modele şi algoritmi de optimizare de sezon (costume de baie. D+(a)=c+⋅P(a≤aopt) D.costul unitar al subestimării cererii. m. Analiza incrementală compară câştigul sau pierderea realizată prin comandarea unui articol suplimentar pentru care nu ar fi existat cerere.

Este de preferat să se comande 501 perechi de pantofi.7 Cazul I II Mărimea comenzii 501 500 Pierderea produsă dacă Cererea este supraestimată şi o unitate nu poate fi vândută Cererea este subestimată şi o unitate ar fi putut să fie vândută Pierderea posibilă Probabilitatea c+=10 c-=20 P(a≤500) P(a>500) P(a≤500)= P(a>500)=0. Din Tabelul 9.5555 . adică pierderea datorată necomandării unei perechi de pantofi suplimentare. Preţul de achiziţie de la fabrică este de 40 u.9.m.m. perechea şi se aşteaptă ca la acest preţ stocul să fie lichidat. Pentru această problemă c_ = Exemplu de cerere cu repartiţie continuă O reţea de magazine comandă la o fabrică de încăţăminte un nou model de pantofi bărbăteşti de primăvară-vară.5555 şi se obţine aopt=190 kg . este uniformă şi cuprinsă între 350 şi 650 perechi.m. D-(a)=c-⋅0.5. Se apelează la analiza incrementală pentru rezolvarea acestei probleme. adică pierderea datorată comandării unei perechi de pantofi suplimentare.costul unitar al subestimării cererii. analiza incrementală pentru două cazuri este arătată de Tabelul 9. perechea. se obţine pentru acest exemplu a opt − 350 2 P (a ≤ a opt ) = = . măsura 42. D+ pierderea totală datorată supraestimării comenzii de aprovizionare D. La sfârşitul sezonului (30 septembrie) patronul magazinelor va avea lichidare de stoc pentru ce nu s-a vândut până la acea dată. c+ costul unitar al supraestimării cererii. c. Elemente de teoria stocurilor 223 11 − 6 = 0.5=10 u. Considerând cererea egală cu media. care apoi se constată că nu se poate vinde. D+(a)=c+⋅0. Tabelul 9.4). iar c-=60–40=20.pierderea totală datorată subestimării comenzii de aprovizionare. Fie: a cererea de aprovizionare cu pantofi bărbăteşti mărimea 42.6 c + + c − (6 − 2) + (11 − 6) se constată că P (a ≤ a opt ) = 0. . Câte perechi de pantofi ar trebui să comande patronul magazinelor pentru a obţine profit maxim (pierderi minime) ? (Anderson et al.m. 1994) Rezolvare Din experienţa anilor trecuţi. cererea pentru pantofi bărbateşti.m. Ţinând seama de relaţia (9.7. având media 500. Se continuă investigarea până când D+(a)= D-(a) . iar magazinul îi vinde cu 60 u. Pentru această problemă c+=40–30=10. care apoi se constată că s-ar fi putut vinde. 650 − 350 3 .5=5 u. Preţul de lichidare de stoc este de 30 u.

Când c-<c+ se recomandă să fie mai mare lotul de reaprovizionare. cererile ce urmează a fi satisfăcute sunt considerate clienţi în modelul de aşteptare. Cu notaţiile de la modelele de aşteptare avem . − τ – intervalul de timp dintre două cereri este o variabilă aleatoare exponenţială negativă de parametru µ. II. − intrările în stoc pot avea loc indefinit..3. Pentru ca să fie satisfăcute cererile ar trebui ca în stoc să se afle o cantitate practic infinită. În situaţiile practice apare problema cunoaşterii repartiţiei cererii pentru produsul respectiv şi cea a costurilor c+ şi c. − fiecare cerere este egală cu unitatea (r=1). Când cele două costuri sunt egale.224 Modele şi algoritmi de optimizare iar aopt=550. 1974): 1. − intervalul de timp dintre două intrări în stoc este o variabilă aleatoare exponenţială negativă de parametru λ. c_ are rol esenţial în În modelele cu o singură perioadă. Modele stochastice de stocare bazate pe modele de aşteptare Aplicarea modelelor de aşteptare la rezolvarea problemelor legate de gestiunea stocurilor se poate prezenta astfel (Văduva et al. − variaţia stocului este discretă. 2. 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. − N(t) – numărul unităţilor din stoc este un proces aleatoriu staţionar descris de un proces de naştere şi deces. c=1). 9. încărcarea stocului corespunde venirilor în sistemul de aşteptare şi satisfacerea cererilor corespunde ieşirilor din sistemul de aşteptare.se recomandă să fie mai mic lotul de reaprovizionare.4. În continuare vor fi prezentate două modele de stocare având la bază modele de aşteptare. FIFO) Ipotezele modelului − stocul este unic (un singur tip de produse. Modelul P0(λ)/Exp(µ)/1:(∞.6. 9. Când c+<c. cantitatea c+ + c− determinarea cantităţii optime de reaprovizionare. ceea ce în realitate nu este posibil.6.

rezultată din faptul că stocul are o limită a capacităţii. Problema se poate formula şi astfel: Să se determine nivelul stocului care să fie atins şi/sau depăşit cu probabilitatea π∈(0. Se cere determinarea parametrului λ opt = intensitatea optimă de încărcare a ρ ρ opt = 1 − stocului. ρ= λ . Notăm cu: cu – costul unei unităţi din stoc. p0 – probabilitatea de a avea lipsă de stoc. unde M [N (t )] = ρ . ⎜ d ⎟ ⎠ ⎝ Se poate determina probabilitatea ca nivelul stocului să depăşească o anume valoare ν . Dar ⎛ cu ⋅ α ⎞ ⎟. • funcţia de eficienţă (costul mediu ce trebuie optimizat) =C(ρ). Practic se cunoaşte cererea τ a Exp( µ ) şi astfel numărul de unităţi cerute pe unitatea de timp este o variabilă aleatoare Poisson de parametru µ.9. d – costul unitar al lipsei de stoc. ln π . α − fracţiunea pe care o reprezintă costul de stocare din costul unităţii de stoc. µ fiind intensitatea cererii. λ = µ ⋅ ρ = µ ⋅ ⎜1 − P(N (t ) ≥ ν ) = ∑ p n = (1 − ρ ) ⋅ ρ ν ⋅ ∑ ρ j = ρ ν n =ν j =0 ∞ ∞ deoarece p n = ρ n ⋅ (1 − ρ ) . (h=αcu) . • costul mediu al lipsei de stoc = d⋅p0. Atunci. 1) suficient de mică. m. C ′′( ρ ) > 0) . Atunci obţinem • costul mediu de stocare = cu⋅α⋅M[N(t)]. Elemente de teoria stocurilor 225 1− ρ Construcţia funcţiei de cost. p0 = 1 − ρ . µ + d ⋅ (1 − ρ ) . presupusă cunoscută. 1− ρ Din condiţia ca C(ρ) să fie minim ( C ′( ρ ) = 0 . din relaţia ρ ν = π obţinem ν π = ln ρ Ipoteza că intrările în stoc pot avea loc în mod indefinit se poate înlocui cu alta. se obţine C ( ρ ) = c u ⋅ α ⋅ M [ N (t )] + d ⋅ p 0 = c u ⋅ α ⋅ cu ⋅ α d şi astfel se pot determina elementele necunoscute ale modelului. Atunci .

numărul mediu de cereri ce urmează a fi satisfăcute (adică lungimea medie a cozii) ρ 2 ⋅ 1 − m ⋅ ρ m +1 + (m − 1) ⋅ ρ m R = M [N (t ) − 1] = . (1 − ρ ) ⋅ (1 − ρ m+1 ) ⋅ {cu ⋅ α ⋅ [1 − (m + 1) ⋅ ρ m + m ⋅ ρ m+1 ] + d ⋅ ρ ⋅ [1 − m ⋅ ρ m−1 + (m − 1) ⋅ ρ m ]} C1 ( ρ ) = c u ⋅ α ⋅ N + d ⋅ R = ρ ⋅ . 1 − ρ m +1 n =1 Însă ∑ρn = ρ n =1 m 1− ρm 1− ρ m m +1 de unde rezultă că ∑ n ⋅ ρ n−1 = n =1 m [1 − (m + 1) ⋅ ρ ]⋅ (1 − ρ ) + ρ − ρ (1 − ρ )2 . = (1 − ρ ) ⋅ (1 − ρ m+1 ) N = M [N (t )] = Înlocuind M[N(t)] în funcţia de cost şi punând condiţia de minim se obţine ρopt cu ajutorul căruia se pot determina elementele modelului. R astfel Din condiţia de optim (min C1(ρ) ) rezultă ρopt elementele modelului. (1 − ρ ) ⋅ 1 − ρ m+1 Obţinem [ ( ) ] Se obţine o nouă funcţie de cost dacă se consideră valorile medii N .226 Modele şi algoritmi de optimizare ⎧ρ n ⋅ p 0 pn = ⎨ ⎩0 şi deoarece pentru 1 ≤ n ≤ m pentru n > m ∑p n =1 m n = 1 se obţine p0 = 1− ρ .6.5. şi acum se pot calcula 9. ρ (1 − ρ ) [1 − (m + 1) ⋅ ρ m ]⋅ (1 − ρ ) + ρ − ρ m +1 ⋅ = 1 − ρ m +1 (1 − ρ )2 [1 − (m + 1) ⋅ ρ m + m ⋅ ρ m+1 ]⋅ ρ . De exemplu. Modelul cu mai multe staţii paralele şi cu timp de avans L aleatoriu . 1 − ρ m +1 Astfel M [N (t )] = ∑ n ⋅ p n = ∑ n ⋅ ρ n ⋅ p 0 = n =1 n =1 m m ρ ⋅ (1 − ρ ) m ⋅ ∑ n ⋅ ρ n −1 .

astfel încât numărul de unităţi din stoc plus cele comandate să fie S=constant. . Determinarea coeficienţilor λn . Cererea nesatisfăcută nu se păstrează Analogia cu modelul de aşteptare Exp( µ )/Exp(λ )/c : (∞. adică. care are repartiţia Exp(µ). Se pot scrie ecuaţiile 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. • Pn(t)=P(N(t)=n) – probabilitatea de a avea n unităţi în stoc. 1 ≤ n ≤ c − 1 ⎪ n n n +1 n −1 ⎨ ⎪ Pc′(t ) = −λ ⋅ Pc (t ) + µ ⋅ Pc −1 (t ) ⎪ Pn (t ) = 0 . . deci λn= µ·(c−n) . λ0= µ·c. n∈{1. • fiecare cerere este egală cu unitatea (r=1). • N(t) − numărul de unităţi din sistem la momentul t este un proces finit. rezultă că intensitatea intrării în stoc a unuia din cele c articole este µ·c. c}. • timpul de avans L este o variabilă aleatoare exponenţială negativă de parametru µ. atunci poate să sosească numai una din cele c−n comenzi. dacă nu pot fi serviţi. de parametru λ. λc = 0. numărul de cereri pe unitatea de timp este o variabilă aleatoare Poisson. 2. Dacă există n unităţi în stoc. ⎩ Rezolvarea pentru cazul staţionar conduce la soluţia 1 . părăsesc sistemul. µn. • Nd semnifică faptul că există clienţi nedisciplinaţi care. . Deoarece o comandă soseşte după timpul aleatoriu L. Când sunt n unităţi în stoc înseamnă că sunt lansate c−n comenzi. p0 = c 1 c!⋅∑ ⋅ n n = 0 (c − n)! ρ iar 1 c! ⋅ p0 = ρ c − n p c . n > c. A. 1 ≤ n ≤ c.9. Pentru a determina intensitatea ieşirii ţinem seama de faptul că ieşirea depinde de cerere. . N d ) Se consideră • cele c locuri din stoc drept staţiile de serviciu ale sistemului de aşteptare. pn = n (c − n ) ! (c − n)!⋅ρ unde . Elemente de teoria stocurilor 227 Ipotezele modelului • în momentul când se scoate o unitate din stoc se comandă alta. deci µn = λ. 1 ≤ n ≤ c .

Ec (ρ ) Dându-se h. cv. Stabilirea funcţiei obiectiv Fie cv – preţul de vânzare al unei unităţi de stoc şi h − costul de stocare pe intervalul de timp de avans mediu Profitul pe perioada T este B(c) = M[R]·cv−h·M[N(t)] = c v ⋅ c − (h + v) ⋅ unde x n −x ⋅e . c. c ⋅ E c ( ρ ) − ρE c −1 ( ρ ) . FIFO) . iar numărul cereri pe intervalul mediu de timp de avans. deci numărul mediu de 1 λ . va fi . h + cv ⎣ E c +1 ( ρ ) E c ( ρ ) ⎦ E c ( x) = ∑ c 1 µ . egal cu µ µ mediu de cereri satisfăcute pe intervalul de timp de avans este M[R] = c−M[N(t)]. condiţia B’(c) = 0. Cererea nesatisfăcută se păstrează Pot exista cel mult m cereri nesatisfăcute şi atunci numărul de unităţi din stoc satisface relaţia −m≤ n ≤ c. adică ⎡ E (ρ ) E (ρ ) ⎤ h = ρ ⋅⎢ c − c −1 ⎥.228 Modele şi algoritmi de optimizare ρ= Se poate determina stocul mediu λ . µ M[N(t)] = p c ∑ c−n n ρ . n = 0 n! c fiind o variabilă întreagă. revine la B(c+1)−B(c) = 0. Analogia cu modelul de aşteptare Exp( µ )/Exp(λ )/c : (m. n n =0 c Numărul mediu de cereri pe unitatea de timp este λ. B. ultima relaţie permite determinarea stocului optim pentru obţinerea unui profit maxim.

nu pot sosi în stoc decât c unităţi ce au fost comandate. deci numai c din cele n cereri vor fi satisfăcute. intensitatea cu care apare o nouă cerere este λn = λ. 0 ≤ N(t) ≤ c+m. 1 ≤ n ≤ c. Să se determine nivelul optim al stocului c în funcţie de ρ. În acest caz N(t) reprezintă numărul de cereri înregistrate. ⎨ Pn′ (t ) = −(λ ⋅ + S ⋅ µ ) Pn (t ) + λ ⋅ Pn −1 (t ) + µ ⋅ S ⋅ Pn +1 (t ) c≤n≤c+m ⎪ ⎪ Pc′+ m (t ) = −c ⋅ µ ⋅ Pc + c (t ) + λ ⋅ Pc + m −1 (t ). 1 ≤ n ≤ c. c ≤ n ≤ c+m. 0 ≤ n ≤ c+m Dacă există n cereri înregistrate. Intensitatea satisfacerii cererilor µn se determină astfel. ecuaţiile 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 . care intră în stoc cu intensitatea µ. Deoarece numărul maxim de cereri ce se pot realiza este c+m. atunci µn = c⋅µ . ⎩ Soluţia pentru cazul staţionar în funcţie de ρ = λ este µ ⎧ρ n 1≤ n ≤ c ⋅ p0 ⎪ n! ⎪ n ⎪ ρ p n = ⎨ n−c ⋅ p0 c ≤ n ≤ c + m ⎪ c!⋅c ⎪ ⎪0 n>c+m ⎩ c+m (9. µn.11) Din ∑p n =0 n = 1 deducem p0 = 1 m +1 ⎛ρ⎞ 1− ⎜ ⎟ n c c −1 ρ ρ c⎠ ∑ n! + c! ⋅ ⎝ ρ n =0 1− c Se pot determina acum: − numărul mediu de unităţi existente în stoc (9. Astfel.9. În stoc vor exista j = c−N(t) unităţi. λn = 0 pentru n > c+m.12) . deci µn = n⋅µ . pentru n > c+m. costul unitar de stocare h şi costul unitar al lipsei de stoc d. Dacă există n cereri la un moment dat t. Dacă c ≤ n ≤ c+m. rezultă că µn = 0. 0 ≤ n ≤ c+m. L. Determinarea coeficienţilor λn. Elemente de teoria stocurilor 229 Formularea problemei. atunci ele se pot satisface cu unităţile ce vor sosi în stoc cu intensitatea µ.

funcţia de cost care trebuie optimizată este C(c)= M[N+(t)]·h− M[N−(t)]·d. d k := . i := 0 .7. Σ := p 0 . Notăm Q( n) = ∑ p j − funcţia de repartiţie a variabilei aleatoare discrete n. h. dacă Σ<k şi i<c+m mergi la Pasul 2. Intrare m. Dacă Σ<k şi i=c+m mergi la Pasul 1 . Pas 3. ρ.12) şi pn. c:=c+1. Astfel.230 Modele şi algoritmi de optimizare M[N+(t)] = ∑ (c − n ) p n=0 c+m c n . d +h Pas 1. Pas 0. d. Dacă Σ ≥ k şi i ≤ c + mL atunci c este optim. c := 0 . Pas 2. d +h n = c +1 ∑ (c + 1 − n − c + n ) ⋅ p n − 9. Pas 4. − numărul mediu de unităţi lipsă din stoc M[N−(t)] = n = c +1 ∑ (c − n ) p n .11). se obţine Q(c) = . Σ:= Σ+pi . Stop! Se observă că algoritmul determină acea valoare întreagă pentru care d Q (c − 1) < ≤ Q (c) . C’(c)=0. i:=i+1 . 1 ≤ n ≤ c + m . Probleme propuse . d +h Pentru a găsi o soluţie întreagă a acestei ecuaţii se poate folosi următorul algoritm. conform cu (9. d Din condiţia de optim. j =0 n Atunci C ′(c) ≈ C (c + 1) − C (c) = h ⋅ ∑ (c + 1 − n) ⋅ p n − d ⋅ n =0 c +1 c +1+ m n =c + 2 ∑ (c + 1 − n ) ⋅ p n n − − h ⋅ ∑ ( S − n) ⋅ p n + d ⋅ n =0 S S+L n = S +1 ∑ ( S − n) ⋅ p = = h ⋅ ∑ (c + 1 − n − c + n ) ⋅ p n − d ⋅ n =0 c c+m − d ⋅ (c + 1 − c − m − 1) ⋅ p c +1+ m = h ⋅ Q(c) − d ⋅ (1 − Q(c) ) . Calculează p0 conform cu (9.

Elemente de teoria stocurilor 231 1. 2.87. RomTelecom cumpără anual consumabile în valoare de 500 000 euro.42 ≈ 3 . R. Se presupune că anul are 250 zile lucrătoare. 3.m.42 cutii ≈ 101 cutii. O firmă de reparaţii aparatură electronică are o componentă pentru care poate aplica modelul cu lipsă de stoc. Din experienţa anilor trecuţi. Să se stabilească un plan optim de aprovizionare cu hârtie A4. Să se determine: a) care este valoarea optimă a unei comenzi de reaprovizionare? b) de câte 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. Costul de lansare a unei comenzi de reaprovizionare este de 80 euro. Se consideră că anul are 300 zile lucrătoare şi că nu se admite lipsa hârtiei în depozit. Firma care se ocupă cu semaforizarea intersecţiilor din Capitală are nevoie de 10 000 de becuri pe an. b) CT =10 246 950. d) costul total anual de stocare este de 4000 euro.. b) se lansează într-un an 25 cereri de reaprovizionare. . . iar pentru depozitarea unei cutii se consideră că se cheltuiesc 35 000 lei pe un an. Să se determine: a) mărimea optimă a comenzii de reaprovizionare b) numărul maxim de unităţi lipsă din stoc pe perioada lipsei de stoc. Costul de lansare a unei comenzi de reaprovizionare este de 1 500 000 lei. universitatea are nevoie pentru consumurile curente de 1200 de cutii de hârtie A4 pentru un an. costul total anual este de 3 549 647.m. să se determine: a) cantitatea optimă de reaprovizionare b) costul total anual al stocării c) câte comenzi de reaprovizionare vor fi lansate anual. c) costul total anual de lansare a comenzilor de reaprovizionare este de 2000 euro.7 ≈ 2928 . Cererea nuală este de 2000 unităţi. costul de lansare a unei comenzi de reaprovizionare este de s=25 u. Pentru un an avem: aopt=101. a) Valoarea optimă a comenzii de reaprovizionare este 20 000 euro. costul anual unitar de păstrare este h=10 u. c) N=3.9. care să conducă universitatea la cheltuieli minime. costul anual de păstrare a unui bec este de 3500 lei.m. iar costul anual de păstrare este de 20% din valoarea consumabilelor păstrate. 4. Topt ≈ 25 zile. costul anual unitar al lipsei de stoc este d=30 u. Presupunând că anul are 300 zile lucrătoare şi că nu se admite lipsa becurilor din depozit. a) Qopt=2927. c) nivelul maxim al stocului d) ciclul optim de reaprovizionare . R. numărul de comenzi lansate într-un an este 12.77 ≈ 10 246 951 . Costul de lansare a unei comenzi de reaprovizionare cu hârtie este de 150 000 lei.

P (a ≤ a opt ) = 4 + 10 repartiţiei normale standard ∫ e dx = 0. Făcând aprovizionarea în loturi de câte 500 perechi de pantofi. magazinul obţine de la producător cel mai mic preţ petru o pereche. costul de subestimare este mai mic decât cel de supraestimare şi atunci compania îşi asumă un risc mai mare de apariţie a lipsei de stoc. c-=19-15=4. Din tabela Rezolvare.29 2π − ∞ se ia z=0.m. Atunci aopt=µ-0. Costul de depozitare este 20% din preţul de achiziţie. m. O companie trebuie să asigure un produs chimic (soluţie) la fiecare 6 luni unui client. să se rezolve următoarea problemă : Un magazin de încălţăminte bărbătească vinde în medie la fiecare 3 luni 500 perechi de pantofi negri. lipsa de stoc este rezolvată prin cumpărarea soluţiei de la altă firmă cu 19 u. m.m. Care este planul de producţie optim ? 4 = 0. c) nivelul maxim al stocului Imax= a opt − S =86 d) ciclul optim de reaprovizionare. Cum procesul de producţie durează două luni. surplusul se vinde cu 5 u.8.4. / litru. costul de producţie este de 15 u. / litru.232 Modele şi algoritmi de optimizare e) costul total anual R.8 Cantitate Preţ unitar 0 – 99 36 100 – 199 32 200-299 30 28 ≥300 . La valoarea aopt obţinută. CT=867 . să se stabilească mărimea optimă a comenzii de reaprovizionare a magazinului şi să se precizeze dacă este mai avantajoasă vechea politică de reaprovizionare. 5.55σ=1000-0.945 litri. Topt=11.100). Câţi litri trebuie produşi ştiind că : preţul de vânzare este de 20 u. Cd=110 şi atunci. Cs=435. costul total anual. a) mărimea optimă a comenzii de reaprovizionare a opt = 115 b) numărul maxim de unităţi lipsă din stoc pe perioada lipsei de stoc. Ştiind că o lansare de comandă de aprovizionare este de 30 u.4 zile lucrătoare e) Ch=322.55⋅100=0. c+=15-5=10. iar cea de a avea lipsă de stoc este 0. Din experienţa care există cererea se consideră ca fiind N (1000. S=29. probabilitatea de a avea surplus este 0. conform cu Tabelul 9.55. producţia trebuie începută înaintea formulării cererii de către client. / litru.29 . P(a ≤ z ) = 1 z − x2 2 6. Tabelul 9. m.29. şi că producătorul oferă şi alte reduceri de preţuri în funcţie de mărimea comenzii. 28 u.71 . / litru. m. În acest caz. Folosind algoritmul general din §9.

cX ∈ K (cX=Ω \ X) A2. P(Ω) = 1. (∀) X ∈ K . iar Ω se numeşte evenimentul sigur şi φ – evenimentul imposibil. Câmp de evenimente. (∀)I familie de indici cel mult numărabilă. Câmp de probabilitate complet aditiv Câmp de probabilitate complet aditiv este tripletul {Ω .1. X α ∩ X β = φ . I familie de indici cel mult α ∈I numărabilă ( I – submulţime a lui N ). Familia K se numeşte câmp complet aditiv dacă sunt verificate următoarele axiome: A1. (∀) α∈ I . A. P(X) ≥ 0. Axioma lui Kolmogorov A. (∀) X ∈ K .1. Probabilităţi Fie Ω o mulţime nevidă dată. P2.1.2. ⎟ ⎜ ⎠ α ∈I ⎝ α ∈I P3.3. P(Ω) = 1.ANEXĂ Noţiuni generale de probabilităţi şi statistică matematică A. (∀)α ∈ I . Elementele lui K le numim subevenimente. Probabilitate Funcţia de mulţime P : K → R se numeşte probabilitate dacă: P1. Evenimente.1. K . este îndeplinită relaţia: X α ∈ K . P(φ ) = 0 .1. K o familie de submulţimi ale lui Ω. α . α ≠ β ⇒ ⎞ ⎛ ⇒ P⎜ U X α ⎟ = ∑ P ( X α ) . U X α ∈ K dacă Xα ∈ K . β ∈ I . . P} . K ⊂ P (Ω). A.

234 Modele şi algoritmi de optimizare A.1. . . X : Ω → R. K . Spunem că evenimentele A şi B sunt independente dacă se verifică relaţia: P ( A ∩ B) = P ( A) ⋅ P ( B ) . atunci au loc relaţiile: P (cA ∩ B) = P (cA) ⋅ P ( B ) P ( A ∩ cB) = P( A) ⋅ P (cB) P (cA ∩ cB) = P(cA) ⋅ P (cB). Aplicaţia X este variabilă aleatoare ω dacă { ∈ Ω X (ω ) > c}∈ K . P( B) A. A. Fie X o variabilă aleatoare şi b un număr finit. Evenimente independente Fie {Ω . B ∈ K . K . atunci PB(A) = P(A). A.4. Dacă A şi B sunt independente. Probabilitate condiţionată Fie {Ω . Dacă evenimentele A şi B sunt independente.1. B∈ K cu P(B)>0.5. Numim probabilitatea evenimentului A condiţionată de B şi notăm P( A ∩ B) PB(A) sau P(A⏐B) raportul . Atunci: a) X + b b) b⋅ X c) X d) X 2 1 e) .2. K . Variabile aleatoare Fie {Ω . P} un câmp de probabilitate complet aditiv sau câmp de probabilitate şi X o funcţie. pentru (∀) c ∈ R. pentru X ≠ 0 X sunt de asemenea variabile aleatoare. P} un câmp de probabilitate complet aditiv şi A. P} un câmp de probabilitate complet aditiv. Observaţie. Proprietăţi Teorema 1.

3 2 0.1 ⎪0. Dacă X şi Y sunt două variabile aleatoare. A. F ( x) = P ( { ∈ R X (ω ) < x} ) . xi < x ⎧0 ⎪0. F funcţia sa de repartiţie şi x1. pentru variabila aleatoare discretă. F ( x) = P( X < x) = ∑ P ( X = x i ) .2. Teorema 4.1 3 0. x2 ∈ R. c) P( x1 < X < x2 ) = F( x2 ) − F( x1 ) − P(X = x1 ) + P(X = x2 ) . Fie X o variabilă aleatoare şi F funcţia sa de repartiţie. Funcţia F se numeşte funcţia de repartiţie a ω variabilei aleatoare X .2 + 0.2 ⎪ ⎪0. Atunci: . Exemplu. Notăm F(x) = P( X (ω)) < x ) (de fapt. x 0 p 0.3 + 0.Anexă 235 Teorema 2. Fie X o variabilă aleatoare.1. pentru Y ≠ 0 d) Y sunt variabile aleatoare. Atunci: a) P( x1 ≤ X < x2 ) = F( x2 ) − F( x1 ) .1 + 0. Dacă X este o variabilă aleatoare discretă (ia numai un număr finit sau o infinitate numărabilă de valori).2 + 0.3 4 0. atunci funcţia de repartiţie este suma probabilităţilor valorilor lui X (ω) situate la stânga lui x.2 1 0. atunci: a) X − Y b) X + Y c) X ⋅ Y X . b) P( x1 < X < x2 ) = F( x2 ) − F( x1 ) − P(X = x1 ) .3 + 0. d) P( x1 ≤ X ≤ x2 ) = F( x2 ) − F( x1 ) + P(X = x2 ) . Funcţia de repartiţie Fie x ∈ R şi X o variabilă aleatoare.1 Deci.2 + 0.3 ⎪ F ( x) = ⎨ ⎪0.3 ⎪ ⎪1 ⎩ x≤0 0 < x ≤1 1< x ≤ 2 2< x≤3 3< x ≤ 4 4< x Proprietăţi Teorema 3.

2. b) (∀) x1 . atunci M [ X [= ∫ xf ( x)dx . P(x1 ≤ X < x 2 ) = ∫ f ( x)dx .2. (∀) x ∈ R . A. x2 ∈ R . aα ) . Momente Fie {Ω . avem: ⎛ ⎞ − − P⎜ I X α 1 (−∞. x1 < x2 . x1 x2 c) ∫ ∞ −∞ f ( x ) dx = 1 . Variabile aleatoare independente în sensul Steinhaus−Kaç Fie ( X α )α∈I .236 Modele şi algoritmi de optimizare a) F( x1 ) ≤ F( x2 ) . ⎜ ⎟ ⎝ x∈J ⎠ α ∈J ( ) A. −∞ ∞ Proprietăţi Fie X . Se numeşte media variabilei aleatoare X valoarea M [ X ] = ∫ X (ω )dP . P} un câmp de probabilitate şi X o variabilă aleatoare. x →∞ x → −∞ c) F( x − 0) = F( x ) (continuitate la stânga). atunci numim funcţia f densitate de repartiţie sau de probabilitate. Ω Dacă variabila aleatoare este discretă. J finită. Spunem că aceasta este o familie independentă în sensul Steinhaus−Kaç dacă. Dispersie. iar a. Dacă variabila i∈I aleatoare are densitatea de probabilitate f.4. b) lim F ( x) = F (+∞) = 1 .2. Y – variabile aleatoare. Proprietăţi a) f ( x ) ≥ 0 . atunci M [ X ] = ∑ a i P ( X = a i ) . b – constante reale. (∀) J ⊂ I . I – familie oarecare de indici. Valoare medie. aα ) ⎟ = ∏ P X α 1 (−∞.2. (∀)x∈R . K . Densitate de repartiţie F ( x) = ∫ x Dacă există o funcţie nenegativă f( y ) astfel încât −∞ f ( y )dy . Atunci: .3. A. lim F ( x) = F (−∞) = 0 .

b] f ( x) = ⎨ b − a ⎪ 0 altfel . b) D[ X + Y] = D[X] + D[Y] . 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. Y – variabile aleatoare independente. b) M[ X + Y] = M[X] + M[Y] .3.b] dacă are densitatea de probabilitate ⎧ 1 ⎪ dacã x ∈ [a. Dispersia unei variabile aleatoare X este 2 2 D 2 [ X ] = M ( X − M [X ]) = M X 2 − (M [ X ]) . iar a. Atunci: a) D[ a X + b] = a2D[X] . (∀)x ∈ [ a. Câteva repartiţii clasice A. 2 12 A.Anexă 237 a) M[ a X + b] = aM[X] + b . b−a a Pentru variabila aleatoare uniformă X media şi dispersia sunt 1 1 M [ X ] = ( a + b) . A. b] . Abaterea medie pătratică se defineşte ca fiind σ [ X ] = D 2 [ X ] . Repartiţii Markov . [ ] [ ] Proprietăţi Fie X . b – constante reale.1. D 2 [ X ] = (b − a ) 2 .2. ⎩ Funcţia sa de repartiţie este x x−a F ( x) = ∫ ρ (t )dt = .3. c) M[ X ⋅ Y] = M[ X] ⋅ M[ Y] numai dacă X şi Y sunt independente.3. Repartiţia uniformă O variabilă aleatoare X urmează repartiţia uniformă pe intervalul [a.

Ambele sunt numite repartiţii Markov. t ≥ 0 . Variabila aleatoare X este repartizată Erlang(λ... Repartiţia exponenţială O variabilă aleatoare are repartiţia exponenţială dacă are densitatea de probabilitate f (t ) = λe − λxt .3. Y2. iar Γ este funcţia gama (funcţia lui Euler de speţa a II-a) Γ(a) = ∫ x a −1 e − x dx . 2. Repartiţia Erlang(λ. .n) Fie Y1. sunt repartiţii complementare.n) şi are densitatea de i =1 n repartiţie f ( x) = λn Γ ( n) ∞ x n−1e −λx ..238 Modele şi algoritmi de optimizare În modelele de aşteptare intervin repartiţia Poisson pentru modelarea sosirilor în sistem şi repartiţia exponenţială pentru modelarea timpilor de servire. Pentru acest tip de variabilă aleatoare M[X]= λ şi D2[X]= λ.. Yn . n variabile aleatoare repartizate Exp(λ) şi independente.. 0 Dacă X a Erlang (λ ) atunci M [ X ] = n λ . Dacă Y a Exp(λ ) .3. Repartiţia Poisson O variabilă aleatoare discretă X urmăreşte repartiţia Poisson de parametru λ dacă n! unde λ>0 .. t ≥ 0 . iar X = ∑ Yi . λ > 0 . Repartiţia normală unidimensională a lui Gauss . atunci M [Y ] = ⎛1⎞ . iar n=0.. λ ⎝λ⎠ 1 2 P ( X = n) = f ( n) = λn e −λ . iar D 2 [Y ] = ⎜ ⎟ . iar D 2 [ X ] = n3 λ2 . prima discretă şi cea de-a doua continuă. A. iar funcţia de repartiţie este F (t ) = 1 − e − λt . 1. Cele două repartiţii.

T=[0. Considerăm că variabilele din E descriu starea unui anumit sistem.Anexă 239 O variabilă aleatoare X urmează repartiţia normală dacă are densitatea de probabilitate f ( x) = iar funcţia de repartiţie 1 − ( x−µ )2 2σ 2 σ 2π e (∀)x ∈ (− ∞. A. P} un câmp de probabilitate şi E = { X : Ω → R X variabilã aleatoare} . b) . Repartiţia Beta O variabilă aleatoare X urmează repartiţia Beta de parametri a şi b dacă are densitatea de repartiţie ⎧ 1 x a −1 (1 − x) b −1 (∀)x ∈ (0. 2 a 1 ⎛ a ⎞ . procesul aleatoriu este echivalent cu un vector aleatoriu. 1] şi se spune că procesul aleatoriu este cu timp continuu. Când µ=0 şi σ=1 . ⎪0 altfel ⎩ unde B(a.1) ⎪ f ( x ) = ⎨ B ( a. . Γ ( a + b) Pentru o variabilă aleatoare de acest tip.3. variabila X se numeşte variabilă aleatoare normală standard (sau redusă). F ( x) = 1 ∫e − (t − µ )2 2σ 2 dt . Dacă T=Z sau T=N termenul de proces aleator se înlocuieşte cu cel de lanţ. b) = . Dacă mulţimea T este finită. x σ 2π −∞ unde M[X]=µ.4.4. iar pentru aceasta F(x) este tabelată. ∞ ) . a>0 . iar D2[X]=σ2. Se numeşte proces aleatoriu sau proces stochastic cu mulţimea de parametri T o aplicaţie ξ : T → E . b>0. iar mulţimea T reprezintă timpul. Frecvent T=R. ∞) sau T=[0. Procese aleatoare Fie {Ω . Astfel. K . T o mulţime oarecare de numere reale. M[X ] = şi D 2 [ X ] = ⎜ ⎟ a+b ⎝ a + b ⎠ a + b +1 A.b) este funcţia beta (funcţia lui Euler de speţa I) Γ(a )Γ(b) B ( a . un proces aleatoriu reflectă evoluţia în timp a unui real sistem dat.

. Un proces aleatoriu cu creşteri independente şi satisfăcând condiţia ξ(0)=0 se numeşte proces Poisson dacă ia numai valori întregi nenegative şi dacă pe orice interval [s. Media şi dispersia procesului Poisson sunt M [ξ (t )] = λt .. ziar etc.. . Un proces aleatoriu ξ : [0. a ]. Atunci. variabilele aleatoare ξ (t1 ) . . a ). sau (− ∞.. Într-un proces Poisson probabilitatea apariţiei unui eveniment este constantă şi apariţia unui eveniment este independentă de ceea ce s-a întâmplat imediat înaintea observaţiei curente. vânzările unui produs etc. D 2 [ξ (t )] = λt ..−∞ ). sau [a. t n ≥ 0 cu proprietatea că t1 < t 2 < . t n ∈ T .. . ξ (t 2 ) − ξ (t1 ) . ξ tn (ω ) < x n . ∞ ) → E se numeşte cu creşteri independente dacă pentru (∀)n ∈ N şi (∀)t1 .240 Modele şi algoritmi de optimizare După cum o variabilă aleatoare se consideră determinată din punct de vedere probabilistic atunci când i se cunoaşte funcţia de repartiţie.. . pentru definirea unui proces aleatoriu ar trebui cunoscute toate funcţiile de repartiţie finit dimensionale. t] este e − λt (tλ ) n P( X = n λ . numărul pieselor defecte dintr-un lot de fabricaţie.. x 2 .. b) lungimea intervalului. λ=rata sau intensitatea procesului. < t n şi (∀)a ∈ R are loc relaţia unde B = (− ∞. t1 < t 2 < . Din această definiţie rezultă că procesul dinamic descris de procesul Markov are o evoluţie în viitor care depinde numai de starea precedentă şi nu de ceea ce s-a petrecut cu el la momentele t1 . adică (∀)n ∈ N . .. < t n . x n ∈ R trebuie să fie cunoscute probabilităţile Ft1 .. t n −1 . ... t2 .. .. Repartiţia probabilităţii Poisson aplicată procesului Poisson dă probabilitatea numărului de evenimente pe un interval. n! P ({ξ (t ) ∈ B ξ (t1 ).−∞ ).. (∀)n ∈ N * . ξ (t n ) − ξ (t n −1 ) sunt independente. t ) = . date fiind: a) numărul mediu de evenimente pe unitatea de timp. sau (a.. ξ (t 3 ) − ξ (t 2 ) .. ... t 2 .. Pot fi considerate procese Poisson: numărul erorilor de tipar dintr-o carte. adică n! Se poate considera că ξ (t ) înregistrează numărul de apariţii ale unui eveniment în intervalul de timp [0. x n ) = P ω ξ t1 (ω ) < x1 .. t . probabilitatea apariţiei a n evenimente în intervalul [0.. .. t] . (∀)t1 . t n ∈ T şi (∀)x1 ... t] .. .. ({ }) În cele ce urmează vom presupune că intervalul de interes este în timp. . t 2 .t] .. [0... [λ (t − s ] P(ξ (t ) − ξ ( s ) = n ) = e −λ (t − s ) n ... x 2 . ξ t2 (ω ) < x 2 . Un proces aleatoriu ξ se numeşte proces Markov dacă pentru (∀)n ∈ N . t 2 ....tn ( x1 . t 2 . ξ (t 2 ). creşterile sale urmează repartiţii Poisson de parametru λ (t − s ) . ξ (t n )}) = P ({ξ (t ) ∈ B ξ (t n )}) . (∀)t1 .

Testul pentru verificarea ipotezei nule dă o regulă de descompunere a spaţiului n-dimensional al selecţiilor Rn (n este volumul selecţiei) în două regiuni R1n . Se numeşte ipoteză statistică orice presupunere cu privire la caracteristicile unei variabile aleatoare.. Afirmaţia H0 : „o variabilă empirică are o anumită repartiţie teoretică” este numită ipoteza H0 . Când ipoteza se referă la natura repartiţiei.. 1978).. iar dacă ( X 1 . X 2 . 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 . Aceasta este repartiţia exponenţială..t] . sau că intervalul dintre două evenimente este 1 exponenţial cu media µ = unităţi de timp. care este mai eficace. X 2 . λ A. X n ) ∈ R1n se acceptă ipoteza H0 .Anexă 241 Notăm m = λt şi atunci m este numărul de evenimente care s-ar produce în intervalul [0.. de exemplu afirmaţia că „o variabilă empirică are o anumită repartiţie teoretică”. astfel încât dacă valorile observate se ( X 1 . Astfel. De exemplu.. faţă de legea ei de repartitie sau faţă de parametrii ce o determină (Mihăilă şi Popescu.. Vrem să ştim care este repartiţia de probabilitate pentru aceste intervale. testul se numeşte test de concordanţă.. Mijloacele de verificare a ipotezelor statistice se numesc teste statistice. Este necesar să se cunoască dacă metodele comparate dau rezultate identice. cu atât este mai mare probabilitatea ca ele să aparţină unei selecţii extrase din aceeaşi colectivitate de bază. R0n cu n R n = R1n ∪ R0 şi R1n ∩ R0n = φ . X n ) ∈ R0n . adică probabilitatea ca să nu apară nici un eveniment în intervalul [0.5. În statistică o diferenţă semnificativă este aceea care nu poate fi pusă pe seama întâmplării la un anumit nivel de probabilitate sau de încredere. iar ipoteza alternativă: H1 : „variabila empirică poate avea oricare altă repartiţie”. t ] . Într-un proces Poisson este interesant de cunoscut intervalul de timp dintre două evenimente succesive. a două metode de cercetare diferite etc. Se poate spune că numărul de evenimente pe unitatea de timp este repartizat Poisson cu media λ pe unitatea de timp. repartiţia Poisson pentru evenimentele petrecute pe unitatea de timp şi repartiţia exponenţială a intervalului dintre două astfel de evenimente sunt două modalităţi alternative de a descrie acelaşi lucru. cu cât este mai mică diferenţa dintre două medii. Teste de concordanţă În practică apare necesitatea comparării a două procese tehnologice diferite. iar dacă nu.

N .1. Determinarea frecvenţelor absolute N i′ . Rezolvarea acestei probleme se face în următoarele etape : 1.5. determină respingerea ipotezei şi care determină acceptarea ipotezei. 2. 5. ⎟ ⎜N N L N ⎟ i =1 2 n ⎠ ⎝ ⎠ ⎝ 1 adică se cercetează dacă şirul numeric al frecvenţelor absolute empirice Ni reflectă legitatea ipotetică a variabilei aleatoare teoretice. n . Pe baza acestora se va determina numărul de observaţii care trebuie făcute pentru a calcula statistica aleasă. R0n se numeşte domeniul critic sau regiunea critică a testului. Se specifică α şi β .05 .242 Modele şi algoritmi de optimizare respinge ipoteza H0 . X = ⎜ Xe =⎜ 1 ⎜ ρ (x) ⎟ . (∀) i = 1. valori ce formează regiunea critică. Enunţarea ipotezei. Se pune problema racordării unei variabile empirice Xe la o variabilă teoretică X. n se face cu ajutorul funcţiei N′ de probabilitate f ( x i ) = i ⇒ N i′ = Nf ( x i ) . 3. n x2 L xn ⎞ ⎛x ⎛ x ⎞ ⎟ . după cum valoarea obţinută pentru statistică este în afara sau în interiorul regiunii critice. Se calculează valoarea statisticii de selecţie. Se acceptă sau nu ipoteza. α se mai numeşte şi prag de semnificaţie şi de obicei se ia α=0. ∑ N i′ = N i =1 2 n ⎠ ⎝ 1 făcându-se astfel legătura între variabila empirică Xe şi cea teoretică X. Estimarea parametrilor ţinând seama de semnificaţia pe care ar putea să o aibă în legătură cu caracteristicile repartiţiei teoretice. 2. (∀)i = 1. 4. Se determină care valori ale unei anumite statistici. Se construieşte variabila pseudoteoretică: x2 L xn ⎞ n ~ ⎛x X =⎜ 1 ⎟ ⎜ N ′ N ′ L N ′ ⎟ . A. Etapele verificării ipotezelor statistice 1. Concordanţa dintre repartiţia empirică şi cea teoretică se stabileşte cu ajutorul unui test de concordanţă. Răspunsul respectiv este util în aprecierea caracteristicilor variabilei empirice prin prisma legităţii variabilei teoretice. ∑ Ni = N . Probabilităţile n α = P ( R0 H 0 ) = P(resping H 0 când H 0 este adevărată) β = P( R1n H 1 ) = P (accept H 0 când H 0 este falsã ) se numesc riscul de genul întâi şi respectiv riscul de genul al doilea.

. 2 2 ( P χ 2 > χ n −1− k . calculate după estimarea parametrilor. iar produsele N i′ = Np i .5. iar k . n . A. n fiind numărul de valori observate. X2. α nu există concordanţă între cele două repartiţii. atunci există concordanţă. de date experimentale. adică se stabileşte dacă diferenţele dintre N i − N i′ .3. adică nu sunt semnificative. Atunci n 2 2 ⎛ u ⎞ ∞ ⎟ = ∑ (−1) k e − 2u k = K (u ) .. nu sunt prea mici ( N i′ > 5 ). Verificarea concordanţei dintre repartiţia empirică şi cea teoretică. (∀)i = 1. Pearson care a arătat că..Anexă 243 3. 1977). iar dacă ( ) χ ≥χ 2 c 2 n −1− k .. lim P⎜ max Fn ( x) − F ( x) < ⎜ ⎟ n←∞ n ⎠ −∞ ⎝ . Fie Fn(x) funcţia de repartiţie empirică (sau de selecţie) asociată selecţiei numãrul valorilor lui X i ≤ x date. sau diferenţele sunt semnificative şi atunci există o neconcordanţă între repartiţia teoretică şi cea empirică. unde p i = f ( x i ) . Numărul gradelor de libertate este strâns legat de cantitatea de informaţie de care se dispune în cercetarea care se efectuează. sunt datorate întâmplării. Xn o selecţie efectuată asupra sa. atunci χ c2 = ∑ i =1 2 n (N i − N i′ )2 N i′ are repartiţia χν cu ν = n − 1 − k . α . Testul de concordanţă χ 2 Acest test este datorat lui K. adică Fn ( x) = . 1977).5. (∀)i = 1. n-1 informaţii sunt independente. A. Ea se reflectă în volumul n. α = α ) şi dacă χ c2 < χ n −1− k . numărul parametrilor estimaţi (Văduva. Fie X o variabilă aleatoare a cărei funcţie de repartiţie F(x) este continuă şi X1. în cazul unui sondaj nonexhaustiv în populaţia chestionată. Testul Kolmogorov Acest test de concordanţă are la bază următoarea teoremă: Teorema lui Kolmogorov (Văduva. 2 Pentru ν < 30 şi α daţi se determină χ n −1− k . deoarece ∑N i=1 n i = N .2. n . α din tabela repartiţiei χ 2 . când probabilităţile pi nu sunt aproape de 0 sau 1. şi se mai pierde informaţie pentru determinarea celor k parametri estimaţi. Observaţie.

Pas 2. (∀)i = 1.025). 1977) Pas 1. astfel K (uα ) = 1 − α . Pas 3. α=0. n . Se ordonează crescător X (1) ≤ X ( 2 ) ≤ . Se calculează d i = Fn ( X (i ) ) − F ( X i ) . Algoritm pentru aplicarea testului Kolmogorov (Văduva.244 Modele şi algoritmi de optimizare Funcţia K(u) se numeşte funcţia lui Kolmogorov şi există tabele cu cuantilele ei.05 . Se determină uα .. Se fixează un prag de semnificaţie α (de exemplu. X ( n ) . Se formulează ipoteza H0: „Variabila aleatoare X are funcţia de repartiţie F(x)”. α=0. din tabelele funcţiei K(u) . Se determină d = max d i . Stop! . Pas 5. altfel se respinge. α=0. 1≥ i≤ n Pas 7.. Pas 6. Pas 4. Dacă d < uα n .01 . se acceptă ipoteza H0 .

Cohen. Lange. Jr.S. West Publishing Company. Bucureşti. 1981. 2000. . Editura Ştiinţifică. G. Hsiao. J. O şi colectiv. 1996. Ionescu. Sweeney.BIBLIOGRAFIE Anderson. Th. D. 1970. Convexite et optimisation. Editura Tehnică. O. 1978. Editura Didactică şi Pedagogică. vol. Practical Methods of Optimization. R. Joseph. 2001. 1997. N.. Dragomirescu. Popescu. II. Linear and Nonlinear Programming. 1998. H. G. A. Paris. Cambridge University Press. Henry-Labordere. C. M. J. ediţia a 7−a. ediţia a 7−a.. R. . O. D. Săvulescu. ENPC. Bierman. Hausman. Culegere de probleme de Cercetări Operaţionale. Kaufmann. W. 1 – Unconstrained Optimization şi vol. Editura Ştiinţifică. Editura Didactică şi Pedagogică. Lee.. C.. Irwin McGraw−Hill. vol. Teoria aşteptării cu aplicaţii. D. D. M. A. Mathematical Methods and Models for Economists. Editura Tehnică.. 1967. Dunod. Bucureşti. Bucureşti. Bucureşti. B. P. Houghton Mifflin Company. Maliţa. A. Sweeney. O şi colectiv. 2000 Cohen. Luenberger. .. Addison−Wesley. A. Bucureşti. Bucureşti. Quantitative Approaches to Decision Making. La Recherche Opérationnelle. West Publishing Company. 1995. Presses Universitaires de France. 1989. Williams. Ed. 2 – Constrained Optimization. M. 1976. Bucureşti.. A. D. M. 1978. Metode şi modele ale cercetării operaţionale. Bergounioux. 1997. I. ediţia a 9−a. Th. Probleme ale cercetării operaţionale. Preda. Matematici speciale aplicate în economie. Management Science. John Wiley & Sons. Quantitative Analysis for Management. 1982. . D. J. H. Presses de l’École Nationale des Ponts et Chaussées. Matematica organizării. Matematici aplicate în economie Culegere de probleme.. V şi Bad. Bucureşti. 1972. Anderson. Dinescu. Recherche Operationnelle. 1997. Fletcher. The Management Scientist. M. Editura Ştiinţifică. C. Bonini. Popescu. V. M. An Introduction to Management Science. Decizii optimale − Bazele programării. Angel de la. 1971. Tipografia Universităţii din Bucureşti. Bucureşti . 1995. Maliţa. Matematici aplicate în economie. Editura Didactică şi Pedagogică.. Zidăroiu. Optimization et Contrôle des systèmes linéaires. Programare pătratică. Editura Didactică şi Pedagogică. A. Williams. 1968. Fuente. Mihăilă. Popescu.. R. Cleaver. C. H. D.

Editura Tehnică. Probleme de cercetare operaţională. vol. Modele matematice ale organizării şi conducerii producţiei. 1977.. J. Programare liniară. Săvulescu. 1998. Mititelu.. C. 1983. C.. 1975. A. Editura Tehnică.. B. Editura Didactică şi Pedagogică. Ştefănescu. Editura Tehnică. Bucureşti. Bucureşti . I. . Bucureşti. Şt. Ediţia a 4−a. Gh. Curs de Cercetări Operaţionale. Bucureşti . Editura Tehnică. C. Dinescu. 1989. Văduva. II. 1974. Modele de simulare cu calculatorul. Irwin. E. R. Văduva. Meredith. 1983. I. Bucureşti .246 Modele şi algoritmi de optimizare Turban. I. Vrănceanu. Fundamentals of Management Science. Zidăroiu. Zidăroiu. Programare dinamică discretă. Tipografia Universităţii din Bucureşti. Gh.

......... 235 algoritmul de transport ............................................................................ 72 câmp complet aditiv...........................................................220 al supraestimării .........................161 ecuaţiilor de stare.............................................. 125 alternativă ...........................................................................17 critic ........ 106 coeficienţii funcţiei obiectiv ......................................... 18 bază dual admisibilă............................................ 20 clienţi ............................193 lansare ...... 63 Wolfe......... 203 costul total.....................................................................................72 densitate de repartiţie .......................... 13 analiza convergenţei globale . 18 eulerian ...................................... 23 simplex ...20 ecuaţiile de recurenţă...193...........220 de fabricaţie.........................................61.......................193..........................67 criteriu de ieşire din bază .82 asimetrice ................................... 125 conul direcţiilor admisibile ........................... 16 marginală ............................... 215 prospectivă......................... 90...................................................... 231 capacitatea sistemului de aşteptare ............................................................................... 192 ciclare ................................................ 143 celulă ..................................................................................................... 142 sensibilităţii.......................................................................... 143 total ....................................................................INDEX ALFABETIC abaterea medie pătratică ............................48 tangent...... 68 arbore .............................231 .... regula lui ......................... 17 incident ...... 25 Kruskal ............................................ 21 lui Prim ........................... 104 Dijkstra ............................................. 15............. 20 de acoperire de lungime minimă...................................30 eulerian .................................53 costuri reduse ................................................................................................................................. 18 arc al grafului...........30 direcţie admisibilă.........................................................................................................................................208 de transport ................................ 20 circuit. 194 eulerian ............. 142 retrospectivă.......235 domeniul de admisibilitate.......................................................50 Kuhn-Tucker ..................................... 102 cerere .................................... 159 coeficienţi de cost redus........................... 88 simplex revizuit .........................................................................................................48 costul de depozitare.......................................... 102 de reaprovizionare .................48 disciplina de serviciu ................................................................................................................................................... 159 câştigul parţial.............................................................................................................................................................197 costul lipsei de stoc ........... 20 hamiltonian .................218 cuplu de probleme duale ...........61............................... 106 cuantila inferioară .......160 dispersia variabilei aleatoare................142 drum..........................146 Kolmogorov−Feller......................59.............234 diagrama activităţilor ................. 71 ciclu ...................................83 simetrice.52 condiţiile de nenegativitate .. 83 primal admisibilă ................................................83 degenerare........................................................ 16 locale......................................231 sigur ......... 90....... 150 Bland...180 evenimentul imposibil .......................................................................... principiul ..... 107 intrare în bază........................... 83 Bellman.................................................................. 93 condiţia de balansare......... 20 arborescenţă ................. 20 ciclu într-un graf ................. 141......................................................62................................................................................................................49........... 61 simplex dual.......... 20 hamiltonian .................. 197 stocare ............................................................198 costul unitar al subestimării..................20 hamiltonian .................

.............32 matrice triunghiulară........................195 dinamice..........................................................108 PERT.............................................. 42 intensitate de trafic ............. 164 FIFO ........... 19 orientat......................................................195 muchiile grafului......................................102 maxim global .................................................................195 discretă ...... 19 eulerian .............195 statice .....................234 metoda celor două faze ................. 122 funcţia lui Kolmogorov ..........................................11 modele de simulare...................195 deterministe................................................................................... 238 intensităţi de deces................................195 momentul lansării comenzii ..................................195 cu mai multe staţii..........................................................................160 lungimea medie a cozii ............104 nivel de reaprovizionare............................. 161 intensităţi de natalitate.....................17 numărul de clienţi din sistem ..... 170..45 mecanismul reaprovizionării .. 194 Modele şi algoritmi de optimizare lungimea cozii....................199 nod ascendent.............................................................. 43 de repartiţie ...............................................................................42 multiplicatorii lui Lagrange .......................................................................................................................................45 local................................................. 19 simplu conex...48 simplex............................ 44 strict convexă. 195 inventar ...... 48 substituţiei......... 12 de aşteptare .........................................................................18 precedent.................................................................................. 233 decompozabilă prospectiv................................. 20 lege de evoluţie.........................................................................................18 descendent............................................................. ........................................................................159 lungimea maximă a cozii ......... 236 obiectiv .. 239 lagrangean ................................ 43 grad exterior............................. 19 simetric ............................. 18 indice de lipsă de stoc...............................................................................195 nivelul mediu al stocului......195 cu staţie ................................................................................... 18 interior .........................................................................248 factor de serviciu .......................................................................... 19 neorientat .................................195 stochastice...... 122 pozitiv semidefinită ................................18 succesor........................... 159 de stocare ............................................................ 239 statistică ........................... 193 ipoteză alternativă ....................................................................................... 14 pozitiv semidefinită ............................................................................19 mulţime convexă.............................................................................................29 model ....................................... 163.................... 122 negativ semidefinită............159 media variabilei aleatoare .........18 nodurile grafului .............................. 181 ..............15...... 43 strict concavă ...199 marja .................... 159 formă pătratică negativ definită ........................................................... 18 ponderat ...................159 numărul de staţii de serviciu ................................................................................................................. 175 mărimea optimă a comenzii de reaprovizionare .......................183 modele de stocare cu cerere continuă......................... 46 lanţ....................................................................... 142 lema Farkas-Minkowski .....76 colţului nord-vest ................................................................ 143 gama ...........................................................................................165 numărul mediu de clienţi de la coadă......................... 165.............................11............ 18 graf complet .. 242 funcţie beta .............. 20 hamiltonian ............... 205 înfăşurătoarea convexă ............................. 161 intervalul de control................................................................................... 20 tare conex................................................................ 17 parţial................................ 175 intensitatea optimă de încărcare a stocului223 intensitatea procesului .....15 modelare.................... 143 retrospectiv ...................................................................................................... 159 fluxul intrărilor în sistemul de aşteptare ....................................................... 164 intensitatea de trafic............... 122 pozitiv definită.................................................................. 237 convexă............160 numărul mediu al clienţilor de la coadă ......................194 serviciului......................... 87 lot de reaprovizionare .................................107 costului minim ..181 numărul mediu de clienţi din sistem 162........169.....................................

................ 236 exponenţială ..... 13...... 81 probleme de stoc aprovizionare ........242 timpul de aşteptare ..................... 68 preţ umbră .................236 restricţie activă...................................................................15...159 P P ...... 81 nedegenerată ................................................................................45 nedegenerată .............................................. proces aleatoriu proces de naştere şi deces ................................................................................................. 14 249 punct admisibil...........202 simulare probabilistă..............240 regula dreptunghiului...................................................................18 tabel simplex.................................................................................................................. 15 pătratică ..............193 regiunea admisibilă .............................................192.................................... 55 forma standard ...................................................................................197............................ 238 stochastic .............................. v.............................................................................. 169 numărul mediu de servicii ....... 20 ponderea arcelor .................164.......... 141 cu orizont infinit ............................159 stoc.. 15 fară restricţii... 176 numărul mediu de staţii de servire care lenevesc ............................................................................................................................................................................................................................................................................................................................... 237 cu creşteri independente .......................................................................................240 rotunjirea rezultatelor......................236 uniformă...................................... 124 forma canonică........................................................................................................................................... 74 politică ........... 13 optimizare............43 punct regulat ...............................34...............46 inactivă................................................................................. 71 optim. 57 starea finală ...............142 staţie de servire ...............................................46 restricţii. 124 forma standard ........................... 238 Markov .................. optimizare cu restricţii .... 237 Erlang........................................ 57 program liniar ...................................................62 repartiţia Beta ...................... v...................................... 141 de reaprovizionare ..... 44 liniară .......239 testul χ2 ...... 195 optimă .....................................................................................................................13 riscul de genul al doilea.........................15 test de concordanţă ...............................................184 soluţie admisibilă..................................... 215 subgraf .....................................62 teoria aşteptării ................ 52 degenerat.....142 iniţială .....................................................15 punct de extrem....................................45 locală.........................240 întâi ....................................... 238 Poisson.................... 144 pondere .............................................................. 193 stoc intangibil.................................................. 55 programare...................................................................56 optimă .............................................................. 193 proces aleatoriu ..Index alfabetic numărul mediu de clienţi serviţi la un moment dat .......... 141 de programare convexă .................. 177 numărul mediu de staţii în lucru ........56 globală..193 intrărilor ................................................................................................................47 rata cererii ................................ 91 probabilitate.................. 72 primală............................ 240 preţ dual............................193 ieşirilor .................................................................................... 192 producţie.................. 236 normală ................................................218.......................235 repartiţii Markov...................................15...............................................................15 regiunea critică a testului ....................................... 181 numărul mediu de staţii neocupate .............................241 lui Kolmogorov.............................. 14 pivot.................................................................... 19 prag de semnificaţie............................................................................................................................................................ 56 de bază . 57 de transport ....... 142 cu orizont finit...................................56 degenerată ......................... 14 dinamică .................... 163 obiectiv ............... 15............ 231 problemă de decizii................................................................ 51 forma canonică ....159 grafurilor............................... 14........................................................................................... 62 poligonul soluţiilor............................................... 160 program de bază ............................ 126 duală ...237 Poisson ...

....................................................................250 avans .................76 ecart................................................... 182 aşteptare la coadă 163.................. 177..........141 ...................................................................................12 intermediare ................................... 170...................... 19 Modele şi algoritmi de optimizare variabilă aleatoare ............................. 163 servire ............232 normală standard ......................56 variabile de decizie .........................12 externe............................................................... 163 topologia sistemului de servire....... 182 lenevire .. 170.............141 stare.............. 195 neocupare a staţiilor..... 177..................... 165. 159 traiectoria optimă..237 artificială ... 18 al grafului........ 144 vârf adiacent....... 165..................................................................................................................................................................13 vector de decizie ..................................................... 159 timpul mediu de aşteptare în sistem 163...............

Sign up to vote on this title
UsefulNot useful