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

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

6 Modele şi algoritmi de optimizare .

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

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

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

10 Modele şi algoritmi de optimizare .

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

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

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

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

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

Această clasificare reflectă nu numai diferenţe de dimensiuni. numită şi analiza convergenţei globale. Î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. x1. Abordările recente se axează pe exploatarea caracteristicilor calculatoarelor. soluţia problemei. algoritmul se opreşte când s-a obţinut un punct suficient de aproape de soluţie. 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.1. de dimensiune medie (între 5 şi 100 de variabile sau restricţii) şi de dimensiuni mari (cu peste 100 de variabile şi restricţii). Practic. folosind programe matematice generale.2. În probleme de programare neliniară şirul nu atinge niciodată soluţia. 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. Este esenţial când se recomandă un algoritm să se menţioneze şi o estimare a timpului necesar pentru obţinerea soluţiei. Dimensiunea problemelor care pot fi rezolvate a crescut o dată cu dezvoltarea teoriei şi a tehnicilor de calcul.16 Modele şi algoritmi de optimizare 1.2. 1989). faţă de precedentul. procesul se repetă obţinându-se un şir de vectori x0. 1989). Teoria iniţială a optimizării s-a concentrat asupra obţinerii rezultatelor teoretice. Teoria algoritmilor iterativi poate fi împarţită în trei părţi. Problemele de dimensiuni medii pot fi rezolvate pe un calculator. Astfel problemele de dimensiuni mici pot fi rezolvate de mână sau cu un calculator de buzunar. xk.2. Se pot distinge acum trei categorii de probleme: de dimensiune redusă (cu cel mult 5 variabile sau restricţii). …. Problemele de dimensiuni mari necesită programe sofisticate care exploatează caracteristicile particulare ale problemei şi de obicei se rulează pe calculatoare de mare capacitate. ignorând aspectele de calcul ale metodelor propuse. A doua parte. Lucrarea de faţă argumentează convergenţa majorităţii algoritmilor prezentaţi. Acest şir converge către x* . 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ă. Prima parte se ocupă cu crearea de algoritmi. În problemele de programare liniară soluţia se obţine după un număr finit de paşi. …. obţinând soluţia prin metode iterative. . 1. dar şi de abordare. fiecare îmbunătăţind valoarea funcţiei obiectiv. Cea de-a treia componentă se numeşte analiza convergenţei locale şi studiază rata de convergenţă a şirului către soluţia optimă. dar converge către ea.

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

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

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

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

Pas 2. Repetă k :=k+1 . Demonstrăm prin absurd că Vn−1 este arborele minim căutat (HenryLabordere. un arbore şi lungimea sa este inferioară aceleia a lui V . U. Pe arce sunt trecute ponderile. Pas 3. Vom presupune că graful G are lungimile muchiilor diferite două câte două (dacă u≠v . Din construcţia lui Vk . Algoritmul Kruskal Pas 1. Se consideră v1 – muchia de lungime cea mai mică. . ceea ce contrazice faptul că V≠Vn−1 este arborele de lungime minimă. v – muchii. Exemplu.2.1. Acest ciclu conţine cel puţin o muchie up∉ Vk−1 . ca în Figura 2. Apoi v2 – muchia de lungime cea mai mică dintre cele rămase şi se notează V2={v1. k :=2 . vk nu creează un ciclu cu Vk−1. Fie G=(X. 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 . 1995).2. Acesta este. {Vn−1 este un graf de n−1 muchii şi nu are cicluri}. Algoritmul lui Kruskal Algoritmul lui Kruskal permite căutarea unui arbore de acoperire de lungime minimă. Deoarece lista muchiilor lui V este ordonată crescător după lungimile muchiilor l(uk)≤l(up). Stop. şi atunci l(vk)<l(up). aşadar. 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). 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 . v2} . avem de asemenea l(vk)<l(uk) deoarece vk≠uk. X = 5 şi U = 7 . Rezultă astfel că Vn−1 este arborele minim. u. atunci l(u)≠l(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 . Grafuri în optimizare 21 2. folosind algoritmul lui Kruskal.2. Să se construiască un arbore de acoperire de lungime (pondere) minimă. l) un graf conex ponderat neorientat.

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

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

2]).24 Modele şi algoritmi de optimizare Iteraţia a II-a: min{ l([1. Arborele de acoperire de lungime minimă este {[1. 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ă). [1.2]).5]) }= l([2. l([3. l([3.3].5].4 .5]) }= l([3.5])}= l([1. [2. l([1. Pas 3.4]).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]). i = 1.2]. l([3.4]} şi are lungimea Lmin=55 .5]). [3.4 şi se trece la pasul următor.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. După lansarea pachetului de programe se selectează modulul Minimal Spanning Tree ca în Figura 2.2]). l([3. Figura 2. Pentru aplicarea acestui modul exemplului de mai sus se procedează astfel.4]) .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 . l([3.

6 2. în stabilirea traseelor mijloacelor de transport în comun etc. Apar succesiv ferestrele din Figura 2.2.l). New. de aici.3. Acest tip de problemă se mai întâlneşte şi în proiectarea reţelelor de calculatoare.5 în care se introduc numărul de noduri. 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. numărul de muchii şi apoi muchiile şi ponderile lor. dacă lungimile tuturor arcelor sunt nenegative. Este necesar să se determine drumul cel mai „scurt” dintre două noduri oarecare ale reţelei rutiere. Figura 2. 1995). de aici. Rezultatele sunt date de Figura 2.6 . Grafuri în optimizare 25 După apăsarea butonului OK apare o fereastră din care se selectează File şi. 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 Pentru rezolvare şi afişarea rezultatului se selectează Solution şi. Solve.U. (Henry-Labordere.

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

5.4.6])}=min{8. {Π ( y )} = min {Π ( z )} = min{Π(2). Π(6).2. y=3. Π (6).6. Π(5). Π(7)} = Π (2) .4. Π(7)} = Π(5) .5+6}=8 ∏(7)=min{∏(7). Π (4).3.4} . Π(6). ∏(2)+l([2. y ∏(y) 1 0 2 1 3 ∞ 4 4 5 ∞ 6 ∞ 7 ∞ Pas 2. ∏(2)=l([1.6])}=min{12. Π(3). ∏(3)=min{∏(3). S={1. z∈X − S Γ(3) = {2.3. Γ(2) = {1.6])}=min{∞. ∏(2)+l([2.3.5])}=min{∞. S={1.5])}=min{5.4])}=min{4.5+2}=5 ∏(6)=min{∏(6).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). Π (4). Γ(4) = {1.5}. y=4.7])}=min{∞. ∏(3)+l([3. ∏(5)=min{∏(5).4. Grafuri în optimizare 27 Pas 1. S={1.4])}=min{5.6} . ∏(4)+l([3. z∈X − S S={1. Π(7)} = Π(4) .3+2}=5 ∏(6)=min{∏(6). ∏(4)+l([4. ∏(5)+l([5.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).2. s=1.1+4}=5 ∏(4)=min{∏(4).5+7}=12 y ∏(y) 1 0 2 1 3 5 4 3 5 5 6 8 7 12 . Π (5).4} . Π(6).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). z∈ X − S y=2.2}. ∏(4)+l([4.2])=1 ∏(3)=min{∏(3). ∏(5)+l([5.6} . S={1}.2.7} . Iteraţia I . Π (5). ∏(6)=min{∏(6). Γ(1) = {2.2.2. y=5. z∈ X − S Γ(5) = {3.3.3+5}=5 ∏(5)=min{∏(5). ∏(3)+l([3.4}.3])}=min{∞.5. Π(7)} = Π(3) .4}.

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

2. 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.10 2.4. 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. Ea permite stabilirea timpului necesar realizării întregului proiect. Î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. Tehnica PERT a fost concepută pentru a oferi factorului de decizie un ajutor în planificarea şi controlul unui astfel de proiect. altele se defăşoară în paralel.10). 1997). Figura 2.

În acest exemplu. Graful corespunzător este dat în Figura 2. Exemplu. 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.1 Activitate Timpul necesar precedentă realizării (în zile). care poate fi determinist sau aleatoriu. Activităţile sunt arcele. ti Nici una 2 A 3 A 4 B. Drumul critic este o mulţime de activităţi din proiect care are cea mai mare durată de timp asociată.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. momentele de început şi sfârşit ale activităţilor. Diagrama activităţilor este reprezentarea grafică a întregului proiect (graf orientat valuat). iar nodurile. se vor nota activităţile şi duratele lor în noduri.1 sunt trecute activităţile unui proiect şi duratele lor. pentru o înţelegere mai uşoară. Pentru prezentarea metodei se va considera un exemplu simplu în care duratele activităţilor sunt presupuse deterministe şi cunoscute.11 F 8 . săgeţile indicând succesiunea activităţilor.11. Talelul 2. În Tabelul 2. b) timpul necesar realizării activităţii.

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

DF.13. fără ca termenul de finalizare a proiectului să se modifice. Figura 2. TF pentru toate activităţile. TS.12.2 sunt trecute momentele DS. După determinarea valorilor DS. se pot calcula marjele ca fiind Mi= DSi – TSi sau Mi= DFi – TFi . În Tabelul 2. apoi New şi se precizează faptul că duratele activităţilor sunt deterministe şi numărul acestor activităţi. M. DF. 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. TS. . 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. 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.4).32 Modele şi algoritmi de optimizare Marja. ca în Figura 2. Tabelul 2. Din fereastra care apare se selectează File. O activitate care precede o alta trebuie să fie deja definită atunci când este definită ca precedenţă. În schimb. Activităţile se codifică folosind literele alfabetului în ordine crescătoare. Dacă proiectul are termenul de finalizare egal cu lungimea drumului critic. După lansarea pachetului de programe se selectează modulul PERT/CPM (Figura 2.12 Se afişează o fereastră în care se introduc duratele activităţilor şi activităţile care le preced imediat. ca în Figura 2.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.

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

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

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

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

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

6.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. Se consideră un proiect având datele despre activităţi trecute în Tabelul 2. Activităţile necesare sunt trecute în Tabelul 2.7 Tabelul 2. I. iar durata minima a iniţiativei este de 26 săptămâni. D. ti 5 6 4 3 1 4 14 12 2 R. deoarece activitatea C are o marjă de 3 zile. Tabelul 2. b) Dar dacă activităţii C îi sunt necesare 11 zile.F Finalizarea contractelor cu B. G. Activităţile critice sunt A. a) Nu. 7. F şi durata proiectului este de 16 zile. E. iar creşterea duratei este doar de 2 zile.C chiriaşii Instalarea chiriaşilor G. − bi – cea mai pesimistă durată pentru activitatea i. F.38 Modele şi algoritmi de optimizare a) Să se precizeze dacă se modifică drumul critic în acest caz. Să se stabilească durata minimă şi care sunt activităţile critice ale acestei iniţiative. .6 . şi drumul critic este compus din activităţile C.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. se modifică drumul critic? R.H Activitate A B C D E F G H I Timpul necesar Realizării (în săptămâni). Un depozit angro doreşte să se modernizeze şi să se extindă. b) Da.

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

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

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). 8.50 = 0.9 Activitate A B C D E Activitate precedentă Nici una Nici una Nici una A. În Tabelul 2. Tabelul 2.21.9 sunt date duratele şi condiţionările acţiunilor acestui proiect. a) Diagrama este dată de Figura 2. TF şi marja pentru fiecare activitate.21 E6 . b) Să se calculeze DS. TS. Restricţiile impuse de ordinea acţiunilor: − excavarea nu poate începe decât dacă: – utilajele au fost livrate. B. B4 D5 STAR A1 STO C8 Figura 2. Grafuri în optimizare 41 d) Probabilitatea ca durata proiectului să fie mai mică de 16 zile este P (T proiect < 16 ) = 0. ti 10 4 8 5 6 a) Să se traseze diagrama grafului asociat proiectului. C C Timpul necesar realizării (în luni).2.32 . c) Să se precizeze lungimea drumului critic şi activităţile incluse în drumul critic. – conductorii de utilaje au fost angajaţi. presupunând că DF şi TF pentru ultima activitate coincid. DF. R.

