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

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

6 Modele şi algoritmi de optimizare .

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

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

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

10 Modele şi algoritmi de optimizare .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6.3.6} . S={1.5])}=min{5. z∈ X − S y=2. z∈X − S S={1. Γ(4) = {1. ∏(2)+l([2. Π (4). S={1}. ∏(6)=min{∏(6). ∏(4)+l([4. ∏(2)+l([2.6])}=min{12.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). Π(5).2. Π(7)} = Π(5) . Π (5).4} .3.6} . Grafuri în optimizare 27 Pas 1. Π (4).5+7}=12 y ∏(y) 1 0 2 1 3 5 4 3 5 5 6 8 7 12 . y=3. Π (5).4])}=min{4.3+9}=12 y ∏(y) 1 0 2 1 3 5 4 3 5 5 6 12 7 ∞ Iteraţia a III-a {Π( y )} = min {Π( z )} = min{Π(3).4}.2}. ∏(5)=min{∏(5). z∈X − S Γ(3) = {2.4} .5])}=min{∞.4.3+2}=5 ∏(6)=min{∏(6).4}.3+5}=5 ∏(5)=min{∏(5). ∏(2)=l([1.3.5}. ∏(4)+l([4. Γ(2) = {1.2. Γ(1) = {2.5+6}=8 ∏(7)=min{∏(7).5. y=5. ∏(5)+l([5. ∏(4)+l([3. ∏(5)+l([5. y=4.7])}=min{∞. Π (6).2.2])=1 ∏(3)=min{∏(3). S={1. ∏(3)=min{∏(3). ∏(3)+l([3.4. Π(7)} = Π (2) .2.6])}=min{∞.1+4}=5 ∏(4)=min{∏(4).6])}=min{8.5+3}=8 y ∏(y) 1 0 2 1 3 5 4 3 5 5 6 8 7 ∞ Iteraţia a IV-a {Π( y)} = min {Π( z )} = min{Π(5).4. Π(6). S={1. Π(7)} = Π(3) . Iteraţia I .5+2}=5 ∏(6)=min{∏(6). ∏(3)+l([3. Π(6). Π(3). z∈ X − S Γ(5) = {3. s=1. {Π ( y )} = min {Π ( z )} = min{Π(2). y ∏(y) 1 0 2 1 3 ∞ 4 4 5 ∞ 6 ∞ 7 ∞ Pas 2.4])}=min{5. Π(6).3])}=min{∞. Π(7)} = Π(4) .3.2.7} .5.

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

Grafuri în optimizare 29 Figura 2.2. . Figura 2. În realizarea unui proiect unele activităţi trebuie să aibă o anume succesiune. 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. 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.10 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.9 Rezultatele sunt afişate după selectarea din meniul Solution a opţiunii Solve (Figura 2.4.

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

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

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

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

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

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

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

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

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

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

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

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

5 3 A B C D E F G H I J Să se precizeze activităţile critice. R. cea mai probabilă 17 şi cea mai pesimistă 19. Activităţile critice sunt A.5 7. 9.5 2.5 2.5 1 5 1. 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. Tabelul 2. H.72 . G. Pentru aceasta iniţiază un proiect ale cărui activităţi şi durate sunt trecute în Tabelul 2. DS DF 0 10 0 4 0 8 10 15 8 8 Activitate A B C D E TS 0 6 2 10 15 TF 10 10 10 15 15 M 0 6 2 0 7 c) Drumul critic conţine activităţile A. Tabelul 2.10. I.5 4.11 . . duratele: cea mai optimistă.5 1.5 1.5 3 4 3 2 3 3. E H F.5 2 2 12 5 4 11 4 2. cea mai probabilă şi cea mai pesimistă de realizare a acestui proiect.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.42 Modele şi algoritmi de optimizare b) Valorile cerute sunt conţinute în Tabelul 2. O firmă producătoare de aspiratoare îşi propune să introducă în fabricaţie aspiratoare portabile. E.10.28 . D şi are lungimea 15.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 . zj−cj= c′ ej−cj=cj−cj=0.38) Elementele celorlalte linii se calculează cu regula dreptunghiului cu diagonala principală cea a pivotului. y kj = y lk y lk (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 .6. A treia coloană (VVB) conţine valorile variabilelor de bază. Programare liniară 63 4. B Pentru calculul elementelor z B −cj şi j zB ale primului tablou este util să trecem coeficienţii cj din funcţia obiectiv în partea de sus a coloanelor respective. Pentru variabilele de bază. ultima linie fiind valoarea funcţiei obiectiv pentru programul de bază corespunzător bazei B.40) . B j Observaţia 4. Elementul ylk se numeşte pivot şi îl evidenţiem încercuindu-l. ~ ~ y lj x B (i ≠ l ) x iB = x i − y ik l (i ≠ l ) . adică zB. A doua coloană (VB) conţine variabilele de bază.4.5.1). iar ultima linie conţine diferenţele zj−cj= c ′ yi−cj. y ij = y ij − y ik (4.1). Presupunem că baza B este formată din primele m coloane ale matricei A.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. Tabelul simplex şi transformarea sa Presupunem că pentru o bază B am calculat x i . zj−cj. z . yij şi le dispunem într-un tabel numit tabel simplex (Tabelul 4. z B − c j = (z j − c j ) − ( z k − c k ) j y lk y lk (4. Coloanele următoare conţin vectorii y B (având grijă ca pentru variabilele de j bază y B =ej). Prima coloană (CVB) conţine coeficienţii din funcţia obiectiv ai variabilelor de bază.

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

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

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

Figura 4.6 0 0 9 5 0 Vom rezolva această problemă utilizând pachetul de programe Management Scientist. 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. apare fereastra în care se introduc coeficienţii funcţiei obiectiv şi restricţiile problemei.2. Selectăm acest modul şi în fereastra care apare din submeniul File alegem New. ca în Figura 4. ca în Figura 4. Programare liniară 67 Tabelul 4. .4 4 3 x2 0 x3 0 x4 0 x5 alegem min xi yik CVB VB VVB x1 4 x1 6 5 1 0 3 5 − 2 5 1 5 0 − 1 5 1 5 8 0 x4 46 5 28 5 0 0 1 − 24 3 x2 0 1 − 0 2 5 2 5 28 5 alegem min zj−cj < 0 valoarea funcţiei obiectiv z 21. În fereastra Problem Features precizăm numărul de variabile. de restricţii şi tipul problemei.1.4.4.1 După apăsarea butonului OK.

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. atunci costul redus este zero. Astfel.000 0.800 0. 1998).600 Slack/Surplus --------------0.200 5.000 24.000 Upper Limit --------------No Upper Limit No Upper Limit RIGHT HAND SIDE RANGES Constraint -----------1 2 3 Lower Limit --------------No Lower Limit No Lower Limit No Lower Limit Current Value --------------8.600 Reduced Costs -----------------0.000 Dual Prices -----------------1.000 18.000 0.5 Objective Function Value = Variable -------------X1 X2 Constraint -------------1 2 3 21.000 9. dacă o variabilă este deja pozitivă.2 După ce s−au introdus datele.000 3.400 Value --------------1. . pentru rezolvare se apasă butonul Solve şi apare fereastra cu rezultate ca în Tabelul 4.68 Modele şi algoritmi de optimizare Figura 4.000 OBJECTIVE COEFFICIENT RANGES Variable -----------X1 X2 Lower Limit --------------No Lower Limit No Lower Limit Current Value --------------4.200 0.000 Upper Limit --------------No Upper Limit No Upper Limit No Upper Limit Rezultatele sunt cele obţinute şi în urma aplicării algoritmului simplex.5. Tabelul 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. atunci variabilele auxiliare sunt nenule. Pentru restricţiile verificate cu egalitate aceste preţuri vor fi nenule. Aceeaşi problemă poate fi rezolvată şi utilizând Solver-ul din Excel. Programare liniară 69 Informaţiile despre restricţii (Constraint) din Tabelul 4.4.3 .5 se referă la: − Slack/Surplus – această coloană dă valorile variabilelor auxiliare. din cauza nefolosirii integrale a resurselor disponibile. Figura 4. Analiza sensibilităţii prezentată mai sus se bazează pe faptul că un singur termen liber variază la un moment dat. H8= B8*D13+C8*D14. iar celula D3 = B10*D13+C10*D14. ceilalţi rămânând la valorile iniţiale. funcţia de optimizat. Celulele D13−D14 sunt considerate necunoscutele x1 – x2 . În Management Scientist un preţ dual înseamnă « îmbunătăţirea valorii optime a funcţiei obiectiv corespunzătoare creşterii cu o unitate a termenului liber al restricţiei » . − Dual prices – conţine informaţii despre valorile marginale ale resurselor. Mai întâi se creează foaia electronică de calcul cu datele de intrare. Observaţia 4. 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ă. Dacă restricţiile sunt verificate cu inegalităţi stricte.3. H9= B9*D13+C9*D14.6. ca în Figura 4. celulele H7−H9 conţin restricţiile problemei H7= B7*D13+C7*D14. Pentru restricţiile cu inegalităţi stricte aceste preţuri sunt nule. altfel vor fi nule.

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

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

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

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

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

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

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

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

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

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

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

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 .

dar în timp ce o problemă este de minim. Problema duală asociată problemei (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.12.82 Modele şi algoritmi de optimizare Tabelul 4. atunci ele sunt egale.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. cealaltă este de maxim. Vom demonstra că dacă valorile optime ale funcţiilor obiectiv sunt finite.20). Fie problema de programare liniară sub forma generală (4.20) este următoarea problemă de programare liniară .Variabilele problemei duale pot fi interpretate ca preţuri asociate cu restricţiile problemei primale şi această asociere permite o interpretare economică a problemei duale.

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

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

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

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

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

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

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

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

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

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

iar costul total al resurselor să fie minim. . Programare liniară 3 4 5 0 0 alegem min min yij <0 93 CVB VB VVB x1 −1 −2 x2 −2 −2 x3 −3 −1 x4 x5 zj −cj y ij 0 x4 −5 −6 1 0 −3 −4 −5 . − 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. 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 .4. Inegalitatea dată de Lema slabă a dualităţii pentru acest cuplu de probleme duale ( c ′x ≤ b ′u ) are aici următoarea semnificaţie: pentru nici un plan de . −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.

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. atunci variabilele ecart formează o soluţie de bază dual admisibilă.. + xν k = M . Pentru a face pozitivi toţi coeficienţii funcţiei obiectiv. 4. Dacă cν f = max c j 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. cu M suficient de mare. În plus. 1971) x n +1 + xν 1 + xν 2 + . 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. deoarece în acest caz zi−ci= −ci ≤ 0.16. 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 . Exemplu xν r . 1 ≤ r ≤ k . x2 formează o bază care nu este primal admisibilă pentru că x1= − 4 . introducem relaţia suplimentară x 6 + x 3 + x 4 = M .. costurile interne nenule se atribuie numai resurselor folosite integral în cadrul acestui plan. xn+1 o nouă variabilă. Relaţiile Teoremei ecarturilor complementare scrise sub forma n ⎛ ⎞ ⎛ m ⎞ u i ⎜ bi − ∑ a ij x j ⎟ = 0 . 1 ≤ j ≤ n ⎜ ⎟ ⎜ ⎟ j =1 ⎝ i =1 ⎠ ⎝ ⎠ în acest caz au următoarea interpretare: într-un plan de producţie optim nu se pot produce sortimente pentru care consumurile de resurse – calculate pe baza costurilor interne – depăşesc profiturile. 1 ≤ i ≤ 5 ⎩ x1. Dacă nu toţi coeficienţii funcţiei obiectiv sunt nenegativi. Se obţine o j c j <0 { } nouă problemă care are toţi coeficienţii funcţiei obiectiv nenegativi: . iar variabilele care corespund coeficienţilor cν r < 0 . se înlocuieşte xν f din restricţia suplimentară în funcţia obiectiv. se introduce o restricţie nouă (Maliţa şi Zidăroiu. egalitatea se realizează doar pentru programele optime de producţie şi pentru costuri interne optime. 1 ≤ i ≤ m şi x j ⎜ ∑ a ij u i − c j ⎟ = 0 .

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

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

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

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

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

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

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

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

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

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

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

106

Modele şi algoritmi de optimizare

Corolar 5.2. Dacă toate costurile unitare din problema de transport sunt întregi, atunci, dând o valoare întreagă la un multiplicator oarecare, multiplicatorii simplex asociaţi cu orice bază sunt întregi. Dacă multiplicatorii simplex sunt cunoscuţi, coeficienţii costurilor relative pentru variabilele nebazice pot fi calculaţi cu relaţiile α ′ = λS − c ′ . S S În acest caz coeficienţii costurilor relative sunt α ij = u i + v j − cij , (∀) i = 1, m , (∀) j = 1, n . Pentru variabilele bazice

α ij = 0 . Dată o bază, calculul multiplicatorilor

simplex este asemănător cu calculul variabilelor de bază. Conform cu algoritmul simplex general, dacă o variabilă nebazică are un coeficient de cost relativ pozitiv, atunci acea variabilă este candidată să intre în bază. Cum valoarea acestei variabile este crescătoare, valorile variabilelor de bază curente vor fi schimbate astfel încât să se menţină admisibilitatea soluţiei. Valoarea noii variabile va creşte exact până la valoarea pentru care vechea variabilă de bază devine zero. Dacă noul vector de bază este d , atunci schimbarea în celelalte variabile de bază este dată de − B −1d , unde B este baza curentă. Din nou avem de-a face cu o problemă de rezolvare a unui sistem cu bază triunghiulară şi din nou soluţia are proprietăţi speciale. Teorema 5.4. Fie B o bază extrasă din A (după ignorarea unei linii) şi fie d o coloană a lui A care nu este inclusă în B. Atunci, componentele vectorului y = B −1 d sunt fie − 1 , 0 sau +1. Demonstraţie. Fie y soluţia sistemului By=d. Atunci, y este reprezentarea lui d în baza B . Acest sistem de ecuaţii poate fi rezolvat cu regula lui Cramer det B k yk = , det B unde Bk este matricea obţinută prin înlocuirea în matricea B a coloanei k cu coloana d . Atât B cât şi Bk sunt submatrice ale lui A. Matricea B poate fi pusă sub forma triunghiulară cu toate elementele diagonalei egale cu +1. Atunci, detB=+1 sau − 1 , după cum liniile sau coloanele au fost permutate. Analog detBk=+1 , 0 sau − 1 . Concluzionăm că fiecare componentă a lui y este fie 0, +1 sau − 1 . Din Teorema 5.4 rezultă că atunci când o nouă variabilă este adăugată la soluţie la un nivel unitar, variabilele de bază curente se vor schimba cu +1, − 1 sau 0. Dacă noua variabilă are valoarea θ , atunci, corespunzător, variabilele de bază se vor schimba cu +θ, −θ, sau 0. Este, aşadar, necesar să determinăm semnul schimbării fiecărei variabile de bază.

5. Problema de transport

107

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

5.2. Enunţul algoritmului de transport

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

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

S fiind mulţimea celulelor corespunzătoare coloanelor matricei A care nu se află în B (celule secundare). Dacă α ij ≤ 0 pentru (∀) (i, j ) ∈ S , atunci soluţia de bază x ij este
optimă. Stop! Altfel, se determină ( s, k ) ∈ S , luând drept criteriu de intrare în bază

α sk = max{ α ij (∀)(i, j ) ∈ S

}

.

Pas 2. Se determină ciclul format de ( s, k ) ∈ S cu o parte din celulele lui B şi se numerotează celulele alegând un sens de parcurgere a ciclului.

108

Modele şi algoritmi de optimizare

Se determină celula (r , t ) ∈ B care va ieşi din bază , luând drept criteriu
de ieşire din bază x rt = min x ij

{ },

minimul fiind luat după toate celulele

de ordin par din ciclul determinat mai sus. ~ Pas 3. Se formează, pornind de la baza B, baza B , prin înlocuirea coloanei art ~ cu coloana ask . Se determină soluţia de bază admisibilă x ij ~ corespunzătoare bazei B , folosind pentru schimbarea bazei formulele: ⎧ xij − xrt dacã (i,j ) este de rang par în ciclu ~ = ⎪ x + x dacã (i,j ) este de rang impar în ciclu xij ⎨ ij rt ⎪x dacã (i,j ) nu face parte din ciclu ⎩ ij ~ Se înlocuieşte B cu B , x ij cu ~ij şi se trece la Pas 1. x

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

Algoritmul prezentat mai înainte necesită la pornire un program de bază iniţial. Metoda generală de obţinere a acestui program este următoarea (Maliţa şi Zidăroiu, 1971): a) Se dă unei variabile de bază oarecare xij valoarea x ij = min {a l , bk } .
1≤ l ≤ m 1≤ k ≤ n

b) Se înlocuiesc ai şi bj cu a i − x ij şi respectiv cu b j − x ij şi se suprimă linia i , dacă x ij = ai , sau coloana j , dacă x ij =bj . Dacă ai=bj se suprimă fie linia i , fie coloana j . c) Se repetă operaţiile de la a) şi b) până când toate cererile sunt satisfăcute. Să demonstrăm că algoritmul de mai sus produce o soluţie de bază. De fiecare dată când apare un xij>0 se suprimă o linie şi/sau o coloană. La sfârşit, vor rămâne o coloană şi o linie nesuprimate. Până în acest moment au fost suprimate m+n−2 linii şi coloane. Cantitatea rămasă în linia nesuprimată este egală cu cantitatea rămasă în coloana nesuprimată, aşa cum rezultă din condiţia de echilibru. Satisfăcând şi ultima linie, se obţine o nouă variabilă xij>0 , adică sunt cel mult m+n−1 variabile xij>0. Există diferite metode de determinare a programului de bază iniţial obţinute din metoda generală prezentată mai sus, după cum se particularizează xij cu care se începe metoda, cum ar fi de exemplu: metoda colţului nord-vest a lui G. B. Dantzig (se selectează celula (i,j) situată în prima linie şi prima coloană) şi metoda

