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

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

6 Modele şi algoritmi de optimizare .

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

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

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

10 Modele şi algoritmi de optimizare .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

∏(2)=l([1.5])}=min{∞. ∏(3)+l([3. Π(7)} = Π(5) .7} .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). ∏(3)=min{∏(3).6])}=min{∞. ∏(3)+l([3. Π(7)} = Π(4) . S={1.2.3.6} .3. Grafuri în optimizare 27 Pas 1.3. y=5.6])}=min{8. ∏(2)+l([2. Π(3).5.4])}=min{4. ∏(4)+l([4.2.5])}=min{5. z∈X − S Γ(3) = {2. z∈X − S S={1.4. ∏(2)+l([2. Π(5). Γ(4) = {1. Π (6).7])}=min{∞.3.5+2}=5 ∏(6)=min{∏(6). Π(6). ∏(5)+l([5.2])=1 ∏(3)=min{∏(3). Γ(2) = {1. y ∏(y) 1 0 2 1 3 ∞ 4 4 5 ∞ 6 ∞ 7 ∞ Pas 2.4. Π(6).2}.3+2}=5 ∏(6)=min{∏(6). Π(7)} = Π(3) . Π (4).6.5}. {Π ( y )} = min {Π ( z )} = min{Π(2). Π (4). Π(7)} = Π (2) .2.3])}=min{∞.5+7}=12 y ∏(y) 1 0 2 1 3 5 4 3 5 5 6 8 7 12 .5.2.4} . Π (5). ∏(4)+l([3. ∏(5)=min{∏(5). z∈ X − S y=2. ∏(6)=min{∏(6). Π(6).4} .5+6}=8 ∏(7)=min{∏(7). ∏(4)+l([4.1+2}=3 y ∏(y) 1 0 2 1 3 5 4 3 5 ∞ 6 ∞ 7 ∞ Iteraţia a II-a Π( y ) = min {Π ( z )} = min{Π(3).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). Γ(1) = {2.3+5}=5 ∏(5)=min{∏(5). Iteraţia I . ∏(5)+l([5. y=4.4])}=min{5. S={1. z∈ X − S Γ(5) = {3. Π (5). S={1}.4}.6} .1+4}=5 ∏(4)=min{∏(4). s=1.4}.4. S={1. y=3.2.6])}=min{12.

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

2. 1997). Ea permite stabilirea timpului necesar realizării întregului proiect.10). . Metoda PERT Metoda PERT (Program Evaluation and Review Technique) sau CPM (Critical Path Method – metoda drumului critic) este un instrument pentru gestionarea (planificarea şi controlul) proiectelor mari cu multe activităţi separate care necesită coordonare. altele se defăşoară în paralel. Tehnica PERT a fost concepută pentru a oferi factorului de decizie un ajutor în planificarea şi controlul unui astfel de proiect. În realizarea unui proiect unele activităţi trebuie să aibă o anume succesiune.9 Rezultatele sunt afişate după selectarea din meniul Solution a opţiunii Solve (Figura 2.4. Grafuri în optimizare 29 Figura 2. asigurând controlul evoluţiei procesului şi atrage atenţia asupra acelor întârzieri în realizarea activităţilor care ar determina o întârziere în realizarea proiectului (Bonini et al. Figura 2.10 2.

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

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

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.4).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. ca în Figura 2. atunci orice întârziere în realizarea unei activităţi incluse în drumul critic va cauza întârziere în finalizarea proiectului. Dacă proiectul are termenul de finalizare egal cu lungimea drumului critic.13. O activitate care precede o alta trebuie să fie deja definită atunci când este definită ca precedenţă. Pentru exemplul de mai sus se consideră că proiectul durează 12 zile şi s-a luat TF pentru activitatea D egal cu 12. TS. activităţile care au marja pozitivă pot fi decalate cu un număr de zile egal cu marja. TS. DF. DF. TF pentru toate activităţile. M. fără ca termenul de finalizare a proiectului să se modifice. ca în Figura 2.12. .2 sunt trecute momentele DS. Activităţile se codifică folosind literele alfabetului în ordine crescătoare. Din fereastra care apare se selectează File. apoi New şi se precizează faptul că duratele activităţilor sunt deterministe şi numărul acestor activităţi. M şi TF pentru acest exemplu obţinute în urma aplicării procedeului de mai sus. Tabelul 2. se pot calcula marjele ca fiind Mi= DSi – TSi sau Mi= DFi – TFi .32 Modele şi algoritmi de optimizare Marja. 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. Figura 2. În schimb. În Tabelul 2. După determinarea valorilor DS.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 Objective Function Value = Variable -------------X1 X2 Constraint -------------1 2 3 21. dacă o variabilă este deja pozitivă.400 Value --------------1.000 9.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.200 5.000 OBJECTIVE COEFFICIENT RANGES Variable -----------X1 X2 Lower Limit --------------No Lower Limit No Lower Limit Current Value --------------4.600 Slack/Surplus --------------0. Tabelul 4.68 Modele şi algoritmi de optimizare Figura 4.000 0. pentru rezolvare se apasă butonul Solve şi apare fereastra cu rezultate ca în Tabelul 4.800 0.000 3.000 Dual Prices -----------------1.600 Reduced Costs -----------------0. .000 0. Astfel.000 24.000 18.200 0. 1998).000 Upper Limit --------------No Upper Limit No Upper Limit No Upper Limit Rezultatele sunt cele obţinute şi în urma aplicării algoritmului simplex. atunci costul redus este zero.5.2 După ce s−au introdus datele.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4. iar costul total al resurselor să fie minim. . − 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. Inegalitatea dată de Lema slabă a dualităţii pentru acest cuplu de probleme duale ( c ′x ≤ b ′u ) are aici următoarea semnificaţie: pentru nici un plan de . 2 5 1 − − 2 2 − 3 x1 3 1 1 1 2 0 − valoarea funcţiei obiectiv z 9 0 −1 7 − 2 0 3 − 2 −1 . −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. 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 .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2 Să rezolvăm aceeaşi problemă utilizând Solver-ul din Excel. 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+ . Figura 5. efectuând paşii descrişi în continuare.3.114 Modele şi algoritmi de optimizare Figura 5.

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

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

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

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

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

Definiţia 6.n (R ) şi Cij=Cji (în caz contrar. atunci forma pătratică este nedefinită. Definiţia 6. omogene şi independente (reducerea la forma canonică a formelor pătratice cu metoda lui Gauss).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 ⎠ ⎝ . ⎨ n j =1 + ⎪ α ⋅ a ≤ c . xn)’ . . Definiţii. 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. .1.. Q(x) se numeşte formă pătratică negativ semidefinită dacă n−< n şi n+ = 0 .. 1 (C ij + C ji ) 2 dij=dji ) . Q(x) se numeşte formă pătratică pozitiv definită dacă n+ = n şi n– = 0 .. .. 1 ≤ r ≤ p sau a ≤ a ≤ a r i i i ⎪∑ ri i ⎩ i =1 Mai înainte de a trece la rezolvarea problemei de programare pătratică să amintim câteva noţiuni referitoare la formele pătratice... Dacă notăm cu n+ şi cu n− numărul pătratelor care au coeficienţii pozitivi şi respectiv negativi. Definiţia 6.. Q(x) se numeşte formă pătratică negativ definită dacă n− = n şi n+= 0 . xn f ( x ) = ∑∑ C ij ⋅ xi ⋅ x j + ∑ c j ⋅ x j + c 0 i =1 j =1 j =1 n n n unde: x=(x1.. Definiţia 6. atunci avem n+ + n− ≤ n . 6. Dacă n+ > 0 şi n−> 0.3..2. Proprietăţi Fie f o funcţie de gradul al doilea în x1.4. cn ) . Q(x) se numeşte formă pătratică pozitiv semidefinită dacă n+<n şi n−=0 . iar c ′ = (c1 .2. C ∈ M n .. 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. adică dacă Cij≠Cji.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

000000477 0 Lagrange Multiplier 1 Constraints .4 Microsoft Excel 10.3 Microsoft Excel 10.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 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.140 Modele şi algoritmi de optimizare Tabelul 6.0 Sensitivity Report Worksheet: [Programare patratica.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.0 Answer Report Worksheet: [Programare patratica.

5 −0.5 −0.0 Limits Report Worksheet: [Programare patratica.5 Microsoft Excel 10.xls]Limits Report 1 Report Created: 7/10/2002 8:09:27 PM Target Cell $D$4 Name Functia de optimizat Adjustable Cell $B$15 $B$16 $B$17 Name x1= x2= x3= Value 3 0 1 Value −0.5 6.5 Upper Limit 3 0 1 141 Targe t Result −0.5 −0.6.5.5 Lower Limit 3 0 1 Target Result −0.5 −0. Programare pătratică Tabelul 6. 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. Probleme propuse 1. 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 ⎩ { } { } .

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

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

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

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

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

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

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

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

0. r2 (1) + f1 (0)] = max[0 + 0.41 + 0] = 0. 1 } .65. 4} f 2 (4) = max[r2 (0) + f1 (4) . 3 cu 0 ≤ d 3 ≤ 0 . r2 (2) + f1 (0) ] = = max[0 + 0. r2 (3) + f1 (1).5} = max[0 + 0. rezultă d (2) = 1 .25 + 0. 0. r2 (3) + f1 (0)] = = max[0. 0. f 2 (1) = max[r2 (0) + f1 (1) .. 0. Deoarece r3(0)=0 şi f3(0)=0 x3 = 1 f 3 (1) = max[r3 (d 3 ) + f 2 (1 − d 3 )] cu 0 ≤ d 3 ≤ 1 . 0. 0.75 + 0] = = max[0.03. d 2 ∈ { 0. 1.93.53 ˆ valoare obţinută pentru d=1. d 3 ∈ { 0. 1. 0. r2 (4 ) + f1 (1).28.15 + 0] = 0. r2 (2) + f1 (2) .00. 0.75] = 1. 0.25 + 0. 0.45. r2 (1) + f1 (3). 2 x2=3 f 2 (3) = max[r2 ( d 2 ) + f1 (3 − d 2 )] cu 0 ≤ d 2 ≤ 3 .83. 2.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 .90 ˆ valoare obţinută pentru d=1. 0. rezultă d (4) = 1 . r2 (2) + f1 (1) . d 2 x3 = 0 f 3 (0) = max[r3 (d 3 ) + f 2 (0 − d 3 )] ˆ rezultă d3=0. g 2 (1) + f1 (2).28. r2 (1) + f1 (1). 2 = max[0 + 0. 3} f 2 (3) = max[r2 (0) + f1 (3) . 0. r2 (5) + f1 (0)] = d 2 ∈ { 0.06 obţinut pentru d2=2 .28.1.78.55 + 0.65 + 0.45. 2 x2=2 f 2 (2) = max[r2 (d 2 ) + f1 (2 − d 2 )] cu 0 ≤ d 2 ≤ 2 . r2 (4) + f1 (0)] = = max[r2 (0) + f1 (5).25 + 0] = 0.1} . r3 (1) + f 2 (0)] = max[0 + 0.28. 0.9. Astfel ˆ (5) = 2 .90. x2=1 f 2 (1) = max[r2 (d 2 ) + f1 (1 − d 2 )] cu 0 ≤ d 2 ≤ 1 .1.25 + 0. r2 (1) + f1 (4 ). 1. d (0) = 0 . g 2 (3) + f1 (2 ). x2 = 5 f 2 (5) = max[r2 (d 2 ) + f1 ( x2 − d 2 )] .1.. 3. f 3 (1) = max[r3 (0) + f 2 (1) . r2 (2 ) + f1 (3).41 + 0. d 2 ∈ { 0. 2.1.65] = 0. 3 . 0.65.28 ˆ obţinută pentru d (1) = 0 .86. 0.. 2 x2=4 f 2 (4) = max[r2 (d 2 ) + f1 (4 − d 2 )] cu 0 ≤ d 2 ≤ 4 .41 + 0.70 ˆ rezultat obţinut pentru d=1 şi astfel d (3) = 1 . 0. 0.06.28 ˆ valoare obţinută pentru d (1) = 0 . Deoarece r2(0)=0 şi f1(0)=0 rezultă d2=0.28. 2} f 2 (2) = max[g 2 (0) + f1 ( 2) .55 + 0] = 0.9. 0. d 2 ∈ { 0.45. d 2 ∈ { 0.78.

53 0. 0.2 valorile găsite pentru f şi d . f4(1)=0. r3 (1) + f 2 (1).40] = 0.90 1. 4} = max[0. 0.28 0.60] = 1.73 0. Tabelul 7. r3 (3) + f 2 (0) ] = x3=3 f 3 (3) = max[r3 (d 3 ) + f 2 (3 − d 3 )] cu 0 ≤ d 3 ≤ 3 .43.06 ˆ obţinut pentru d=0.85.9 şi ˆ ˆ ˆ d 4 (4) = 0 sau d 4 (4) = 1 .90 f 3 (4) = max[r3 (0) + f 2 (4) .70 0. r3 (2) + f 2 (2). 0. r3 ( 4) + f 2 (1).1 şi d 4 (5) = 1 . 2.70.28 0.73 şi ˆ d 4 (3) = 1 . d 3 ∈ { 0. 2.0. r3 (3) + f 2 ( 2). d 3 ∈ {0. d 3 ∈ { 0. f4(5)=1. 0. 4} f 3 (5) = max[r3 (0) + f 2 (5) .5] = 0.06. 3.06 d 4 ( x) f4(x) 0 0.45 0.28 0.28 0. găsim pentru f4 valorile: f4(0)=0 şi d 4 (0) = 0 . f4(2)=0.78 0.05. 0. 0. rezultă d 3 (4) = 0 . pentru d=0 s-a obţinut valoarea maximă şi rezultă d 3 (3) = 0 .2 x 0 1 2 3 4 5 d1 ( x) f1(x) 0 0. 0.28 şi d 4 (1) = 0 .90 1.53. ˆ ˆ Analog. Centralizăm în Tabelul 7.53 0.78. x3=4 f 3 (4) = max[r3 (d 3 ) + f 2 (4 − d 3 )] cu 0 ≤ d 3 ≤ 4 .1 0 1 2 3 4 5 0 0 1 1 1 2 0 0 0 0 0 0 0 0 0 1 0 sau 1 1 . r3 (1) + f 2 (4). 0.95.25]= 0.53.1. r3 (3) + f 2 (1).68.90. r3 (2) + f 2 (3). 0.53 şi ˆ d 4 (2) = 0 .68.1. rezultă d 3 (5) = 0 . 3 x3=2 f 3 (2) = max[r3 (d 3 ) + f 2 (2 − d 3 )] cu 0 ≤ d 3 ≤ 2 . 0. Programare dinamică 151 f 3 (2) = max[r3 (0) + f 2 (2) .90 1.53 ˆ obţinută pentru d (2) = 0 .7.93.78. r3 (5) + f 2 (0)] = max[1. f4(3)=0.70 ˆ Aşadar.53 0. r3 (1) + f 2 (2). 0. 3} = max[0. f4(4)=0. 1. r3 (1) + f 2 (3). 2. 0.06 d 3 ( x) f3(x) 0 0. r3 (2) + f 2 (0) ] = max[0. 1. d 3 ∈ { 0. r3 (2) + f 2 (1). 3.65 0.90 d 2 ( x) f2(x) 0 0. 2} f 3 (3) = max[r3 (0) + f 2 (3) . x3=5 f 3 (4) = max[r3 (d 3 ) + f 2 (4 − d 3 )] cu 0 ≤ d 3 ≤ 4 .1. r3 (3) + f 2 (1) ] = ˆ valoare obţinută pentru d=0.70 0.

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

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

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 . d4=5 . d2=2 . Tabelul 7. d3=2 . d1=5 cu costul minim.7) se poate termina cu 0. . deoarece x4+d5=b5=2.154 Modele şi algoritmi de optimizare Tabelul 7. f(d)=0×12+5×11+2×20+2×15+5×13=190 . rezultă Tabelul 7.7 d4 f(d) min 3 135+33=168 * 2 155+22=177 4 135+44=179 * 3 155+33=188 5 135+55=190 * 4 155+44=199 b4 x4 0 1 2 3 x3 0 1 0 1 0 1 La sfârşitul perioadei a cincea (Tabelul 7. 1 sau 2 unităţi în stoc (x3+d4=b4=3).8) avem x5=0 şi.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.

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

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

192 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.096 0. adică se alocă un cercetător la proiectul A.06 pentru alocarea ambilor cercetători.12 0.3.13 Tabelul 7.12.4 0. B2. 7. adică se alocă un cercetător la proiectul C .06 d C (x) 0 0 1 Valoarea soluţiei optimale este fC (x ) =0. adică la proiectul B nu se mai alocă alt cercetător. ˆ ˆ ˆ ˆ x A = x B − d B = 1 . astfel: ˆ ˆ xC = 2 şi d C = 1 .15 * ˆ d A ( x) 0 1 2 fB(x)* 0. ˆ ˆ ˆ ˆ x B = xc − d C = 1 . dar d B = d B (1) = 0 . însă d A = d A (1) = 1 . Trecem rezultatele calculelor în Tabelul 7.2 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 . Programare dinamică Tabelul 7.08 d B (x) 0 0 2 sau 1 fC(x)* 0.24 0. Profitul adus de fiecare tip de locuinţă este dat de Tabelul 7.11 157 x 0 1 2 fA(x) 0. Tabelul 7.7. B3. Probleme propuse 1. O firmă de construcţii are 4 000 000 euro pe care vrea să-i investească în construirea a 3 tipuri de locuinte B1. R.

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

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

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

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

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

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

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

analog. coeficientul legat de servicii rămâne µn . lungimea maximă a cozii este m<∞. În acest caz.0141 0. coeficientul de proporţionalitate depinde de numărul n de unităţi aflate în sistem la momentul respectiv şi rămâne λn .0791 0.2500 2.0188 0. În ecuaţiile de stare (8.1055 0. obţinem ecuaţia − mλ p 0 + µ p1 = 0 ⇒ p1 = m λ p0 .2500 3. FIFO) Pentru acest model.0750 0.0045 0.2500 0.0079 0.4.170 Tabelul 8. deoarece există o singură staţie.0033 0.0445 0.0000 0.1875 0.0059 0.0106 0. (m − n )λ ∆t = λ n ∆t şi atunci λ n = (m − n )λ . şi îl notăm cu µ . înlocuind λn şi µn şi considerând µn+1 = 0.0025 0.1000 0. Coeficientul µn nu depinde de numărul de clienţi din sistem la un moment dat.0250 0.7500 8. µ . probabilitatea ca în intervalul de timp de lungime ∆t>0 să sosească un client în sistem este proporţională cu mărimea intervalului.0593 0.1406 0.4).1 Modele şi algoritmi de optimizare WAITING LINES ************* NUMBER OF CHANNELS = 1 POISSON ARRIVALS WITH MEAN RATE = 30 EXPONENTIAL SERVICE TIMES WITH MEAN RATE = 40 OPERATING CHARACTERISTICS ------------------------THE PROBABILITY OF NO UNITS IN THE SYSTEM THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE THE AVERAGE NUMBER OF UNITS IN THE SYSTEM THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM THE PROBABILITY THAT AN ARRIVING UNIT HAS TO WAIT Number of Units in the System ----------------------------0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 OR MORE Probability ----------0. În ecuaţiile de stare (8.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.0075 0. Modelul Po(λ)/Exp(µ)/1:(m.0334 0.

Am = 1 . Elemente de teoria aşteptării 171 În cea de-a doua ecuaţie din (8. 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 ) .8. ⎜µ⎟ ⎜µ⎟ ⎝ ⎠ ⎝ ⎠ 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 . λ λ 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 . 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 . ⎜µ⎟ ⎝ ⎠ Luând n = 2.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 . ⎟ 0 ⎝ 0 ⎠ . deci M [ N (t )] = m − (1 − p 0 ) .

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

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

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

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

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

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

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

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

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

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

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

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

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

Simularea se foloseşte în . Simularea nu determină soluţia optimă a modelului matematic.0005 12 0.0153 8 0.3881 THE PROBABILITY THAT AN ARRIVING UNIT HAS TO WAIT 0. Simulare Modelele matematice corespunzătoare sistemelor reale sunt folosite pentru a analiza rezultatele deciziilor înainte de implementare.1353 4 0. Elemente de teoria aşteptării 185 Figura 8.5311 Number of Units in the System Probability --------------------------------------0 0.2813 2 0.0863 5 0.2005 3 0.0000 8.4 WAITING LINES ************* NUMBER OF CHANNELS = 2 POISSON ARRIVALS WITH MEAN RATE = 0.8.0518 6 0.7424 THE AVERAGE NUMBER OF UNITS IN THE SYSTEM 2.5 Tabelul 8. Modelul de simulare urmăreşte evoluţia în timp a sistemului real şi ţine seamă şi de factorul aleatoriu. În situaţia în care modelul matematic poate fi rezolvat analitic.1876 THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE 0.1876 1 0. această metodă este preferabilă simulării.0075 9 0.0291 7 0.3 EXPONENTIAL SERVICE TIMES WITH MEAN RATE = 4 PER CHANNEL FINITE CALLING POPULATION OF SIZE = 20 OPERATING CHARACTERISTICS ------------------------THE PROBABILITY OF NO UNITS IN THE SYSTEM 0.0034 10 0.1381 THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM 0.0002 13 0. ci compară rezultatele mai multor alternative predefinite cu scopul de a o reţine pe cea mai avantajoasă.0001 14 0. deoarece se obţine soluţia optimă.0859 THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE 0.7.0014 11 0.

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

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. împreună cu rezultatele simulării.7. Tabelul 8. Au fost generate 35 de numere.3 Descărcate 0 0 0 2 2 1 1 1 0 1 1 2 2 2 2 2 2 1 1 2 2 0 2 2 1 1 0 2 2 1 2 1 2 0 2 41 1.36 .7. care sunt trecute în Tabelul 8. Elemente de teoria aşteptării 187 iniţializare (o considerăm de 5 zile) pentru ca sistemul să se apropie de o situaţie normală.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.8.

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

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

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

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

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

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

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

iar r(t). 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ă. • costul lipsei de stoc. precum şi pierderile rezultate din nesatisfacerea cererilor (penalizările) să fie minime. 1974). Eficienţa unui stoc de-a lungul unui interval de timp este dată de o funcţională de forma . Eficienţa se defineşte în funcţie de costuri şi acestea pot fi: • costul de depozitare. pot fi deterministe sau aleatoare. considerat momentul iniţial de la care se urmăreşte evoluţia stocului. rata cererii la momentul t. • costul de lansare. 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. b(t). 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. Fie I(0) = I0. nivelul stocului la momentul t = 0.2. Cererea nu se confundă întotdeauna cu ieşirea.9. II. iar funcţia a(t) trebuie aleasă astfel încât să se realizeze un obiectiv sau o eficienţă dorită. 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. În urma satisfacerii cererii stocul se micşorează şi. r(t). Valoarea resursei I = I (t) este o funcţie de timp.1. 0 t Ieşirile din stoc. rata ieşirilor din resursă. De cele mai multe ori însă b(t) = r(t) . nevoia reaprovizionării lui. şi/sau cererea. Scopul menţinerii unui stoc este acela de a satisface o cerere. 9. Concepte utilizate în teoria stocurilor Rezolvarea problemelor legate de determinarea stocurilor optime se face cu ajutorul unor modele matematice ale teoriei stocurilor. rata intrărilor în resursă la momentul t şi b(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. Variaţia stocului este dată de relaţia I (t ) = I 0 + ∫ (a (t ) − b(t ) )dt . 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). de aici. care rezultă din cheltuielile pentru lansarea comenzilor de reaprovizionare şi introducerea lor în stoc sau lansarea fabricaţiei. Fie a(t).

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

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

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

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

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

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

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

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

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

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

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

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

298.111.52 În continuare sunt prezentate alte două variante ale modelului clasic.38 $60.055.05 $972.74 2.104.20 18. .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.56 $425.33 $486.480.552.406.8 Apăsând butonul Solve se obţine soluţia modelului sub forma dată în Tabelul 9.32 925.944.208 Modele şi algoritmi de optimizare Figura 9.18 16.82 274.835.2. Tabelul 9.756.608.76 6.

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

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

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

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

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

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 . 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..50 ⎠ s := 50 Costul unitar anual de stocare este o fractiune ρ din costul de achizitionare ρ := 0. programat în MathCAD şi aplicat exemplului precedent. last ( x) if m > x k k m← x i←k ⎛ m⎞ ⎜ ⎝i⎠ .75 ⎞ pu := ⎜ 2.60 ⎜ ⎝ 2.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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