Tabelul 2. D şi are lungimea 15. E H F.5 2. cea mai probabilă şi cea mai pesimistă de realizare a acestui proiect.5 2. E. Activităţile critice sunt A.10.11 .5 3 A B C D E F G H I J Să se precizeze activităţile critice. . G.72 . O firmă producătoare de aspiratoare îşi propune să introducă în fabricaţie aspiratoare portabile.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. 9. I Durata realizării (în săptămâni) cea mai cea mai cea mai pesimistă probabilă optimistă 4 1 2 3 2 1.28 . H. J şi duratele cea mai optimistă 14.5 1. R.5 7. duratele: cea mai optimistă.5 3 4 3 2 3 3. I. Pentru aceasta iniţiază un proiect ale cărui activităţi şi durate sunt trecute în Tabelul 2. Tabelul 2.10.5 1.5 2 2 12 5 4 11 4 2. cea mai probabilă 17 şi cea mai pesimistă 19.5 4.42 Modele şi algoritmi de optimizare b) Valorile cerute sunt conţinute în Tabelul 2.5 1 5 1. 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

x3 − vectorul variabilelor asupra cărora se impun condiţii de nepozitivitate. x2 − vectorul variabilelor asupra cărora nu se impun condiţii de semn. 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. x oarecare. j ≤ 3) . 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.1.21) sau forma canonică (4. x ≤ 0 unde x1 este vectorul variabilelor asupra cărora se impun condiţii de nenegativitate. Prin x≥ 0 se va înţelege că fiecare componentă a vectorului x este nenegativă. Aij − submatrice a matricei A .2. Orice problemă de forma (4.20) poate fi adusă la forma standard (4.56 Modele şi algoritmi de optimizare 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 .22’) Observaţia 4. cea mai generală problemă de programare liniară are forma (Zidăroiu. ale cărei elemente sunt coeficienţii componentelor vectorului xj .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. Diferite forme ale problemelor de programare liniară Scrisă matriceal.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. iar bi sunt subvectori ai vectorului b (1 ≤ i.22) ⎨ Ax ≥ b ⎪x ≥ 0 ⎩ ⎧max c ′x ⎪ ⎨ Ax ≤ b ⎪x ≥ 0 ⎩ (4.

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

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

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

La baza algoritmului simplex stau următoarele observaţii ce rezultă din teoremele prezentate în continuare (Zidăroiu.2.35) z B = ∑ ci y ij = c ′ ⋅ y B . atunci programul de bază corespunzător bazei B. 1983). B={indicii variabilelor de bază}. Pentru simplificarea scrierii renunţăm la indicele superior B.2. S={indicii variabilelor secundare}. i∈ B. j B j i∈B (4. . j j∈S ( ) (4. Teorema 4.34) unde z B = ∑ ci xiB = c ′ ⋅ x B .60 Modele şi algoritmi de optimizare xB = x − ∑ yBxj j B j∈S (4.31). xS =0) este optim.31) sau pe componente B xiB = xiB − ∑ y ij x j . ej fiind vectorul unitate. Pentru j∈ B. y B = B −1 a j = e j . B i∈B (4. j Folosind (4. înţelegându-se că este vorba de elementele corespunzătoare bazei. Dacă zj−cj ≤ 0.36) α j = −( z j − c j ) sunt numiţi coeficienţi de cost redus sau coeficienţi de cost relativ.32) (4. j∈S (4. (∀) j∈ S. (xB=B−1b. Observaţie 4.33) unde x B = B −1 b y B = B −1 a j j iar: aj este coloana j a matricei A . 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 .31’) (4.

pentru (∀) i∈B. Dacă (∃)k∈ S . Demonstraţie. Dacă există mai mulţi indici k pentru care zk−ck > 0. x atunci x k ≤ i .4. deoarece xj≥0 rezultă că ∑ z B − ci x j ≤ 0 j ( ) j∈S şi atunci z > z B . atunci pentru a păstra xi ≥ 0 . (∀)i ∈ B cu proprietatea că yik > 0 . Dacă (∃)k∈ S cu zk−ck > 0. dar (∃) yik > 0.5.3. Observaţia 4. atunci programul asociat bazei B nu este optim ∑ z B − ci x j > 0 . Demonstraţie. cu zk−ck > 0. Dacă zk−ck > 0. Teorema 4. Dacă există k ∈ S cu proprietatea că zk−ck>0. ar fi preferabil să se aleagă acela pentru care xl (z k − c k ) y lk . ( xj=0 pentru j∈S – {k}). 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 . Atunci creşterea maximă a y ik lui xk este dată de (4. Dacă yik ≤ 0 (∀) i∈B atunci xiB = xiB − y ik x k . ştiind că x i = x i − y ik x k ≥ 0 . (4. dedusă din B prin înlocuirea coloanei al cu coloana ak. Programare liniară 61 Demonstraţie. şi dacă yik ≤ 0.37) i yik > 0 y y lk ik ~ pentru care se obţine un nou program de bază. Pentru orice alt program x . atunci problema are optim infinit. 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.3. Demonstraţie. Teorema 4.37). asociat bazei B . 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. Dacă yik > 0 (∀)i∈B. Pentru acest program valoarea funcţiei obiectiv este z B . iar creşterea lui xk nu face negativă nici o componentă de bază.4.

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

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

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

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

2 . 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. iar la iteraţia a doua a ieşit din bază x5 şi a intrat x2 .3. arată că soluţia optimă face egalităţi doar restricţiile 1 şi 3 .2 . Valorile variabilelor auxiliare x3=0 .66 Modele şi algoritmi de optimizare b) Tabelul simplex şi calculele aferente Calculele corespunzătoare primei iteraţii sunt pezentate în Tabelul 4. Iteraţia a doua este prezentată în Tabelul 4.6 şi se obţine pentru x1=1. c) Culegerea rezultatelor din tabelul simplex final Maximul funcţiei de optimizat este 21. x5=0 .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 .4. 4 CVB 0 VB x3 VVB 8 x1 2 Tabelul 4. x4=9. x2=5. x3=0 .6 . Soluţia de bază este nedegenerată. .

4. ca în Figura 4.2. .1. În fereastra Problem Features precizăm numărul de variabile. de restricţii şi tipul problemei.1 După apăsarea butonului OK. apare fereastra în care se introduc coeficienţii funcţiei obiectiv şi restricţiile problemei. Programare liniară 67 Tabelul 4. 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. ca în Figura 4.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. Figura 4.4.6 0 0 9 5 0 Vom rezolva această problemă utilizând pachetul de programe Management Scientist. Selectăm acest modul şi în fereastra care apare din submeniul File alegem New.

200 5.000 18.5 Objective Function Value = Variable -------------X1 X2 Constraint -------------1 2 3 21.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 9.000 24.200 0.000 Dual Prices -----------------1.000 OBJECTIVE COEFFICIENT RANGES Variable -----------X1 X2 Lower Limit --------------No Lower Limit No Lower Limit Current Value --------------4. dacă o variabilă este deja pozitivă.400 Value --------------1. Tabelul 4.68 Modele şi algoritmi de optimizare Figura 4.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.600 Reduced Costs -----------------0. . 1998). atunci costul redus este zero. pentru rezolvare se apasă butonul Solve şi apare fereastra cu rezultate ca în Tabelul 4.000 3.000 0.000 0.600 Slack/Surplus --------------0.2 După ce s−au introdus datele.800 0. 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.5. Astfel.

3. H8= B8*D13+C8*D14. H9= B9*D13+C9*D14. atunci variabilele auxiliare sunt nenule. Figura 4. altfel vor fi nule.5 se referă la: − Slack/Surplus – această coloană dă valorile variabilelor auxiliare. Dacă restricţiile sunt verificate cu inegalităţi stricte. 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. Aceeaşi problemă poate fi rezolvată şi utilizând Solver-ul din Excel. din cauza nefolosirii integrale a resurselor disponibile.6. ca în Figura 4. Programare liniară 69 Informaţiile despre restricţii (Constraint) din Tabelul 4. iar celula D3 = B10*D13+C10*D14. funcţia de optimizat. Î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. Analiza sensibilităţii prezentată mai sus se bazează pe faptul că un singur termen liber variază la un moment dat. 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ă.3 . Pentru restricţiile cu inegalităţi stricte aceste preţuri sunt nule. celulele H7−H9 conţin restricţiile problemei H7= B7*D13+C7*D14. Celulele D13−D14 sunt considerate necunoscutele x1 – x2 . Pentru restricţiile verificate cu egalitate aceste preţuri vor fi nenule. Mai întâi se creează foaia electronică de calcul cu datele de intrare. Observaţia 4. ceilalţi rămânând la valorile iniţiale.4.

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