5. Problema de transport

109

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

5.4. Exemplu

O întreprindere de construcţii are în lucru 4 blocuri de locuinţe în diferite locuri în oraş şi se aprovizionează cu mortar de la 3 staţii de betoane de asemenea amplasate în diferite locuri. Prin contract, prima staţie de betoane asigură 10 m3 , a doua 15 m3 , iar a treia 25 m3 . Necesarul zilnic de mortar pentru fiecare bloc este de 5 m3 pentru primul, 10 m3 pentru al doilea, 20 m3 pentru al treilea şi 15 m3 pentru al patrulea. Preţul de transport pentru 1 m3 de la o staţie de betoane la un bloc este dat de Tabelul 5.1.
Tabelul 5.1 Bloc Staţie betoane S1 S2 S3 Necesar (bj) B1 8 4 1 5 B2 3 1 9 10 B3 5 6 4 20 B4 2 7 3 15 Disponibil ( ai ) 10 15 25

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

110

Modele şi algoritmi de optimizare

Matricea restricţiilor ⎛1 ⎜ ⎜0 ⎜0 ⎜ A = ⎜1 ⎜ ⎜0 ⎜0 ⎜ ⎝0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0⎞ ⎟ 0⎟ 1⎟ ⎟ 0⎟ ⎟ 0⎟ 0⎟ ⎟ 1⎠