6. Tabelul 4. Se apasă butonul OK după precizarea tipurilor de rapoarte.2 5.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. Se creează Answer Report (Raport răspuns). Sensitivity Report (Raport sensibilitate).6 Reduced Cost 0 0 Objective Coefficient 4 3 Allowable Increase 2 9 Allowable Decrease 3 1 . Limits Report (Raport limite) ca în Tabelele 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.8 18 1.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. Programare liniară 71 formele de prezentare a rezultatelor.2 5.7 şi respectiv 4.8. 4.2 0 1.2 5.xls]Sheet1 Report Created: 7/23/2002 7:38:01 AM Target Cell (Max) Original Final Value Value 0 21.0 Answer Report Worksheet: [Programare liniara.2 5.7 Microsoft Excel 10.6 1.6 Tabelul 4.4.0 Sensitivity Report Worksheet: [Programare liniara.

atunci nici o bază nu se poate repeta (fiecărei baze îi corespunde un program de bază.57142857 1E+30 6 Allowable Decrease 2 9.6 Se obţin aceleaşi rezultate pentru funcţia obiectiv şi pentru valorile necunoscutelor ca şi cu Management Scientist.6 21. Această situaţie se numeşte ciclare. Deoarece m numărul bazelor este finit (cel mult C n ).2 14 Tabeleul 4.1) din enunţul algoritmului simplex.H. 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. adică dacă programul este degenerat.2 5.6 Lower Limit 0 0 Target Result 16. rezultă (Zidăroiu.8 4.0 Limits Report Worksheet: [Programare liniara.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. este posibil să revenim la una din bazele prin care am trecut deja. deci o valoare bine determinată a funcţiei obiectiv).8 Upper Limit 1. Convergenţa algoritmului simplex. Dacă valoarea funcţiei obiectiv nu se modifică în cursul câtorva iteraţii succesive. .72 Constraints Final Cell $G$13 $G$14 $G$15 Name 2x1+x2<=8 3x1+2x2<=24 x1+3x2<=18 Value 8 14.2 5.8 Microsoft Excel 10.6 Value 21. şi atunci procesul devine infinit fără a conduce la soluţie. Degenerare şi ciclare Dacă în cursul aplicării algoritmului simplex valoarea funcţiei obiectiv scade la fiecare iteraţie.6 Target Result 21.8.8 0 0. 1983) că într-un număr finit de iteraţii se ajunge la una din situaţiile a.8 18 Shadow Price 1.4 Modele şi algoritmi de optimizare Constraint R.1) sau b. 4. Side 8 24 18 Allowable Increase 6.

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

4. Disponibilul de materii prime. M3. P2 . mergând de la stânga spre dreapta. sau cu cea lexicografică a lui Dantzig şi Wolfe .9. deoarece toate coloanele sunt în ciclu. Îndepărtarea situaţiei de ciclare se poate face şi cu metoda perturbării a lui A. M4 . 1978). Interpretarea geometrică a algoritmului simplex Rezolvarea problemelor simple de programare liniară (n=2 sau n=3) se poate face şi geometric. Tabelul 4.74 Modele şi algoritmi de optimizare din bază şi atunci b=0. 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 . în momentul când unul dintre rapoarte este mai mic decât celelalte. Să considerăm cazul când an este în situaţia de a intra în bază.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 . precizăm variabila care iese din bază ca fiind cea care corespunde raportului minim (Zidăroiu. Charnes. M2.9. . iar aip≤0 . Popescu. consumul specific şi profitul unitar pentru fiecare tip de produs sunt date de tabelul 4. (∀ )i ≠ n . 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 . respectiv. ( ) Contradicţie cu faptul că r p ≤ 0 . Observaţia 4. Realizarea a două produse P1 şi P2 se face folosind patru materii prime M1.8. Pentru exemplificare considerăm următoarea problemă (Mihăilă. pentru ca profitul total să fie maxim. 1983). 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.

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

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

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

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

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

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

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. dar în timp ce o problemă este de minim.20). cealaltă este de maxim.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.20) este următoarea problemă de programare liniară .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.82 Modele şi algoritmi de optimizare Tabelul 4.12. atunci ele sunt egale. Fie problema de programare liniară sub forma generală (4. Problema duală asociată problemei (4. Vom demonstra că dacă valorile optime ale funcţiilor obiectiv sunt finite.

e) variabilele duale (primale) asociate unor restricţii primale (duale) concordante sunt supuse condiţiei de nenegativitate. 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ă. u 2 − arbitrar. f) variabilele duale (primale) asociate unor restricţii primale (duale).47) . 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.44) formează un cuplu de probleme duale.44) Duala dualei este chiar problema iniţială.20) şi (4.45) (4. b) coeficienţii funcţiei obiectiv din problema primală devin termeni liberi în problema duală.46) (4. De aceea. care sunt ecuaţii. 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. nu sunt supuse nici unei condiţii privind semnul. u 3 ≤ 0 ⎩ ( ) (4. c) o problemă de maximizare (minimizare) se transformă într-o problemă de minimizare (maximizare). (4.4. d) matricea coeficienţilor sistemului de restricţii pentru problema duală este transpusa matricei coeficienţilor sistemului de restricţii ale problemei primale.

1≤ j ≤ n . 4.50) ⎨ A1 u + A2 u ≤ c ⎪u1 ≥ 0 .46) formează un cuplu de probleme duale asimetrice. − duala unei probleme mixte ⎧min c ′x ⎪ ⎪ A1 x ≥ b1 (4.45) dacă verifică relaţia (4. ⎜ i =1 ⎟ j =1 ⎪ ⎝ ⎠ ⎪ 1≤ i ≤ m . Definiţia 4. O bază B din matricea A se numeşte primal admisibilă pentru problema (4. ⎪u . Teorema fundamentală a dualităţii Fie problema primală sub forma standard (4.45) şi (4.11) este problema n ⎧ ⎛ m ⎞ ⎪max⎜ ∑ a i u i + ∑ b j v j ⎟ .49) ⎨ ⎪ A2 x = b2 ⎪x ≥ 0 ⎩ este problema ⎧max(b1′u1 + b2 u 2 ) ′ ⎪ t 1 t 2 (4. u 2 − arbitrar ⎩ − duala problemei de transport (4.8)-(4. care are tot forma canonică: ⎧max b ′u ⎪ t (4. ⎨u i + v j ≤ c ij .48) formează un cuplu de probleme duale simetrice. j ⎪ i ⎪ ⎩ (4.52) B −1 b ≥ 0 O bază B din matricea A se numeşte dual admisibilă pentru problema (4. ⎪u ≥ 0 ⎩ Problemele (4.1.46).84 Modele şi algoritmi de optimizare este următoarea problemă de programare liniară.51) În continuare sunt prezenate teoremele care stabilesc conexiunile fundamentale între cele două probleme duale. în timp ce problemele (4. v oarecare .48) ⎨A u ≤ c .45) dacă verifică relaţia (4.13.47) şi (4.45) şi duala sa (4.53) c ′B −1 A − c ′ ≤ 0 .

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

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

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

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

14. B y lk (∀) j ∈ S~ . adică u ′~ b ≥ u ′ b .40) rezultă că ~ z = z − z − ck B B k ( ) xr . adică )1 ~ B este o bază dual admisibilă. 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ă. iar programul dual asociat u B este cel ~ puţin la fel de bun ca uB. Pentru j=l avem z lB − c l = − z kB − c k ~ ( Aşadar. ~ B 4. Din relaţiile (4. 1 ≤ j ≤ n ). sau până la punerea în evidenţă a faptului că problema j primală are optim infinit. rezultă că z B − c j ≤ 0 pentru j care y ≥ 0 .8..4. zB − cj ≤ 0 j ~ are loc pentru ~ B <0. Conform cu relaţiile (4. B B ~ B Demonstraţie. y lk ( ) ( ) B fiind o bază dual admisibilă. Dacă pentru (∀) i ∈ B− .45) până la obţinerea unei baze primal admisibile care să fie şi dual admisibilă ( z B − c j ≤ 0 .40) avem B ~ y rj B B B z j − c j = z j − c j − z k − ck B . Programare liniară 89 Teorema 4. . (∃) j ∈ S astfel încât y ij < 0 şi alegem l∈B− arbitrar. numit algoritmul simplex dual. Algoritmul simplex primal explorează bazele primal admisibile ale problemei (4. B astfel obţinută este o bază (deoarece y lk ≠ 0 şi se verifică ipotezele Lemei substituţiei). Algoritmul simplex dual Prin aplicarea algoritmului simplex la problema duală se obţine un nou algoritm pentru problema iniţială. 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. Fie B o bază dual admisibilă pentru problema primală (4. j ∈ S . 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 .45) şi B B−≠φ.

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

57) ne permite să afirmăm că noua soluţie va fi din nou dual admisibilă. 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. y B = B -1a j . 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. se calculează x = B -1b . Se înlocuieşte în baza B coloana l cu coloana k . Pas 0. atunci programul este optim. Se calculează ~ ~ ~ ~ y lj B x x x B B x l = l . z j − c j = z j − c j − (z k − c k ) ~ B y lj y lk . y lk 1 ≤ i ≤ n .4. b) Criteriu de intrare în bază 1) dacă toţi ylj ≥ 0 . y ij = . a) Criteriu de ieşire din bază 1) dacă toţi x i ≥ 0 . Să considerăm problema dietei §4. atunci se determină l astfel încât x l = min x i x i < 0 { }. înlocuind B cu B .1.57) Pas 2. Exemplu. În continuare sunt prezentate câteva observaţii privind algoritmului de mai sus. în matricea A . z = c ′ x B B B B . a) alegerea lui k în relaţia (4. Stop! 2) dacă (∃)xi < 0 . Stop! 2) dacă (∃) y lj < 0 . atunci problema nu are programe. d) deoarece există numai un număr finit de baze. Se determină o bază dual admisibilă B . particularizată astfel: . obţinându-se noua bază ~ B . Pas 1. atunci se determină k astfel încât ε0 = zj − cj z k − ck = min j ylj <0 y lk y lj (4. 1 ≤ j ≤ n j B aj fiind coloane ale matricei A. z j − c j .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. x iB = x i − y ik i (i ≠ l ) .5. b) din relaţia (4. 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 . optimul trebuie să fie obţinut într-un număr finit de iteraţii. 1≤ j ≤ n ~ şi se trece la pasul 1.

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. Valoarea funcţiei obiectiv este min f=10. iar la iteraţia a doua iese din bază x4 şi intră x2.15.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. Rezultatele sunt trecute în Tabelul 4. Tabelul 4.14. La prima iteraţie iese din bază x5 şi intră x1.5 ⎩ i obţinută din precedenta prin înmulţirea primelor două restricţii cu –1. 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. deoarece valorile pentru x4 şi x5 sunt negative.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. 4. iar zj−cj sunt nepozitive. obţinută pentru x1=1 şi x2=2 . 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.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.14 . Interpretarea economică a algoritmului simplex dual Pentru exemplificare ne vom referi la problema utilizării eficiente a resurselor (Dragomirescu şi Maliţa.

4. 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 . 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. −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. . iar costul total al resurselor să fie minim. 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 .

x2 formează o bază care nu este primal admisibilă pentru că x1= − 4 . Dacă nu toţi coeficienţii funcţiei obiectiv sunt nenegativi. Pentru a face pozitivi toţi coeficienţii funcţiei obiectiv. + xν k = M . Atunci cν f = max c j = c 4 = −2 şi x4=M−x3−x6. se introduce o restricţie nouă (Maliţa şi Zidăroiu.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. În plus. 4. introducem relaţia suplimentară x 6 + x 3 + x 4 = M .. 1971) x n +1 + xν 1 + xν 2 + .16. deoarece în acest caz zi−ci= −ci ≤ 0. 1 ≤ i ≤ 5 ⎩ x1. xn+1 o nouă variabilă. Se obţine o j c j <0 { } nouă problemă care are toţi coeficienţii funcţiei obiectiv 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. cu M suficient de mare. 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. egalitatea se realizează doar pentru programele optime de producţie şi pentru costuri interne optime. 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 . iar variabilele care corespund coeficienţilor cν r < 0 . Determinarea unei soluţii dual admisibile Dacă toţi coeficienţii funcţiei obiectiv sunt nenegativi. se înlocuieşte xν f din restricţia suplimentară în funcţia obiectiv. Relaţiile Teoremei ecarturilor complementare scrise sub forma n ⎛ ⎞ ⎛ m ⎞ u i ⎜ bi − ∑ a ij x j ⎟ = 0 . 1 ≤ r ≤ k . Exemplu xν r .. Dacă cν f = max c j c j < 0 . 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. 1 ≤ i ≤ m şi x j ⎜ ∑ a ij u i − c j ⎟ = 0 .

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

5x1+4x2+3x3} ⎧2 x1 + 3x 2 + 2 x 3 ≤ 15 ⎪ x + 2 x + 3 x ≤ 12 ⎪ 1 2 3 . Datorită condiţiilor impuse de stocare întreaga producţie nu trebuie să depăşească 8 unităţi. R.3 ⎩ Se obţine soluţia max f=20. P3 .4 pentru x1 = 0 . precum şi beneficiile aduse de o unitate de fiecare tip de produs.2 x 2 + 0. P2 .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.2 . i = 1.6 după introducerea variabilelor ecart Se obţin următoarele rezultate: max f=680 realizat pentru x1=200 . sunt necesare pentru fabricarea de panouri pentru cofraje 4 tipuri de materii prime (panel (P). x3=0 . x2=400 .2 .15. În urma modelării acestei probleme se obţine următorul program liniar: max f = max{1. x6=200 . unde se lucrează în flux continuu de bandă.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 .96 Modele şi algoritmi de optimizare ⎧max{x1 + 1. dulapi (D). x2 = 4. Profitul este maxim dacă nu se produce beton de tipul B300. Variabilele auxiliare x4=0 . i = 1.15 Tip produs P1 P2 Rezerve F B Profit 2 1 1. 3. cuie (C)) care . 3 ⎧max{x1 + 1. 2. folosind rezerve de forţă de muncă (F) şi resurse financiare (B) limitate conform Tabelul 4. iar cea de-a treia cu inegalitate. x3 = 1. 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. ⎨ x1 + x 2 + x 3 ≤ 8 ⎪ ⎪ x i ≥ 0 . Tabelul 4.2 x 2 + 0. La o secţie de producţie a unei întreprinderi de construcţii. x5=0 . Într-o secţie a unei întreprinderi se produc trei tipuri de produse P1.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. scândură de brad (SB). i = 1.

celelalte fiind în cantităţi suficiente oricărui plan de producţie.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 . pentru nivelurile de consum de materiale x1=0 . x2=1. necesar de panouri 2 4 3 Să se determine un plan de producţie astfel încât cheltuielile să fie minime. i = 1. 4. M2 pe unitatea de produs pentru fiecare tip.17. O secţie a unei întreprinderi are în fabricaţie 7 tipuri de produse. R. Consumurile de materii prime M1 .4. P1−P7 . Două materii prime (M1 .4 ⎩ Se obţine soluţia min f = 29 . Programare liniară 97 sunt prelucrate la 3 standuri.5 . Trebuie rezolvată următoarea problemă de programare liniară: max f = max{6x1+5x2+2x3+6x4+6x5+5x6+6x7} . ⎨ ⎪ x 2 + x3 + x 4 = 3 ⎪ x i ≥ 0 .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. Tabelul 4. 200 şi respectiv 300 unităţi.16. M2 ) necesare realizării acestor produse sunt în cantităţi limitate. 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ă. Repartiţia materiilor prime şi a cheltuielilor de muncă necesare prelucrării pe cele 3 standuri este dată de Tabelul 4. x3=1 . P2 s-a propus ca măcar 25% din întreaga producţie a secţiei să fie reprezentată de aceste produse. x4=0. R. Tabelul 4. precum şi beneficiile nete aduse de producerea unei unităţi din fiecare tip de produs sunt date în Tabelul 4.5 . 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 .

De aceea se aplică metoda în două faze. min f = min{8x1+7x2+5x3} ⎧4 x1 + 3x 2 + 2 x 3 − x 4 = 24 ⎪5 x + 7 x + 2 x − x = 35 ⎪ 1 2 3 5 . cantităţile minime necesare organismului în cele 3 substanţe. A2 . S2 . 5. ⎨ ⎪ x1 + 5 x 2 + 4 x 3 ≥ 40 ⎪ x i ≥ 0 . i = 1. precum şi preţurile celor 3 alimente sunt trecute în Tabelul 4.23 .6 ⎩ Se obţine min f = 56 . x6=0 . cu ajutorul alimentelor A1 . S2 .77 . x4=0 . ⎨ ⎪ x1 + 5 x 2 + 4 x 3 − x 6 = 40 ⎪ x i ≥ 0 . dar nu are o bază canonică evidenţiată. S3 .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 . adică x1=0 .77 pentru x1=19. ce se găsesc într-o unitate de aliment de fiecare fel. Cantităţile de substanţele S1 . Î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= x3= x4= x5=0 . Tabelul 4. x5=21 . A3 . x2=26.7 ⎩ Se obţine max f =430. astfel încât costul total al meniului să fie minim .92 . 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.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. . x3=0 . x2=8 . x2=30.3 ⎩ După introducerea variabilelor de compensare se obţine problema sub forma standard. S3 . i = 1. Problema dietei alimentare (problemă de amestec) Un meniu trebuie să asigure necesarul în substanţele S1 . R.18. i = 1.

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

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

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

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

11). Dacă această procedură poate fi continuată până când toate liniile au fost eliminate. jt ) . x ij c ij − u i − v j = 0. dacă şi numai dacă ∑ xij = ai . Se reia pasul 1 cu submatricea obţinută. (i1 . ( ) Definiţia 5. . iar prin ciclu se înţelege un şir de celule notate (i1 . Folosind algoritmul de mai sus. să stabilim dacă matricea ⎛1 1 0 0 0⎞ ⎜ ⎟ ⎜ 0 0 1 0 0⎟ B = ⎜0 0 0 1 1⎟ ⎜ ⎟ ⎜1 0 0 1 0⎟ ⎜ ⎟ ⎝0 0 1 0 1⎠ este triunghiulară.2. Exemplu. (i2 . v ) i j este optim pentru problemele (4. j1 ) . Pas 2. (rezultă din Teorema ecarturilor complementare). respectiv (4. În continuare vom evidenţia cea mai importantă proprietate structurală a problemei de transport: toate bazele sunt triunghiulare. j =1 n ∑x i =1 m ij = b j . Problema de transport 103 Teorema 5. În cele ce urmează prin celulă se înţelege o pereche de indici (i.1.8)-(4. Pas 1. Se găseşte linia care are un singur element nenul. (it . O matrice inferior triunghiulară este triunghiulară în sensul definiţiei de mai sus. Cuplul de soluţii duale (x ) ij şi (u . j 2 ) . Se formează o submatrice din matricea dată prin tăierea liniei şi coloanei elementului nenul din pasul 1. j1 ) .j). 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. atunci matricea este triunghiulară.51).5. Din ultima condiţie rezultă că pentru x ij > 0 se obţine c ij = u i + v j . Algoritm pentru a determina dacă o matrice este triunghiulară. j1 ) . 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ă. x ij ≥ 0 c ij − u i − v j ≥ 0 . 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. L . O matrice nesingulară superior triunghiulară este de asemenea triunghiulară deoarece prin schimbarea ordinii liniilor şi coloanelor sale devine inferior triunghiulară. (it .

ordinea coloanelor corespunzătoare elementului nenul. n ⎪ i =1 ⎩ Schimbăm semnul la primele m ecuaţii şi atunci matricea coeficienţilor este formată numai din − 1 .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. iar sub matricea B.3. Considerăm sistemul de restricţii din problema de transport: ⎧n ⎪∑ x ij = a i (− 1) i = 1. +1. Din Teorema 5. m ⎪ j =1 ⎨m ⎪∑ x ij = b j j = 1.a.d. Teorema 5. Orice bază a problemei de transport este triunghiulară.1. Demonstraţie. cu A inferior triunghiulară permite determinarea lui x1 din prima ecuaţie. 0. ştergând oricare dintre ecuaţiile de mai sus. apoi x2 din cea de-a doua ecuaţia ş. Din matricea coeficienţilor care rezultă se formează o . se elimină redundanţ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ă.m. Sistemul de ecuaţii Ax=b . ⎛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 ⎟ . 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.

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

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

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

2 Să rezolvăm aceeaşi problemă utilizând Solver-ul din Excel. Figura 5.3. efectuând paşii descrişi în continuare.114 Modele şi algoritmi de optimizare Figura 5. Pentru aceasta creăm foaia de calcul cu datele de intrare ca în Figură 5.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

5 1. de la R2 pentru S1 7 tone şi pentru S3 14 tone. de la R3 pentru S1 12 tone şi pentru S2 11 tone. se obţine costul minim Cmin=200 u.10 . Cele două fabrici au capacitate de producţie nelimitată. utilitatea fiecărui candidat pentru firmă depinde de postul pe care este angajat. O firmă textilă are două fabrici. fiecare putând ocupa oricare loc vacant cu acelaşi salariu. 2. Transportând de la R1 pentru S2 17 tone. b) Dacă fabrica A are o capacitate de producţie de 8 tone şi fabrica B de 7 tone. studii şi experienţă.m. 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. dar datorită deosebirii de aptitudini.11.120 Staţie Rampă Costuri (u. angajat pe unul din cele trei posturi vacante. sunt trecute în Tabelul 5. . O firmă are nevoie să angajeze în trei posturi vacante trei persoane cu calificări diferite.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. 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. 3. R.m. Tabelul 5.) 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. Veniturile anuale ale firmei de pe urma fiecărui candidat. 14 respectiv 3 tone de produse finite. doi furnizori de materii prime şi trei centre de desfacere. Pentru aceste posturi sunt trei pretendenţi. să se descompună problema în două probleme de transport şi să se rezolve.10 Fabrică A Furnizor 1 2 1 2 B Fabrică 1.

r2=130 . care le poate spăla rapid (de pe o zi pe alta) cu un preţ c1=6 u. Problema de transport Tabelul 5. Să se determine costul minim pentru a asigura feţe de mese curate în fiecare seară. r1=100 .m. O firmă care organizează mese festive trebuie să servească în fiecare seară câte un banchet. Repartizând candidatul 1 pentru funcţia 3.5. firma obţine un câştig maxim de 24 . Pentru fiecare zi i sunt necesare ri feţe de mese curate. candidatul 2 pentru funcţia 1 şi candidatul 3 pentru funcţia 2.m.. 4. cu un preţ c2=4 u. 5. r3=150 . R. Firma poate şi să cumpere feţe de mese la un preţ c0=12 . iar timpul minim necesar realizării celor trei proiecte este de 26 săptămâni. r4=140 . Stocul iniţial de feţe de mese este s=200.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. timp de 4 zile. sau normal (la două zile). echipei 2 i se va repartiza proiectul 3. 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. Feţele de mese murdare se trimit la curăţătorie. .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. echipei 3 i se va repartiza proiectul 1. astfel încât câştigurile firmei să fie maxime. 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.12. Tabelul 5. Echipei 1 i se va repartiza proiectul 2.

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

2. iar restricţiile sunt liniare. xn . m j x1j .n ⎪ ⎩ Am obţinut din nou o problemă de optimizare în care funcţia obiectiv este o formă pătratică. presupunând cunoscute k observaţii asupra lui y şi xi . Programare pătratică 123 6.6.+ an⋅ xn. an se impun condiţii suplimentare.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 ⎟ .. Problema investiţiei Să presupunem că există mai multe domenii în care se pot face investiţii. 6. ⎟ ⎜ j =1 i =1 ⎠ ⎝ Asupra parametrilor a1..3..1. an ... anume D1.. . Se pune problema estimării parametrilor a1.. Dn . . . .3) ⎨∑ a ij ⋅ x j ≤ bi ⎪ j =1 ⎪ x j ≥ 0 j = 1..1. Regresii liniare Presupunem că avem o mărime y care depinde liniar de variabilele x1... .. astfel y=a1⋅ x1+ . 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.. 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 . de tipul m a i− ≤ a i ≤ a i+ sau ∑α i =1 n ri ⋅ ai ≤ c r 1≤ r ≤ p .. x m .... i = 1...

Q(x) se numeşte formă pătratică pozitiv semidefinită dacă n+<n şi n−=0 ..2. atunci avem n+ + n− ≤ n . atunci forma pătratică este nedefinită. 6. 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.. xn)’ . cn ) . adică dacă Cij≠Cji. ..2. C ∈ M n .1.. iar c ′ = (c1 . Dacă notăm cu n+ şi cu n− numărul pătratelor care au coeficienţii pozitivi şi respectiv negativi... Definiţia 6. Proprietăţi Fie f o funcţie de gradul al doilea în x1. 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. omogene şi independente (reducerea la forma canonică a formelor pătratice cu metoda lui Gauss). Definiţia 6. ⎨ n j =1 + ⎪ α ⋅ a ≤ c . Dacă n+ > 0 şi n−> 0.. Q(x) se numeşte formă pătratică negativ definită dacă n− = n şi n+= 0 .. Definiţia 6.n (R ) şi Cij=Cji (în caz contrar. . .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 ⎠ ⎝ . Definiţii. Q(x) se numeşte formă pătratică pozitiv definită dacă n+ = n şi n– = 0 . Definiţia 6... 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. Q(x) se numeşte formă pătratică negativ semidefinită dacă n−< n şi n+ = 0 .3.4. 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.

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

Numim această formă a problemei de programare pătratică forma canonică. A ∈ M mn (R ) . a ≠ 0 . x2 x2 f ( x1 .1). C ∈ M n (R ) unde 1 x ′Cx + c ′x 2 este convexă. a b2 şi admite un minim unic (Figura 6. iar o formă pătratică semidefinită este cilindrul parabolic. În inegalităţile (6. ci o dreaptă paralelă cu planul x1Ox2) (Figura 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ă. x 2 ) = a 2 x12 . f ( x) = (6. inegalităţile respective se înmulţesc cu –1). 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. b ≠ 0 . .4) Exemplu. cu concavitatea îndreptată în sus (în acest caz nu avem un punct de extrem unic. În două variabile o formă pătratică pozitiv definită este paraboloidul eliptic. 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 .2). b ∈ R . a. f ( x1 . valorile bi sunt strict pozitive (dacă ar fi negative. x 2 ) = 12 + 2 .126 Modele şi algoritmi de optimizare Q[λ ⋅ x + (1 − λ ) ⋅ y ] ≤ λ ⋅ Q( x ) + (1 − λ ) ⋅ Q( y ) .4). Prin urmare.

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

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

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

Deoarece ∗ ) x . µ ∗ 3 = 0 .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 .11) cu µ ∗1 .13) există o soluţie optimă λ . µ 2 ≥ 0 . v > 0 . C 22 ⎟⎜ µ ∗ ⎟ ⎠⎝ ⎠ 12 . v . 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 .10) astfel încât b ′λ ∗ + h′µ ∗ = g ′z * .10) ( Din Teorema fundamentală a dualităţii (§4. v . iar pe cea de-a doua cu µ *3 ≥ 0 şi adunându-le.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 . µ 3 ≥ 0 .11) Înmulţind prima relaţie (6. z ≥ 0 ⎩ Duala problemei (6. 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 . µ ∗ pentru problema duală (6.13). 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 . ⎪ ⎩ (6. §4.9) (6. ⎩ (6. x . restricţiile corespunzătoare variabilelor x 1 . v 3 sunt verificate cu egalitate de către soluţia optimă a problemei duale (din Teorema ecarturilor complementare. µ ∗ 2 ≥ 0 .

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

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

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

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

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

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

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

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.

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

5 Cell $B$15 $B$16 $B$17 Final Value 3 0 1 $A$12 $B$15 $B$16 $B$17 Tabelul 6.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.000000477 0 Lagrange Multiplier 1 Constraints .0 Answer Report Worksheet: [Programare patratica.3 Microsoft Excel 10.140 Modele şi algoritmi de optimizare Tabelul 6.4 Microsoft Excel 10.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.

5 −0.5 Microsoft Excel 10.5 −0.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.0 Limits Report Worksheet: [Programare patratica.5 Upper Limit 3 0 1 141 Targe t 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 −0. Probleme propuse 1.5 Lower Limit 3 0 1 Target Result −0. 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. Programare pătratică Tabelul 6.6.5.5 −0.5 6.

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

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

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

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

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

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

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

42 0. 0 ≤ d 2 ≤ x2 f 3 (x3 ) = max[r3 (x3 ) + f 2 (x3 − d 3 )] . 0 ≤ xi ≤ x4 şi xi −1 = xi − d i = τ i ( xi . x4 – mărimea totală a investiţiilor. Pentru orice 1 ≤ i ≤ 4.28 0. Am precizat astfel domeniul de admisibilitate: ∆ i = [0. r1 fiind crescătoare 0 ≤ d 1 ≤ x1 deci: d 1 ( x1 ) = x1 .25 0. x4 ≤ S .48 0.62 S4 0 0. care este de cel mult S=5·109. d i ). Deoarece i =1 ∑ d i = ∑ ( xi − xi −1 ) = xi ≤ x4 i =1 4 4 luând x0=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).65 0.50 0. 0≤ d1 ≤ x1 Determinarea valorilor funcţiilor fi : ˆ f1 ( x1 ) = max r1 ( x1 ) = r1 ( d1 ) . Pentru analiza prospectivă xi +1 = xi + d i = τ i ( xi . 0 ≤ d 3 ≤ x3 f 4 (x4 ) = max[r4 (x4 ) + f 3 (x4 − d 4 )] . d i ).40 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 )] .33 0. xi –numărul total de miliarde investite în acţiuni la primele i societăţi.65 0. Programare dinamică Tabelul 7. d i ∈ ∆ i .41 0.53 Rezolvare Modelarea problemei Notaţii : di –numărul de miliarde investite în acţiuni la societatea i. 0 ≤ d 4 ≤ x4 .7. 1 ≤ i ≤ 4 . cu notaţiile din modelul teoretic obţinem ecuaţiile de recurenţă: f1 ( x1 ) = max r1 ( d1 ) . ri(di)− profitul adus de suma di investită în acţiunile la societatea i.78 0.90 S2 0 0. . 1 ≤ i ≤ 4 .1 Societatea Suma investită (în miliarde de lei) 0 1 2 3 4 5 Profitul în procente 149 S1 0 0.20 0. xi ] . 1 ≤ i ≤ 3 .45 0. 2 ≤ i ≤ 4 şi 0 ≤ d i ≤ xn .15 0.55 0.25 0.75 S3 0 0.

2. 3 cu 0 ≤ d 3 ≤ 0 . 3} f 2 (3) = max[r2 (0) + f1 (3) . 0. d 2 ∈ { 0. r2 (4 ) + f1 (1).1.41 + 0. r2 (1) + f1 (0)] = max[0 + 0. x2 = 5 f 2 (5) = max[r2 (d 2 ) + f1 ( x2 − d 2 )] .9.90 ˆ valoare obţinută pentru d=1. g 2 (3) + f1 (2 ). r2 (4) + f1 (0)] = = max[r2 (0) + f1 (5)..45.86. g 2 (1) + f1 (2). r3 (1) + f 2 (0)] = max[0 + 0.90. 0.55 + 0] = 0. r2 (3) + f1 (0)] = = max[0.65 + 0. r2 (1) + f1 (4 ). 2 x2=4 f 2 (4) = max[r2 (d 2 ) + f1 (4 − d 2 )] cu 0 ≤ d 2 ≤ 4 . 2} f 2 (2) = max[g 2 (0) + f1 ( 2) ..53 ˆ valoare obţinută pentru d=1.83. 0. Deoarece r2(0)=0 şi f1(0)=0 rezultă d2=0.15 + 0] = 0.28. d 2 ∈ { 0.41 + 0. 2..00.1. 0.28 ˆ obţinută pentru d (1) = 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 . r2 (1) + f1 (1). 0. 0. 0.28.06.45.9. r2 (5) + f1 (0)] = d 2 ∈ { 0. 1 } . 2 x2=2 f 2 (2) = max[r2 (d 2 ) + f1 (2 − d 2 )] cu 0 ≤ d 2 ≤ 2 .28.1.25 + 0.1} .06 obţinut pentru d2=2 .65.78. 1. d 2 ∈ { 0.45.65] = 0. 0. d (0) = 0 . 0.25 + 0] = 0. 0.41 + 0] = 0. 0. 4} f 2 (4) = max[r2 (0) + f1 (4) . 3.75 + 0] = = max[0.93.28 ˆ valoare obţinută pentru d (1) = 0 . 1. d 3 ∈ { 0.1. 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 . rezultă d (2) = 1 . Astfel ˆ (5) = 2 . r2 (2) + f1 (2) . 0.5} = max[0 + 0.70 ˆ rezultat obţinut pentru d=1 şi astfel d (3) = 1 . r2 (3) + f1 (1). rezultă d (4) = 1 .28. r2 (2) + f1 (0) ] = = max[0 + 0. r2 (2 ) + f1 (3). 0. d 2 x3 = 0 f 3 (0) = max[r3 (d 3 ) + f 2 (0 − d 3 )] ˆ rezultă d3=0. x2=1 f 2 (1) = max[r2 (d 2 ) + f1 (1 − d 2 )] cu 0 ≤ d 2 ≤ 1 .25 + 0. 0. 1. 0.55 + 0. 2 x2=3 f 2 (3) = max[r2 ( d 2 ) + f1 (3 − d 2 )] cu 0 ≤ d 2 ≤ 3 . r2 (1) + f1 (3). r2 (2) + f1 (1) .03. 0. 3 .28. d 2 ∈ { 0. 0. 0.25 + 0.75] = 1. f 2 (1) = max[r2 (0) + f1 (1) .65. 2 = max[0 + 0.78. f 3 (1) = max[r3 (0) + f 2 (1) .

0.43.45 0. r3 (2) + f 2 (3).28 0. 0. găsim pentru f4 valorile: f4(0)=0 şi d 4 (0) = 0 .2 x 0 1 2 3 4 5 d1 ( x) f1(x) 0 0. pentru d=0 s-a obţinut valoarea maximă şi rezultă d 3 (3) = 0 . f4(1)=0.0.53 şi ˆ d 4 (2) = 0 .70 0. 1.53 ˆ obţinută pentru d (2) = 0 .05.06 d 4 ( x) f4(x) 0 0. r3 (1) + f 2 (3).65 0.06 d 3 ( x) f3(x) 0 0.28 0. x3=5 f 3 (4) = max[r3 (d 3 ) + f 2 (4 − d 3 )] cu 0 ≤ d 3 ≤ 4 . f4(5)=1. 3 x3=2 f 3 (2) = max[r3 (d 3 ) + f 2 (2 − d 3 )] cu 0 ≤ d 3 ≤ 2 . 4} = max[0.78. f4(2)=0. 0.28 0.60] = 1.5] = 0.28 0. Centralizăm în Tabelul 7.1. 4} f 3 (5) = max[r3 (0) + f 2 (5) .90 f 3 (4) = max[r3 (0) + f 2 (4) . d 3 ∈ { 0. 0. f4(3)=0.25]= 0.1. 0. 3} = max[0. 3.1. r3 (3) + f 2 ( 2).40] = 0.9 şi ˆ ˆ ˆ d 4 (4) = 0 sau d 4 (4) = 1 .73 şi ˆ d 4 (3) = 1 .90.70 ˆ Aşadar. 0.53 0. rezultă d 3 (5) = 0 .90 1. 3. 2.90 1. 2. r3 (5) + f 2 (0)] = max[1. r3 (1) + f 2 (2). f4(4)=0. r3 (1) + f 2 (4).53 0.53. d 3 ∈ { 0. 0.53. r3 (3) + f 2 (1).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 .90 d 2 ( x) f2(x) 0 0.28 şi d 4 (1) = 0 .06.06 ˆ obţinut pentru d=0. d 3 ∈ {0. Tabelul 7.53 0. 2} f 3 (3) = max[r3 (0) + f 2 (3) . r3 (3) + f 2 (0) ] = x3=3 f 3 (3) = max[r3 (d 3 ) + f 2 (3 − d 3 )] cu 0 ≤ d 3 ≤ 3 .70 0. 0. 0. r3 (2) + f 2 (2). d 3 ∈ { 0.68.7.95.70. r3 (2) + f 2 (0) ] = max[0. r3 (1) + f 2 (1). r3 ( 4) + f 2 (1).85.93.90 1. rezultă d 3 (4) = 0 .73 0. Programare dinamică 151 f 3 (2) = max[r3 (0) + f 2 (2) .2 valorile găsite pentru f şi d . 2.78 0. x3=4 f 3 (4) = max[r3 (d 3 ) + f 2 (4 − d 3 )] cu 0 ≤ d 3 ≤ 4 . 0. 0. r3 (2) + f 2 (1).78. 0. ˆ ˆ Analog.1 şi d 4 (5) = 1 .68. 1. r3 (3) + f 2 (1) ] = ˆ valoare obţinută pentru d=0.

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

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

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. f(d)=0×12+5×11+2×20+2×15+5×13=190 .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). . rezultă Tabelul 7.154 Modele şi algoritmi de optimizare Tabelul 7. deoarece x4+d5=b5=2.8) avem x5=0 şi. d4=5 . Tabelul 7. d3=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 . d2=2 . d1=5 cu costul minim.7) se poate termina cu 0.

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

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

ˆ ˆ ˆ ˆ x A = x B − d B = 1 . adică se alocă un cercetător la proiectul C . B2.2 0.24 0.7.13 Tabelul 7.06 d C (x) 0 0 1 Valoarea soluţiei optimale este fC (x ) =0.192 0.11 157 x 0 1 2 fA(x) 0. adică la proiectul B nu se mai alocă alt cercetător. 7. Probleme propuse 1. dar d B = d B (1) = 0 .4 0.15 * ˆ d A ( x) 0 1 2 fB(x)* 0. astfel: ˆ ˆ xC = 2 şi d C = 1 . Tabelul 7.06 pentru alocarea ambilor cercetători. ˆ ˆ ˆ ˆ x B = xc − d C = 1 .096 0.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 . R. B3.12.3. Trecem rezultatele calculelor în Tabelul 7.12 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. Profitul adus de fiecare tip de locuinţă este dat de Tabelul 7. Programare dinamică Tabelul 7. însă d A = d A (1) = 1 .08 d B (x) 0 0 2 sau 1 fC(x)* 0.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. adică se alocă un cercetător la proiectul A.

0. Nu se poate depăşi capacitatea rezervorului care este de 900 t. Profitul maxim este de 97% . d 2 = d 2 ( x2 ) = 0 ˆ . d 2 = d 2 ( x2 ) = 1 ˆ ˆ ˆ d = d (x ) = 1 . 2. • să se găsească soluţia optimală folosind programarea dinamică. înainte de cumpărarea cantităţii di . ˆ ˆ ˆ ˆ ˆ ˆ b) d 3 = 3 . începutul perioadei i. timp de 6 luni – noiembrie-aprilie. Preţurile de cumpărare prevăzute pe tonă şi nevoile lunare sunt date de Tabelul 7. ˆ ˆ ˆ x1 = x2 − d 2 = 1 . 1. 1 milion în al doilea tip de locuinţe şi 2 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. b) (1. 1995): Perioada (i) Necesarul (bi) Preţul tonei (ci) 1 800 3300 Tabelul 7. x2 = x3 − d 3 = 1 .158 Modele şi algoritmi de optimizare Culegerea rezultatelor: ˆ ˆ ˆ ˆ ˆ ˆ a) d 3 = 2 . d i ≥ 0 ⎩ . Se doreşte minimizarea cumpărăturilor. xi stocul la sfârşitul perioadei i−1. dacă se investeşte suma astfel: a) (1.14 (Henry-Labordere. 2) . Problema achiziţionărilor de carburant Serviciul de aprovizionare al municipalităţii trebuie să asigure motorina pentru încălzirea oraşului. 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 . adică 1 milion în primul tip de locuinţe. x2 = x3 − d 3 = 2 . 3) . 1 1 1 . x3 = 4 . Fie: ci costul unei tone pe perioada i . x3 = 4 . bi necesarul pe perioda i.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. Să se precizeze cumpărăturile lunare şi stocul final. ˆ ˆ ˆ x1 = x2 − d 2 = 1 . atunci : • să se stabilească o relaţie între f i (xi +1 ) şi f i −1 (xi ) . adică 1 milion în primul tip de locuinţe şi 3 milioane în al treilea tip de locuinţe. ˆ ˆ d1 = d1 ( x1 ) = 1 . dar cu satisfacerea cererii pe întreaga perioadă. di cantitatea cumpărată la data de întâi a lunii i .

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

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 ∞

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

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

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

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

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