b) Determinarea unei soluţii iniţiale de bază Determinarea soluţiei iniţiale de bază se face cu metoda colţului nord-vest, pornind de la Tabelul 5.1, obţinându-se Tabelul 5.2. min {a1,b1}= min {10,5}=5=b1 , x11=5 se suprimă coloana 1 min {a1,b2}= min {5,10}=5=a1 , x12=5 se suprimă linia 1 min {a2,b2}= min {10,5}=5=b2 , x22=5 se suprimă coloana 2 min {a2,b3}= min {10,20}=10=a2 , x23=100 se suprimă linia 2 min {a3,b3}= min {25,10}=10=b3 , x33=10 se suprimă coloana 3 min {a3,b4}= min {15,15}=15=b4 , x34=15 se suprimă linia 3 şi coloana 4
Tabelul 5.2 Bloc Staţie betoane S1 S2 S3 Necesar (bj) B1 5 B2 5 5 10 5 B3 B4 Disponibil( ai ) 10 5 15 10 25 15

5

10 10 20 10

15 15

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

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

5. Problema de transport

111

⎛1 ⎜ ⎜0 ⎜0 B=⎜ ⎜1 ⎜ ⎜0 ⎜0 ⎝

1 0 0 0 1 0

0 1 0 0 1 0

0 1 0 0 0 1