2500 0.1406 0. În ecuaţiile de stare (8.0445 0.7500 8. (m − n )λ ∆t = λ n ∆t şi atunci λ n = (m − n )λ .0791 0.0025 0. probabilitatea ca în intervalul de timp de lungime ∆t>0 să sosească un client în sistem este proporţională cu mărimea intervalului.1000 0. şi îl notăm cu µ .4).0079 0.0000 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. FIFO) Pentru acest model. Coeficientul µn nu depinde de numărul de clienţi din sistem la un moment dat. deoarece există o singură staţie. lungimea maximă a cozii este m<∞.2500 3.1055 0. În acest caz. obţinem ecuaţia − mλ p 0 + µ p1 = 0 ⇒ p1 = m λ p0 . înlocuind λn şi µn şi considerând µn+1 = 0.0250 0.4.0593 0.2500 2. coeficientul legat de servicii rămâne µn .0334 0.0075 0. În ecuaţiile de stare (8. Modelul Po(λ)/Exp(µ)/1:(m.0059 0. analog.0106 0.0045 0.0750 0. µ .170 Tabelul 8. coeficientul de proporţionalitate depinde de numărul n de unităţi aflate în sistem la momentul respectiv şi rămâne λn .0188 0.0141 0.0033 0.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.1875 0.

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 ) . Am = 1 . ⎜µ⎟ ⎜µ⎟ ⎝ ⎠ ⎝ ⎠ 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 . 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 . 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 ) . λ λ 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 . Elemente de teoria aşteptării 171 În cea de-a doua ecuaţie din (8.8. ⎜µ⎟ ⎝ ⎠ Luând n = 2. ⎟ 0 ⎝ 0 ⎠ .

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

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

0001 0.0758 0. având c staţii de servire paralele (identice în ceea ce priveşte timpul de servire).1517 0.0008 0.2 Modele şi algoritmi de optimizare WAITING LINES ************* NUMBER OF CHANNELS = 1 POISSON ARRIVALS WITH MEAN RATE = 0.0000 0. deoarece ieşirile din sistem sunt independente. t + + ∆t) este µ∆t + O (∆t) . Modelul Po(λ)/Exp(µ)/c:(∞.0092 0.8907 0.8014 8. . • probabilitatea ca în intervalul de timp ( t .5.0031 0. Fie N( t ) numărul mediu de clienţi din sistem la momentul t . • 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).0221 0. t + ∆t ) este λ∆t + O (∆t). • probabilitatea rămânerii unui client în sistem este 1 − µ∆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) .1137 0.3822 7.1986 1.1986 0. FIFO) Aceste modele generalizează modelele de aşteptare cu o singură staţie de servire.02083 EXPONENTIAL SERVICE TIMES WITH MEAN RATE = 0.1986 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.8907 11.1820 0.174 Tabelul 8.0442 0.5808 2. Atunci avem: • probabilitatea unei veniri în intervalul ( t . iar venirile sunt independente între ele. • probabilitatea unei ieşiri dintr-o staţie de servire în intervalul de timp (t .

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

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

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

(1 − x) 2 k =1 Aplicând în relaţia de mai sus. ⎜µ⎟ ⎝ ⎠ • Pentru determinarea numărului mediu de clienţi din sistem...178 Modele şi algoritmi de optimizare c +2 c +3 ⎡ ⎛ λ ⎞ c +1 ⎤ ⎛ λ ⎞ ⎛ λ ⎞ cc = p 0 ⎢1⎜ ⎟ + 2⎜ ⎟ + 3⎜ ⎟ + . ⎟ . x <1. µ 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 ) + ..) = ∑ 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 ) .⎥ = ⎜ µc ⎟ ⎜ µc ⎟ c! ⎢ ⎜ µc ⎟ ⎥ ⎝ ⎠ ⎝ ⎠ ⎣⎝ ⎠ ⎦ = Se ştie că ⎛ λ ⎞ cc p0 ⎜ ⎟ c! ⎜ cµ ⎟ ⎝ ⎠ ∞ c +1 2 ⎡ ⎛ λ ⎞ ⎛ λ ⎞ ⎤ ⎢1 + 2⎜ ⎟ + 3⎜ ⎟ .. obţinem că ⎛λ⎞ λ ⎜ ⎟ p0 + .. vom considera numărul de clienţi aflaţi în serviciu la un moment dat. care este acelaşi lucru cu numărul de staţii ocupate ns . µ • timpul mediu de aşteptare la coadă .⎥ . ⎜ cµ ⎟ ⎜ µc ⎟ ⎢ ⎝ ⎠ ⎝ ⎠ ⎥ ⎣ ⎦ 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 .. ⎜µ⎟ ⎝ ⎠ M [n s ] = iar cum λ . de unde rezultă că ⎛λ⎞ ⎜ ⎟ p0 .

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

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