0 0 1 0 0 1

0⎞ ⎟ 0⎟ 1⎟ ⎟ 0⎟ ⎟ 0⎟ 0⎟ ⎠

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

(∀) (i, j ) ∈ S

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

.

Intră în bază celula (1,4) . Vectorul d corespunzător este d’=(1 0 0 0 0 0)’ . Pas 2. Se determină ciclul iniţiat de celula (1,4) x11 x12 x22 x23 x33 x34 ′ ′ y = − B −1 d = − B −1 (1 0 0 0 0 0 ) = (0 − 1 1 − 1 1 − 1) C1 = (1,4) , (1,2) , (2,2 ) , (2,3) , (3,3) , (3,4 ) , (1,4) .

{

}

Se determină celula care iese din baza B1 cu criteriul { xij }= x12 = 5 x i0 j o = min
(i , j )∈{ (1, 2 ) , (2 , 3 ) , (3, 4 )}

(minimul s-a luat după toate celulele de ordin par (poziţiile cu semn minus) din ciclul C1) . ~ Pas 3. Aşadar, iese din bază celula (1,2) şi se obţine baza B1 cu celulele: ~ B1 = { (1,1) , (1,4 ) , (2 ,2) , (2,3) , (3,3) , (3,4 ) } . Se calculează ⎧ xij − xrt dacã celula (i,j ) este de rang par în ciclul C1 , semnul − ~ = ⎪ x + x dacã celula (i,j ) este de rang impar în ciclul C , semnul + xij ⎨ ij rt 1 ⎪x dacã celula (i,j )∉ C1 ⎩ ij