staţie de servire 1 coada Veniri O O .0509 7 0.8. Autobasculantele formează o singură coadă şi sunt încărcate după metoda FIFO.1205 4 0.0038 16 0.1607 3 0. La o balastieră vin m autobasculante pentru a fi încărcate de c excavatoare.1429 THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE 1.0286 9 0.1429 1 0.0904 5 0.0051 15 0.0215 10 0.2143 2 0.4 ..5714 THE PROBABILITY THAT AN ARRIVING UNIT HAS TO WAIT 0.0029 17 OR MORE 0. O şir de aşteptare staţie de servire 2 M numărul zilelor lucrăt Figura 8.0678 6 0.0161 11 0.0381 8 0.0068 14 0.4286 THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE 0.0091 13 0.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..9286 THE AVERAGE NUMBER OF UNITS IN THE SYSTEM 3.0086 181 Pentru prezentarea modelului (schematizat în Figura 8. Elemente de teoria aşteptării Tabelul 8.4) vom considera următorul exemplu.6429 Number of Units in the System Probability --------------------------------------0 0. S-a observat că venirile autobasculantelor la coadă sunt repartizate P0(λ) .3214 THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM 0.0121 12 0. iar timpii de încărcare sunt repartizaţi după legea Exp(µ).

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