şi se trec în Tabelul 5.4

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

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

Pentru aceasta creăm foaia de calcul cu datele de intrare ca în Figură 5.3 În celula D3 introducem funcţia de optimizat D3 =C7*B13+C8*B14+ . Figura 5.3.2 Să rezolvăm aceeaşi problemă utilizând Solver-ul din Excel.114 Modele şi algoritmi de optimizare Figura 5. efectuând paşii descrişi în continuare.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0. 2 x2=4 f 2 (4) = max[r2 (d 2 ) + f1 (4 − d 2 )] cu 0 ≤ d 2 ≤ 4 .. 1.5} = max[0 + 0. x2 = 5 f 2 (5) = max[r2 (d 2 ) + f1 ( x2 − d 2 )] . 3} f 2 (3) = max[r2 (0) + f1 (3) . 0.41 + 0. r2 (2) + f1 (1) .55 + 0. 3 .78. 0. x2=1 f 2 (1) = max[r2 (d 2 ) + f1 (1 − d 2 )] cu 0 ≤ d 2 ≤ 1 .06. Astfel ˆ (5) = 2 .00. r2 (3) + f1 (1). Deoarece r2(0)=0 şi f1(0)=0 rezultă d2=0. 0.75 + 0] = = max[0.45. r3 (1) + f 2 (0)] = max[0 + 0. 0.28. r2 (2) + f1 (0) ] = = max[0 + 0.150 Modele şi algoritmi de optimizare x2=0 f 2 (0) = max[r2 (d 2 ) + f1 (0 − d 2 )] = 0 cu 0 ≤ d 2 ≤ 0 . r2 (2 ) + f1 (3).1.25 + 0.28 ˆ obţinută pentru d (1) = 0 .9. 4} f 2 (4) = max[r2 (0) + f1 (4) . 0.65.41 + 0. 0.25 + 0] = 0.28. 1. 2.9.03. f 3 (1) = max[r3 (0) + f 2 (1) .41 + 0] = 0. g 2 (1) + f1 (2). 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 .83. d (0) = 0 . 0.06 obţinut pentru d2=2 . rezultă d (4) = 1 . r2 (1) + f1 (3). r2 (1) + f1 (4 ). f 2 (1) = max[r2 (0) + f1 (1) .93. r2 (4) + f1 (0)] = = max[r2 (0) + f1 (5). 2 x2=2 f 2 (2) = max[r2 (d 2 ) + f1 (2 − d 2 )] cu 0 ≤ d 2 ≤ 2 .45. 2 = max[0 + 0.65 + 0. 2 x2=3 f 2 (3) = max[r2 ( d 2 ) + f1 (3 − d 2 )] cu 0 ≤ d 2 ≤ 3 .1.28. d 2 ∈ { 0. r2 (5) + f1 (0)] = d 2 ∈ { 0. rezultă d (2) = 1 . 0.86. 0. r2 (4 ) + f1 (1).70 ˆ rezultat obţinut pentru d=1 şi astfel d (3) = 1 . 1.25 + 0.28 ˆ valoare obţinută pentru d (1) = 0 . d 2 ∈ { 0. 0. r2 (2) + f1 (2) .25 + 0. 0.78.75] = 1. 0.. 2} f 2 (2) = max[g 2 (0) + f1 ( 2) . d 2 ∈ { 0. 0. 0.. 2.28. d 3 ∈ { 0.53 ˆ valoare obţinută pentru d=1. r2 (1) + f1 (0)] = max[0 + 0. d 2 x3 = 0 f 3 (0) = max[r3 (d 3 ) + f 2 (0 − d 3 )] ˆ rezultă d3=0.28. 0. g 2 (3) + f1 (2 ). 0.45.90.55 + 0] = 0.1} .65.90 ˆ valoare obţinută pentru d=1. 3.15 + 0] = 0. r2 (3) + f1 (0)] = = max[0.65] = 0. 0. 3 cu 0 ≤ d 3 ≤ 0 .1.1. r2 (1) + f1 (1). d 2 ∈ { 0. 1 } .

4} = max[0.06 ˆ obţinut pentru d=0.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 . Tabelul 7.70 0.28 0.70. 0. r3 (1) + f 2 (4).06. 4} f 3 (5) = max[r3 (0) + f 2 (5) .9 şi ˆ ˆ ˆ d 4 (4) = 0 sau d 4 (4) = 1 .28 0. 0. x3=4 f 3 (4) = max[r3 (d 3 ) + f 2 (4 − d 3 )] cu 0 ≤ d 3 ≤ 4 .78.78 0.1 şi d 4 (5) = 1 .40] = 0.90 1.68.95. d 3 ∈ {0. ˆ ˆ Analog. 0.53 0. r3 (5) + f 2 (0)] = max[1. f4(4)=0.25]= 0. rezultă d 3 (5) = 0 . 0. r3 (1) + f 2 (1). găsim pentru f4 valorile: f4(0)=0 şi d 4 (0) = 0 .05. r3 (3) + f 2 (1).28 0. 2. r3 (2) + f 2 (0) ] = max[0.53 şi ˆ d 4 (2) = 0 .53. f4(2)=0. Centralizăm în Tabelul 7. 2. r3 (3) + f 2 (1) ] = ˆ valoare obţinută pentru d=0. 0.68. 0. r3 ( 4) + f 2 (1). f4(3)=0.06 d 4 ( x) f4(x) 0 0. 3 x3=2 f 3 (2) = max[r3 (d 3 ) + f 2 (2 − d 3 )] cu 0 ≤ d 3 ≤ 2 .53 0. 3.65 0.93.53. r3 (3) + f 2 (0) ] = x3=3 f 3 (3) = max[r3 (d 3 ) + f 2 (3 − d 3 )] cu 0 ≤ d 3 ≤ 3 .73 şi ˆ d 4 (3) = 1 .1. 0.73 0. 2} f 3 (3) = max[r3 (0) + f 2 (3) . r3 (3) + f 2 ( 2). r3 (2) + f 2 (2). Programare dinamică 151 f 3 (2) = max[r3 (0) + f 2 (2) . d 3 ∈ { 0. f4(1)=0. 1. d 3 ∈ { 0. 3.28 0. 0. r3 (1) + f 2 (3).53 0. 0. d 3 ∈ { 0. 0.1.90 f 3 (4) = max[r3 (0) + f 2 (4) . 3} = max[0.43.90.70 ˆ Aşadar.90 1.06 d 3 ( x) f3(x) 0 0. rezultă d 3 (4) = 0 .28 şi d 4 (1) = 0 .85.5] = 0.53 ˆ obţinută pentru d (2) = 0 .0.70 0.60] = 1. 0.7.90 1.1. x3=5 f 3 (4) = max[r3 (d 3 ) + f 2 (4 − d 3 )] cu 0 ≤ d 3 ≤ 4 . 1. r3 (2) + f 2 (3).78.45 0. 2.90 d 2 ( x) f2(x) 0 0.2 valorile găsite pentru f şi d .2 x 0 1 2 3 4 5 d1 ( x) f1(x) 0 0. r3 (2) + f 2 (1). f4(5)=1. pentru d=0 s-a obţinut valoarea maximă şi rezultă d 3 (3) = 0 . r3 (1) + f 2 (2). 0.

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

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

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. d1=5 cu costul minim. d2=2 . Tabelul 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 .7) se poate termina cu 0. d3=2 . . rezultă Tabelul 7. f(d)=0×12+5×11+2×20+2×15+5×13=190 .8) avem x5=0 şi. d4=5 . deoarece x4+d5=b5=2. 1 sau 2 unităţi în stoc (x3+d4=b4=3).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.154 Modele şi algoritmi de optimizare Tabelul 7.

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

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

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

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

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

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

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

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

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

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

Modelul Po(λ)/Exp(µ)/1:(m. lungimea maximă a cozii este m<∞.0141 0. probabilitatea ca în intervalul de timp de lungime ∆t>0 să sosească un client în sistem este proporţională cu mărimea intervalului.0025 0. În acest caz. µ .0445 0.1055 0. şi îl notăm cu µ .7500 8.1406 0.1875 0.2500 2.0750 0. În ecuaţiile de stare (8. obţinem ecuaţia − mλ p 0 + µ p1 = 0 ⇒ p1 = m λ p0 .2500 0. În ecuaţiile de stare (8. înlocuind λn şi µn şi considerând µn+1 = 0.170 Tabelul 8.0045 0. coeficientul legat de servicii rămâne µn .4).0033 0.0593 0.0079 0.0791 0.0059 0.2500 3.0075 0.1000 0.0106 0. (m − n )λ ∆t = λ n ∆t şi atunci λ n = (m − n )λ . FIFO) Pentru acest model.0334 0. coeficientul de proporţionalitate depinde de numărul n de unităţi aflate în sistem la momentul respectiv şi rămâne λn . deoarece există o singură staţie.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.4.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.0250 0. analog. Coeficientul µn nu depinde de numărul de clienţi din sistem la un moment dat.0188 0.0000 0.

8. Elemente de teoria aşteptării 171 În cea de-a doua ecuaţie din (8. Am = 1 . ⎟ 0 ⎝ 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 . deci M [ N (t )] = m − (1 − p 0 ) . Calculul elementelor necunoscute ale modelului • numărul mediu de clienţi din sistem m ⎛λ⎞ n⎛λ ⎞ M [ N (t )] = ∑ np n (t ) = ∑ nA ⎜ ⎟ p 0 = ∑ [m − (m − n)] Am ⎜ ⎟ p 0 = ⎜µ⎟ ⎜µ⎟ n =0 n =0 n =0 ⎝ ⎠ ⎝ ⎠ m m n m m ⎛λ⎞ µ m −1 n ⎛ λ ⎞ n⎛λ ⎞ = m∑ A ⎜ ⎟ p 0 − ∑ ( m − n) Am ⎜ ⎟ p 0 = m − ∑ Am+1 ⎜ ⎟ p 0 = ⎜µ⎟ ⎜µ⎟ ⎜µ⎟ λ n =0 n =0 ⎝ ⎠ 14 ⎝ 44 4 ⎠ 3 n =0 2 144 ⎝ 44 3 4 ⎠ 4 2 1 1 − p0 m n m n n n +1 n n =m− • µ µ (1 − p 0 ) .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 . ⎜µ⎟ ⎝ ⎠ Luând n = 2. 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 . ⎜µ⎟ ⎜µ⎟ ⎝ ⎠ ⎝ ⎠ 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 .

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

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

8907 0. • probabilitatea unei ieşiri dintr-o staţie de servire în intervalul de timp (t .0001 0.25 FINITE CALLING POPULATION OF SIZE = 12 OPERATING CHARACTERISTICS ------------------------THE PROBABILITY OF NO UNITS IN THE SYSTEM THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE THE AVERAGE NUMBER OF UNITS IN THE SYSTEM THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM THE PROBABILITY THAT AN ARRIVING UNIT HAS TO WAIT Number of Units in the System ----------------------------0 1 2 3 4 5 6 7 8 9 10 11 12 Probability ----------0.2 Modele şi algoritmi de optimizare WAITING LINES ************* NUMBER OF CHANNELS = 1 POISSON ARRIVALS WITH MEAN RATE = 0.8907 11. iar venirile sunt independente între ele. Atunci avem: • probabilitatea unei veniri în intervalul ( t .5.0758 0.0008 0.5808 2. t + ∆t ) un client să părăsească sistemul atunci când n staţii de servire lucrează simultan este nµ ∆t + O(∆t) .0442 0.0221 0. deoarece ieşirile din sistem sunt independente.02083 EXPONENTIAL SERVICE TIMES WITH MEAN RATE = 0. .3822 7. t + + ∆t) este µ∆t + O (∆t) .1137 0.1986 1.0000 0.1986 0.1820 0.0092 0.1517 0.1986 0. • probabilitatea ca în intervalul de timp ( t . Modelul Po(λ)/Exp(µ)/c:(∞. având c staţii de servire paralele (identice în ceea ce priveşte timpul de servire). Fie N( t ) numărul mediu de clienţi din sistem la momentul t .0031 0.8014 8.174 Tabelul 8. FIFO) Aceste modele generalizează modelele de aşteptare cu o singură staţie de servire. • 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). • probabilitatea rămânerii unui client în sistem este 1 − µ∆t + O (∆t) . t + ∆t ) este λ∆t + O (∆t).

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

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

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

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

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

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

0091 13 0.0029 17 OR MORE 0. iar timpii de încărcare sunt repartizaţi după legea Exp(µ).5714 THE PROBABILITY THAT AN ARRIVING UNIT HAS TO WAIT 0. staţie de servire 1 coada Veniri O O .1429 THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE 1.1205 4 0.1607 3 0. La o balastieră vin m autobasculante pentru a fi încărcate de c excavatoare.0215 10 0.9286 THE AVERAGE NUMBER OF UNITS IN THE SYSTEM 3.0068 14 0.0381 8 0.0038 16 0.0509 7 0.4 . Elemente de teoria aşteptării Tabelul 8.0121 12 0..4286 THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE 0.2143 2 0.1429 1 0. O şir de aşteptare staţie de servire 2 M numărul zilelor lucrăt Figura 8.3 WAITING LINES ************* NUMBER OF CHANNELS = 2 POISSON ARRIVALS WITH MEAN RATE = 6 EXPONENTIAL SERVICE TIMES WITH MEAN RATE = 4 PER CHANNEL OPERATING CHARACTERISTICS ------------------------THE PROBABILITY OF NO UNITS IN THE SYSTEM 0.0051 15 0.4) vom considera următorul exemplu.0678 6 0.6429 Number of Units in the System Probability --------------------------------------0 0. S-a observat că venirile autobasculantelor la coadă sunt repartizate P0(λ) .0086 181 Pentru prezentarea modelului (schematizat în Figura 8.0161 11 0. Autobasculantele formează o singură coadă şi sunt încărcate după metoda FIFO.3214 THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM 0.8.0904 5 0.0286 9 0..

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

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

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

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. Modelul de simulare urmăreşte evoluţia în timp a sistemului real şi ţine seamă şi de factorul aleatoriu.5 Tabelul 8.0001 14 0.0000 8.7.0153 8 0.0863 5 0. Simularea se foloseşte în .0518 6 0.1353 4 0. Simularea nu determină soluţia optimă a modelului matematic.2813 2 0.8.0859 THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE 0. deoarece se obţine soluţia optimă.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.0002 13 0.0034 10 0. această metodă este preferabilă simulării.0075 9 0. În situaţia în care modelul matematic poate fi rezolvat analitic.0014 11 0.0005 12 0.1876 THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE 0. ci compară rezultatele mai multor alternative predefinite cu scopul de a o reţine pe cea mai avantajoasă.7424 THE AVERAGE NUMBER OF UNITS IN THE SYSTEM 2. Elemente de teoria aşteptării 185 Figura 8.5311 Number of Units in the System Probability --------------------------------------0 0.1876 1 0.1381 THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM 0.4 WAITING LINES ************* NUMBER OF CHANNELS = 2 POISSON ARRIVALS WITH MEAN RATE = 0.0291 7 0.2005 3 0.

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

33 1 1 1 0 1 1 3 3 3 2 2 2 1 1 4 2 0 4 3 1 1 0 2 3 1 2 1 2 0 2 Ziua x x x x x 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Număr aleatoriu 99 6 15 62 86 12 39 39 16 24 45 88 81 53 26 56 77 31 34 94 11 15 92 38 14 36 9 56 84 12 79 25 81 1 65 Total Media Amânate 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 2 0 0 2 1 0 0 0 0 1 0 0 0 0 0 0 9 0. 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. care sunt trecute în Tabelul 8.36 .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.7.8. Tabelul 8. împreună cu rezultatele simulării. Au fost generate 35 de numere. 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ă.7.

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

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

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

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

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

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

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

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

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

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

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

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

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

4). costul de stocare pe o perioadă de timp t0 este ha C h . 2 prs p Astfel. 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.1) . rezultă că aopt determinat realizează minimul pentru C(a) ). de unde rezultă cantitatea optimă de reaprovizionare: h( p − r ) rs 2 prs − 2 = 0 ⇒ a opt = . 2 I(t) a 0 T Figura 9. Topt = . Costul de stocare pe unitatea de timp este C h . r ceea ce revine la a accepta că =0 p (Figura 9. avem costul unitar optim şi intervalul de reaprovizionare optim date de relaţiile 2hrs ( p − r ) 2 ps C opt = . 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.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 ) = . p a opt adică p >> r ( se consideră p = ∞).T ha = T 2 şi reprezintă costul de stocare al unui a stoc mediu pe unitatea de timp.4 2T t Astfel. p rh( p − r ) şi numărul optim de 2 numarul numărul zilelor lucratoare din an lucrătoare din an .t 0 = t0 .

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

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

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

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

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

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

835.480.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. .74 2.18 16.756.82 274.944.38 $60.208 Modele şi algoritmi de optimizare Figura 9.055.20 18.05 $972.111.52 În continuare sunt prezentate alte două variante ale modelului clasic.298.33 $486. Tabelul 9.552.32 925.406.8 Apăsând butonul Solve se obţine soluţia modelului sub forma dată în Tabelul 9.76 6.56 $425.104.608.2.

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

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

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

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

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

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

. 1 ⋅ s + pu k⋅ ρ ⋅ qk. pu . s . 1 ≤ a k ≤ q k . 1 k←k−1 if q k . ρ ) := k ← last ( pu ) n←k sw ← 1 CT n+ 1 ← Q qk. Elemente de teoria stocurilor Discount ( Q . 1 2 + Q⋅ pu k 215 a n+ 1 ← aopt ( pu k⋅ ρ ) sw ← 0 if a n+ 1 ≥ q k . 1 ≤ a k ≤ q k .9. s .. 2 CT n+ 1 ← a n+ 1 ← a k sw ← 4 if sw = 4 for k ∈ 1 . n CT k ← Q qk. 1 if sw ≠ 0 while ( k ≥ 1) ∧ ( sw ≠ 4) h k ← pu k⋅ ρ a k ← aopt ( h k) if ¬( q k . pu . 1 ⋅ s + h k⋅ qk. 1 2 + Q⋅ pu k Q ak ⋅ s + h k⋅ ak 2 + Q ⋅ pu k Ao ← Mn ( CT ) CT n+ 1 ← Ao1 i ← Ao2 a n+ 1 ← ai ⎛ a n+ 1 ⎞ ⎜ ⎝ CT n+ 1 ⎠ Apelul subprogramului MathCAD se face cu secvenţa Discount ( Q . 2) ak ← q k . ρ ) = .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

X : Ω → R.234 Modele şi algoritmi de optimizare A. K . K . A. B∈ K cu P(B)>0. Probabilitate condiţionată Fie {Ω . Aplicaţia X este variabilă aleatoare ω dacă { ∈ Ω X (ω ) > c}∈ K . atunci PB(A) = P(A).4. A. Dacă A şi B sunt independente. P( B) A. Variabile aleatoare Fie {Ω . Numim probabilitatea evenimentului A condiţionată de B şi notăm P( A ∩ B) PB(A) sau P(A⏐B) raportul . pentru X ≠ 0 X sunt de asemenea variabile aleatoare. B ∈ K . .2. P} un câmp de probabilitate complet aditiv. . Atunci: a) X + b b) b⋅ X c) X d) X 2 1 e) . P} un câmp de probabilitate complet aditiv sau câmp de probabilitate şi X o funcţie.1. Fie X o variabilă aleatoare şi b un număr finit. Spunem că evenimentele A şi B sunt independente dacă se verifică relaţia: P ( A ∩ B) = P ( A) ⋅ P ( B ) . Evenimente independente Fie {Ω .1.5. Dacă evenimentele A şi B sunt independente. Observaţie. Proprietăţi Teorema 1. K . pentru (∀) c ∈ R. P} un câmp de probabilitate complet aditiv şi A. 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 ⎪0.3 2 0.Anexă 235 Teorema 2. d) P( x1 ≤ X ≤ x2 ) = F( x2 ) − F( x1 ) + P(X = x2 ) . xi < x ⎧0 ⎪0. Fie X o variabilă aleatoare. Atunci: a) P( x1 ≤ X < x2 ) = F( x2 ) − F( x1 ) .1 + 0.1.2. x 0 p 0.2 1 0.3 ⎪ ⎪1 ⎩ x≤0 0 < x ≤1 1< x ≤ 2 2< x≤3 3< x ≤ 4 4< x Proprietăţi Teorema 3. F funcţia sa de repartiţie şi x1. Funcţia de repartiţie Fie x ∈ R şi X o variabilă aleatoare. Teorema 4. Atunci: .1 Deci. x2 ∈ R. c) P( x1 < X < x2 ) = F( x2 ) − F( x1 ) − P(X = x1 ) + P(X = x2 ) .2 + 0. A.3 + 0. Dacă X şi Y sunt două variabile aleatoare. Funcţia F se numeşte funcţia de repartiţie a ω variabilei aleatoare X . F ( x) = P ( { ∈ R X (ω ) < x} ) . atunci: a) X − Y b) X + Y c) X ⋅ Y X . F ( x) = P( X < x) = ∑ P ( X = x i ) . Notăm F(x) = P( X (ω)) < x ) (de fapt. Exemplu.1 3 0. pentru Y ≠ 0 d) Y sunt variabile aleatoare.2 + 0.2 + 0.3 ⎪ F ( x) = ⎨ ⎪0.3 + 0. b) P( x1 < X < x2 ) = F( x2 ) − F( x1 ) − P(X = x1 ) . atunci funcţia de repartiţie este suma probabilităţilor valorilor lui X (ω) situate la stânga lui x. pentru variabila aleatoare discretă.3 4 0. Dacă X este o variabilă aleatoare discretă (ia numai un număr finit sau o infinitate numărabilă de valori). Fie X o variabilă aleatoare şi F funcţia sa de repartiţie.2 ⎪ ⎪0.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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