sistemul neputând avea mai mult de m autobasculante la un moment dat.8. ⎝ ⎠ ⎩ Înlocuind pn de mai sus în (8. ⎩ În cazul staţionar. 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 . p0 este probabilitatea ca în sistem să nu existe nici o autobasculantă la un moment dat. prin inducţie. 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 . b). să existe în sistem n autobasculante. la un moment dat.5 şi. ţinem seama de proprietăţile funcţiilor O ( ∆t ) când se trece la limită pentru ∆t → 0 . Pentru rezolvarea sistemului. aplicăm aceeaşi metodă ca la modelul din § 8. c ≤ n ≤ m . ş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.3) rezultă 1 . Elemente de teoria aşteptării 183 Relaţiile a). avem n ⎧C m ρ n p 0 . n<c ⎪ c n pn = ⎨ c n⎛ ρ ⎞ ⎪ c! Am ⎜ c ⎟ p 0 . iar ρ c < 1 pentru evitarea supraaglomerării. p0 = n c −1 cc m n ⎛ ρ ⎞ n n ∑ C m ρ + c! ∑ Am ⎜ c ⎟ ⎝ ⎠ n =0 n=c Aici pn este probabilitatea ca. c) le împărţim la ∆t .

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

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

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

împreună cu rezultatele simulării. Tabelul 8.36 .7. care sunt trecute în Tabelul 8.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. 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.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ă.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. Au fost generate 35 de numere.7.

de exemplu 3 vagoane pe zi. Se pot reface calculele pentru o capacitate de descărcare sporită. Cunoscând care este penalizarea pentru amânarea descărcării unui vagon. λ 80 ρ= = = 2 > 1 şi se creează aglomeraţie. şi se compară pierderea cauzată de vagoanele amânate. Considerând sistemul cu mai multe µ 40 staţii ~ ρ= ρ c <1 şi alegem c ca fiind cel mai mic întreg pentru care este .333 .1054 . iar solicitările unui client sunt satisfăcute în medie într-un minut şi jumătate. Rolul simulării manuale este de a înţelege în ce constă simularea unui model de aşteptare. 8. iar serviciile.75 minute. 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 calcula pierderea cauzată pe perioada simulată. exponenţiale. La un magazin de decoraţiuni interioare sosesc în medie 80 de clienţi pe oră. R. urmând ca pentru un eşantion mare să se folosească simularea cu calculatorul. Analizând statistic datele culese la acest sistem de aşteptare. Se poate folosi şi EXCEL pentru realizarea simulării modelelor de aşteptare sau de stocuri.5 (3 ⋅ 0. putând decide care este cea mai avantajoasă configuraţie pentru acest sistem de aşteptare.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. deoarece atunci când începem simularea pentru 30 de zile mai era un vagon de descărcat. a) Intervalul mediu dintre două sosiri consecutive este de λ 80 60 = 40 .8.75) 0 (λt ) n . b) Numărul mediu de persoane ce pot fi servite pe oră este de µ = 1 . Se consideră unitatea de timp minutul şi atunci.75 = 0. s-a constatat că sosirile clienţilor sunt poissoniene. numărul mediu de sosiri într-un 80 minut este λ = = 1. 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). Probleme propuse 1. 60 1 60 = = 0. 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. rezultă că P0 (3) = e −3⋅0. Există multe pachete de programe specializate în simulare.

95.95.96173 În maximum 5 minute.99987 f(2)=0.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.99271 f(4)=0. care rezolvă această problemă. 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. este nevoie de 2 vânzători. cel mult 3 autobasculante aşteaptă să li se spele roţile. La ieşirea dintr-o staţie de betoane. t) f(0)=1 f(1)=0.8 . cu probabilitatea 0. Tabelul 8. 2.8 1 2 23 24 Tabelul 8.98101 f(5)=0. . Ca să nu se creeze aglomeraţie. iar rezultatele sunt trecute în Tabelul 8. R. La o staţie de betoane sosesc bene care sunt încărcate şi părăsesc imediat staţia. În aceeaşi perioadă s-au notat şi timpii de încărcare a benelor. cel mult 3 autobasculante vor aştepta să li se spele roţile. Media sosirilor λ := 15 60 Probabilitatea ca in intervalul de timp t sa soseasca n autobasculante numărul zilelor lucrătoare din an P( n .99825 f(6)=0.934 f(3)=0. sosesc pentru a li se spăla roţile în medie 15 autobasculante pe oră. Obţinem c=2. Dacă repartiţia sosirii autobasculantelor pentru a li se spăla roţile este poissoniană.9 . cu probabilitatea de cel puţin 0. Elemente de teoria aşteptării 189 satisfăcută această inegalitate. 3. t) := e − λ ⋅ t ( λ⋅ t ) n n! f( t) := n =0 ∑ 3 P( n . se consideră unitatea de timp minutul. În următoarea secvenţă MathCAD.8. să se determine timpul maxim în care.

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

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

2 Aşadar. La o secţie de poliţie de constatări accidente uşoare sosesc în medie 15 automobile pe oră.3333+1. iar dacă sunt ocupate aceste locuri. atunci ρ = = 1 şi astfel sunt necesari cel puţin 2 muncitori. µ=6 automobile/oră.5112 automobile .1666<0. Deoarece λ = 3 şi 60 λ µ= = 3 . Într-o oră. 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ă . b) p0=0. S-a constatat că intervalele dintre sosiri şi timpii de încărcare au repartiţia exponenţială.0449 + 0.5 > 1 şi dacă ar fi un µ 6 < 1 . 5 λ 15 = = 2. câţi muncitori pentru spălarea autoturismelor ar trebui angajaţi? R.1124 + 0. iar timpul necesar acestei operaţii este repartizat exponenţial. FIFO) . adică 1 − P ( N [t ] ≤ c) < 0. ar trebui angajaţi 2 muncitori. FIFO). un poliţist constatator întocmeşte actele pentru 6 automobile.0975 + 0. c=2. celelalte automobile parchează în alte locuri din vecinătate. 7. Trebuie ca P(N[t]>c)<0.3333+0.2 . Luând pentru început c=2.4065 d) M[L3]=3. 20 µ Este cazul modelului Po(λ)/Exp(µ)/c:( ∞.6667)=0.0449.1170 + 0. Depozitul are 2 rampe de încărcare/descărcare care încarcă/descarcă un camion în medie în 20 minute. 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. a) Alegem numărul c de poliţişti astfel încât aşteptare devine Po(λ)/Exp(µ)/3:( ∞. e) M[WT]=14 minute .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. La depozit sosesc în medie 4 camioane pe oră. 8. Modelul de ρ c c) P (n > 5) = 1 − P (n ≤ 5) = 1 − ∑ p i = i =0 = 1 − (0.2. Un depozit închiriază de la o firmă de transporturi 4 camioane pentru a se aproviziona sau pentru a transporta marfa la clienţi. λ=15 automobile/oră .0813) = 0. obţinem P(N[t]>c)=1–(p0+p1)=1–(0. repartiţia sosirilor fiind poissoniană.1404 + 0. R.2 . ρ = singur poliţist ar fi supraaglomerare. adică c=3 . Secţia are rezervate 5 locuri de parcare.

6 .3108 . 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. . f) Pierderea pentru primul caz 4000 ⋅ M [ L1 ] = 41511. Da. d) S = M [WT ] ⋅ 20 = 2. la care se lucrează la fel ca la prima şi dacă tancurile petroliere se duc la dana liberă pentru descărcare.986 u.m. care este suma medie orară plătită pentru nefolosirea unui camion? R.m. 10. a) M[L1]=7.. b) M[N(t)]=1.6836 .3779 . în ordinea sosirii lor. c) M[W]=11. Elemente de teoria aşteptării 193 d) ştiind că pentru o oră chiria pentru un camion este de 20 u. e) 28 min 32 s .5037 . c) P(M[N(t)]>2)=1-(p0+p1+p2)=0. a) M[L2]=0./zi.m. Ştiind că solicitările pentru intervenţii sosesc în medie una pe zi şi sunt repartizate Poisson.m. 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. e) M[L2]=0.8. iar un specialist reuşeşte să depaneze un aparat (aer condiţionat sau frigider) în medie în 20 minute.2219 . timpul necesar depanării fiind repartizat exponenţial.6279 .8 zile. La o dană din port.4098 . O firmă are 30 de instalaţii de aer condiţionat şi frigidere şi pentru întreţinerea lor a angajat 2 specialişti. proprietatea unei companii petroliere. sosesc pentru descărcare tancuri petroliere la intervale de timp repartizate exponenţial.6 .2524 . a) p0=0. d) M[WT]=0. 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. cu media 0. d) 8 min 32 s . ? R.4 zile. cu media 1. Timpul mediu necesar descărcării este de asemenea presupus repartizat exponenţial.5823 . b) M[N(t)]=2. c) p0=0.0246 .6351 . 9. iar pentru cel de-al doilea caz 4000 ⋅ M [ L2 ] + 1500 = 2387. b) M[WT]=10.

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

b(t). de aici. care rezultă din cheltuielile pentru lansarea comenzilor de reaprovizionare şi introducerea lor în stoc sau lansarea fabricaţiei. considerat momentul iniţial de la care se urmăreşte evoluţia stocului. 1974). 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. pot fi deterministe sau aleatoare. 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. Concepte utilizate în teoria stocurilor Rezolvarea problemelor legate de determinarea stocurilor optime se face cu ajutorul unor modele matematice ale teoriei stocurilor. • costul de lansare. Fie a(t). 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). r(t).9. precum şi pierderile rezultate din nesatisfacerea cererilor (penalizările) să fie minime. Scopul menţinerii unui stoc este acela de a satisface o cerere. şi/sau cererea. 9. rata intrărilor în resursă la momentul t şi b(t). rata ieşirilor din resursă. Variaţia stocului este dată de relaţia I (t ) = I 0 + ∫ (a (t ) − b(t ) )dt . Cererea nu se confundă întotdeauna cu ieşirea. II. nevoia reaprovizionării lui. Eficienţa unui stoc de-a lungul unui interval de timp este dată de o funcţională de forma . iar r(t). Fie I(0) = I0. nivelul stocului la momentul t = 0. • costul lipsei de stoc. 0 t Ieşirile din stoc. iar funcţia a(t) trebuie aleasă astfel încât să se realizeze un obiectiv sau o eficienţă dorită. Valoarea resursei I = I (t) este o funcţie de timp. 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. Eficienţa se defineşte în funcţie de costuri şi acestea pot fi: • costul de depozitare. În urma satisfacerii cererii stocul se micşorează şi. rata cererii la momentul t.2.1. De cele mai multe ori însă b(t) = r(t) . 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. 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 modelele de teoria stocurilor intervin şi variabile sau parametri legate în special de mecanismul reaprovizionării. Se observă că pe intervalul de timp (t’. care micşorează nivelul stocului. modelele de teoria stocurilor determină mărimea lotului de reaprovizionare optim. atunci se determină funcţiile necunoscute din condiţia ca valoarea medie a lui C să fie optimă. În unele modele ale teoriei stocurilor din optimizarea funcţiei de eficienţă se poate deduce ciclul optim de reaprovizionare. i = 0. În acest caz... r(t) este o funcţie cunoscută şi uneori se cunoaşte şi funcţia b(t). În diferite modele ale teoriei stocurilor. a(t) ia valori nenule numai la anumite momente de timp t0 < t1 < t2 < . Intervalele de timp Ti = ti+1 − ti. Topt. trebuie determinată funcţia a(t) astfel încât eficienţa să fie optimă. În ceea ce priveşte mărimea loturilor de reaprovizionare a(ti). ciclurile de reaprovizionare Ti.. T *) există lipsă de stoc.. rata cererii fiind presupusă constantă. şi/sau ciclul de reaprovizionare optim. pot depinde sau nu de Ti. 2. se face la momente discrete de timp. se numesc cicluri de reaprovizionare. se presupune că intrarea în stoc. pot fi constante sau aleatoare. Cantităţile a(ti) reprezintă valorile comenzilor care intră în stoc la momentele ti. Reaprovizionarea la anumite momente de timp impune utilizarea şi a altor variabile care au importanţă practică. r(t)]. iar între aceste momente de timp au loc numai ieşiri din stoc. . Astfel. acestea pot fi egale sau nu.196 Modele şi algoritmi de optimizare C(t) = C[a(t). 2. .T*] pot avea loc mai multe reaprovizionări. variaţia stocului este reprezentată prin segmentele oblice. Într-un interval de timp [0. Din motive practice. b(t). Topt. Pentru determinarea optimului lui C pot să intervină uneori şi anumite restricţii legate de elementele necunoscute. 1. ... I(t) S a(t1) P T0 t0 L t1 T1 t2 Figura 9. pot fi egale sau nu. i = 0.1 T2 t3 T3 t’ T* t a(t2) a(t3) În Figura 9..1.. În general. aopt. reaprovizionarea. . adică de mecanismul intrărilor în stoc. Dacă C este o variabilă aleatoare. 1. Aşadar.

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

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

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

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

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

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

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

se pierde. 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).242.20 $519.00 17.20 3.039. Parametrii cunoscuţi: − intrările au loc în mod continuu cu rata p – constantă.27 $519.32 Rotunjirea rezultatelor Rezultatul obţinut în urma rezolvării unui model de stocare poate să nu fie un număr întreg.484.928.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. . ca în exemplul de mai sus (mărimea optimă a comenzii de reaprovizionare. numărul de zile ale ciclului optim de reaprovizionare).27 $1.615.3. II. pe perioada epuizării stocului.32 17. acestea vor fi satisfăcute (Văduva et al. pe unitatea de stoc / unitatea de timp. Atunci. p > r. − ieşirile au loc în mod continuu cu rata r – constantă.10 1. − costul de stocare h. 1974). Modelul clasic al lipsei de stoc Aşa cum arată şi numele. este constant.928.54 6. iar după reaprovizionare.200. în acest model se acceptă lipsa de stoc.464. 9. − d – costul (deficitul) datorat lipsei unei unităţi de stoc pe unitatea de timp este constant.615.242.230. adică se păstrează cererile care nu au putut fi satisfăcute după epuizarea stocului. În continuare se consideră numai primul caz. Există şi cazuri în care cererea nesatisfăcută.

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

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

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

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.76 6.552.05 $972.055.756.52 În continuare sunt prezentate alte două variante ale modelului clasic.406.56 $425.82 274.33 $486.944.74 2.32 925.20 18.835.111.2.104. Tabelul 9.608.38 $60. .18 16.298.8 Apăsând butonul Solve se obţine soluţia modelului sub forma dată în Tabelul 9.480.208 Modele şi algoritmi de optimizare Figura 9.

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

a ⎝a ⎠ 2 Din condiţia de minim. dacă cf este mare. atunci costul de fabricaţie pentru întreaga cantitate este s ⎛s ⎞ s + cf⋅a şi astfel c p = + c f . avantaje prezentate în Tabelul 9. a ⎝a ⎠ Se presupune că nu se admite lipsa de stoc. Atunci costul total de lansare şi stocare pe unitatea de timp este sr ⎛s ⎞ a C (a) = + k ⎜ + c f ⎟ ⋅ . Se mai pot considera: modele cu costul stocării variabil. C = 2kc f rs + . T= . C’(a) = 0. Această practică este larg răspândită pentru că oferă avantaje atât cumpărătorului cât şi vânzătorului.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 : . 0 < k < 1 . (Văduva et al. rezultă 2rs 2s ks .210 Modele şi algoritmi de optimizare iar cp depinde de cantitatea produsă a. mărimea lotului se micşorează. descris de o funcţie în salturi. 1974) . Notând cu cf costul unitar de fabricaţie. Tabelul 9. a= kc f r 2 kc f Comentariu. Extensii ale modelului clasic al lotului economic Vânzătorii oferă deseori reduceri de preţ pentru cumpărarea unui lot mai mare de produse. Mărimea lotului de reaprovizionare a depinde de costul unitar total de producţie cf. modele cu cererea depinzând de preţurile de vânzare etc. 9. deci h = k ⎜ + c f ⎟ . II.3 . adică nu este indicat să se menţină stocuri mari din produse scumpe. Există preţuri pentru intervale ale numărului de produse cumpărate.4.

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

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

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

programat în MathCAD şi aplicat exemplului precedent. last ( x) if m > x k k m← x i←k ⎛ m⎞ ⎜ ⎝i⎠ .60 ⎜ ⎝ 2.50 ⎠ s := 50 Costul unitar anual de stocare este o fractiune ρ din costul de achizitionare ρ := 0..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 .75 ⎞ pu := ⎜ 2. 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.214 Modele şi algoritmi de optimizare În continuare este redat algoritmul de mai sus.

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

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

un an) va creşte cu aproximativ h . R fiind cererea medie pe perioada timpului de avans.9. fie P0 = R . Dacă nu se adaugă o unitate la P0 . aplicăm analiza marginală (Bonini et al. Tabelul 9. Timpul de avans. Pascal. Elemente de teoria stocurilor 217 poate fi: Poisson. este o variabilă aleatoare cu repartiţia cunoscută. 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. Mărimea stocului de siguranţă şi. binomială etc. ⎣ ⎦ Se consideră următoarea ipoteză: Cererea r. corespunzător.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. I S = P0 − R .5 dă efectul creşterii sau reducerii nivelului de reaprovizionare asupra costurilor. Costul total pe perioada analizată (de exemplu. 1997).1. adică se începe analiza costului total cu o valoare iniţială pentru P0 .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ă. nivelul de reaprovizionare reduc şansa apariţiei lipsei de stoc. Dacă cererea este un proces aleatoriu. astfel (Figura 9. atunci modelul de stocare este un model stochastic dinamic. F(x). Determinarea nivelului optim de reaprovizionare Pentru determinarea nivelului optim de reaprovizionare P0. pe unitatea de timp. L. şi invers. pot fi variabile aleatoare continue sau discrete. deoarece IS creşte cu o unitate. Să vedem ce se întâmplă cu costul total dacă se adaugă o unitate de produs de stoc la P0. şi stocul intangibil (de siguranţă). .6. Tabelul 9.

h d ⋅Q Pas 3.9 reprezintă costurile adăugării şi neadăugării unei unităţi de stoc la P0 . se ia Zα. Stop ! Pas 2. s R .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. d. cererea R. F(x)=P(R<x). Se poate scrie următorul algoritm pentru determinarea nivelului optim de reaprovizionare. pe perioada timpului de avans L. 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. este de asemenea o variabilă aleatoare cu funcţia de repartiţie cunoscută. 2⋅s ⋅Q a⋅h . Algoritm pentru determinarea nivelului optim de reaprovizionare P0 Pas 1. Probabilitatea unei unităţi de stoc cerute în plus este 1 − F ( P0 ) . α =1− . Din egalitatea celor două costuri avem : a⋅h a⋅h ⎡Q ⎤ . Figura 9.9 P0 Atunci. σ R . Date de intrare : h. Din tabela funcţiei de repartiţie a cererii pe perioada de avans R. Q. Calculează a opt = Observaţii . Popt = R + Z α ⋅ σ R .

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

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

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

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

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ă. c+ costul unitar al supraestimării cererii. Din Tabelul 9. D+ pierderea totală datorată supraestimării comenzii de aprovizionare D. adică pierderea datorată necomandării unei perechi de pantofi suplimentare.m.9. Preţul de lichidare de stoc este de 30 u.6 c + + c − (6 − 2) + (11 − 6) se constată că P (a ≤ a opt ) = 0.5555 şi se obţine aopt=190 kg . c. perechea şi se aşteaptă ca la acest preţ stocul să fie lichidat.5555 .5=10 u. iar c-=60–40=20. adică pierderea datorată comandării unei perechi de pantofi suplimentare.m. Pentru această problemă c+=40–30=10.pierderea totală datorată subestimării comenzii de aprovizionare.m.4). 650 − 350 3 . cererea pentru pantofi bărbateşti. 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. perechea. care apoi se constată că nu se poate vinde.5=5 u. Preţul de achiziţie de la fabrică este de 40 u. se obţine pentru acest exemplu a opt − 350 2 P (a ≤ a opt ) = = . Se continuă investigarea până când D+(a)= D-(a) . care apoi se constată că s-ar fi putut vinde.costul unitar al subestimării cererii. Tabelul 9.m. măsura 42.7. 1994) Rezolvare Din experienţa anilor trecuţi.5. având media 500. Fie: a cererea de aprovizionare cu pantofi bărbăteşti mărimea 42. D-(a)=c-⋅0. Se apelează la analiza incrementală pentru rezolvarea acestei probleme. Considerând cererea egală cu media. Câte perechi de pantofi ar trebui să comande patronul magazinelor pentru a obţine profit maxim (pierderi minime) ? (Anderson et al. analiza incrementală pentru două cazuri este arătată de Tabelul 9. iar magazinul îi vinde cu 60 u.m. este uniformă şi cuprinsă între 350 şi 650 perechi. 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ă. Ţinând seama de relaţia (9. Elemente de teoria stocurilor 223 11 − 6 = 0. D+(a)=c+⋅0. .

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

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

= (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. ρ (1 − ρ ) [1 − (m + 1) ⋅ ρ m ]⋅ (1 − ρ ) + ρ − ρ m +1 ⋅ = 1 − ρ m +1 (1 − ρ )2 [1 − (m + 1) ⋅ ρ m + m ⋅ ρ m+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 = ρ ⋅ .6. 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 Obţinem [ ( ) ] Se obţine o nouă funcţie de cost dacă se consideră valorile medii N . 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 .5. R astfel Din condiţia de optim (min C1(ρ) ) rezultă ρopt elementele modelului.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− ρ . Modelul cu mai multe staţii paralele şi cu timp de avans L aleatoriu . 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] = . De exemplu. şi acum se pot calcula 9.

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

ultima relaţie permite determinarea stocului optim pentru obţinerea unui profit maxim. n n =0 c Numărul mediu de cereri pe unitatea de timp este λ. 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 ⋅ E c ( ρ ) − ρE c −1 ( ρ ) . c. n = 0 n! c fiind o variabilă întreagă. adică ⎡ E (ρ ) E (ρ ) ⎤ h = ρ ⋅⎢ c − c −1 ⎥. Analogia cu modelul de aşteptare Exp( µ )/Exp(λ )/c : (m. revine la B(c+1)−B(c) = 0.228 Modele şi algoritmi de optimizare ρ= Se poate determina stocul mediu λ . egal cu µ µ mediu de cereri satisfăcute pe intervalul de timp de avans este M[R] = c−M[N(t)]. va fi . 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. Ec (ρ ) Dându-se h. iar numărul cereri pe intervalul mediu de timp de avans. h + cv ⎣ E c +1 ( ρ ) E c ( ρ ) ⎦ E c ( x) = ∑ c 1 µ . B. FIFO) . deci numărul mediu de 1 λ . µ M[N(t)] = p c ∑ c−n n ρ . cv. condiţia B’(c) = 0.

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. atunci µn = c⋅µ . nu pot sosi în stoc decât c unităţi ce au fost comandate. pentru n > c+m. λn = 0 pentru n > c+m. 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 . c ≤ n ≤ c+m. deci numai c din cele n cereri vor fi satisfăcute. Determinarea coeficienţilor λn. rezultă că µn = 0. µn.9. ⎩ 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. intensitatea cu care apare o nouă cerere este λn = λ. Elemente de teoria stocurilor 229 Formularea problemei. 1 ≤ n ≤ c. ⎨ 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 ).12) . costul unitar de stocare h şi costul unitar al lipsei de stoc d. Să se determine nivelul optim al stocului c în funcţie de ρ. L. care intră în stoc cu intensitatea µ. atunci ele se pot satisface cu unităţile ce vor sosi în stoc cu intensitatea µ. deci µn = n⋅µ . Intensitatea satisfacerii cererilor µn se determină astfel. Dacă c ≤ n ≤ c+m. În stoc vor exista j = c−N(t) unităţi. 0 ≤ n ≤ c+m. 0 ≤ N(t) ≤ c+m. 0 ≤ n ≤ c+m Dacă există n cereri înregistrate. În acest caz N(t) reprezintă numărul de cereri înregistrate. Dacă există n cereri la un moment dat t. Deoarece numărul maxim de cereri ce se pot realiza este c+m. 1 ≤ n ≤ c. Astfel.

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

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

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

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

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

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

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

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

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

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

..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. Un proces aleatoriu ξ se numeşte proces Markov dacă pentru (∀)n ∈ N . sau (a. t n ≥ 0 cu proprietatea că t1 < t 2 < . t 2 ... λ=rata sau intensitatea procesului. x 2 . . pentru definirea unui proces aleatoriu ar trebui cunoscute toate funcţiile de repartiţie finit dimensionale. . ξ t2 (ω ) < x 2 . .. ({ }) În cele ce urmează vom presupune că intervalul de interes este în timp. ... n! P ({ξ (t ) ∈ B ξ (t1 ). ξ (t n ) − ξ (t n −1 ) sunt independente.. (∀)t1 . Atunci.tn ( x1 . t n ∈ T . [λ (t − s ] P(ξ (t ) − ξ ( s ) = n ) = e −λ (t − s ) n . ξ (t 2 ) − ξ (t1 ) .−∞ ). x 2 .. t 2 . numărul pieselor defecte dintr-un lot de fabricaţie... t2 . a ). b) lungimea intervalului. 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. t . x n ) = P ω ξ t1 (ω ) < x1 . adică n! Se poate considera că ξ (t ) înregistrează numărul de apariţii ale unui eveniment în intervalul de timp [0... sau [a.. Media şi dispersia procesului Poisson sunt M [ξ (t )] = λt . . < t n şi (∀)a ∈ R are loc relaţia unde B = (− ∞.... vânzările unui produs etc.. . < t n ... t] este e − λt (tλ ) n P( X = n λ . t] . 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 . probabilitatea apariţiei a n evenimente în intervalul [0. (∀)t1 . . . date fiind: a) numărul mediu de evenimente pe unitatea de timp. variabilele aleatoare ξ (t1 ) . . ∞ ) → E se numeşte cu creşteri independente dacă pentru (∀)n ∈ N şi (∀)t1 . .. t n ∈ T şi (∀)x1 .t] .. t ) = . Un proces aleatoriu ξ : [0. .. a ]. x n ∈ R trebuie să fie cunoscute probabilităţile Ft1 .. ξ (t 2 ). sau (− ∞. t 2 .. ξ tn (ω ) < x n . t 2 .. ξ (t n )}) = P ({ξ (t ) ∈ B ξ (t n )}) . (∀)n ∈ N * . ξ (t 3 ) − ξ (t 2 ) .. D 2 [ξ (t )] = λt . Pot fi considerate procese Poisson: numărul erorilor de tipar dintr-o carte. t n −1 . Î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.... creşterile sale urmează repartiţii Poisson de parametru λ (t − s ) .. adică (∀)n ∈ N . Repartiţia probabilităţii Poisson aplicată procesului Poisson dă probabilitatea numărului de evenimente pe un interval..−∞ ).. ziar etc. t] .. [0.. t1 < t 2 < ..

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

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

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

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

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

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

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

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

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

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

Sign up to vote on this title
UsefulNot useful