Top Banner
252
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: mao
Page 2: mao

Seria „Matematică”

MODELE ŞI ALGORITMI DE OPTIMIZARE

Page 3: mao

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

Page 4: mao

Romică Trandafir

MODELE ŞI ALGORITMI DE OPTIMIZARE

Seria „Matematică”

Editura AGIR

Bucureşti, 2004

Page 5: mao

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: [email protected]; 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

Page 6: mao

PREFAŢĂ Lucrarea de faţă este o reuşită sinteză, care tratează în mod concis, dar şi riguros din punct de vedere matematic, problemele de optimizare. După o Introducere în care se formulează conceptele de bază ale con-strucţiei modelelor matematice şi ale descrierii problemelor de optimizare, lu-crarea tratează sistematic o mare varietate de modele şi algoritmi de optimiza-re, care intervin în rezolvarea diverselor tipuri de probleme ridicate de practica inginerească, în particular în construcţii. Astfel, un prim capitol este dedicat formulării şi tratării unor modele şi algoritmi de optimizare din teoria grafurilor, legate de determinarea drumurilor minime, a fluxurilor mini-me/maxime sau a arborilor de acoperire de cost minim. Apoi, în cinci capitole dis-tincte, sunt tratate la nivel teoretic evoluat, diverse probleme de programare ma-tematică, cum sunt: programarea convexă programarea liniară, problema de transport, programarea pătratică şi programarea dinamică. În aceste capitole se fac remarcate construcţia şi analiza aprofundată a numeroşi algoritmi generali, dar şi a unor particularităţi ale acestora de un real interes practic.

Un capitol special este dedicat analizei unor modele de teoria matematică a aşteptării, modele care au ca scop reglarea aşteptărilor şi fluxurilor în sistemele de servire în condiţii de incertitudine. Sunt tratate modele de aşteptare pentru sis-teme cu o staţie de servire, cu coada finită sau infinită, sau sisteme de aşteptare cu mai multe staţii paralele. În toate aceste modele se presupune că venirile şi durate-le serviciilor sunt aleatoare, de repartiţii cunoscute.

În sfârşit, ultimul capitol al cărţii tratează modelele reprezentative de teo-ria matematică a stocurilor. Sunt tratate modele clasice care determină politici de reaprovizionare optime pentru stocarea unuia sau mai multor produse, precum şi unele modele aleatoare.

Aproape toate metodele şi algoritmii descrişi sunt ilustrate prin exemple preluate cu precădere din practica activităţilor de construcţii, exemple ce sunt pre-lucrate cu ajutorul unor pachete de programe, fapt care măreşte mult utilitatea şi atractivitatea lucrării.

Întrucât în tratarea unor modele intervin noţiuni şi metode ale teoriei pro-babilităţilor şi statisticii matematice, anexa cărţii prezintă tocmai noţiunile de bază necesare înţelegerii acelor modele.

În concluzie, avem de-a face cu o carte bine construită, interesantă prin acurateţea, claritatea şi rigurozitatea problemelor tratate şi care oferă posibilităţi de aplicare la rezolvarea multor probleme practice, ea prezentând deci un interes deosebit pentru o clasă largă de cititori. Bucureşti, 20 iulie 2004

Prof. univ. dr. Ion Văduva

Page 7: mao

Modele şi algoritmi de optimizare 6

Page 8: mao

CUPRINS

1. Introducere .....................................................................................................................11

1.1. Obiectul optimizării ..................................................................................................11 1.1.1. Construcţia modelului.....................................................................................11 1.1.2. Concepte de bază în modelare ........................................................................12

1.2. Tipuri de probleme ...................................................................................................14 1.2.1. Dimensiunea problemelor...............................................................................16 1.2.2. Algoritmi iterativi şi convergenţă ...................................................................16

2. Grafuri în optimizare.....................................................................................................17

2.1. Definiţii şi algoritmi..................................................................................................17 2.1.1. Grafuri orientate..............................................................................................17 2.1.2. Grafuri neorientate..........................................................................................19

2.2. Căutarea unui arbore de acoperire de lungime minimă ............................................20 2.2.1. Algoritmul lui Kruskal....................................................................................21 2.2.2. Algoritmul lui Prim.........................................................................................22

2.3. Algoritmul lui Dijkstra .............................................................................................25 2.4. Metoda PERT ...........................................................................................................29 2.5. Probleme propuse .....................................................................................................35

3. Programare convexă ......................................................................................................43

3.1. Mulţimi şi funcţii convexe........................................................................................43 3.2. Extreme condiţionate ................................................................................................45

3.2.1. Cazul restricţiilor egalităţi...............................................................................48 3.2.2. Cazul restricţiilor inegalităţi ...........................................................................49

4. Programare liniară ........................................................................................................51

4.1. Exemple de probleme de programare liniară ............................................................51 4.1.1. Utilizarea optimă a resurselor .........................................................................51 4.1.2. Problema de transport .....................................................................................52 4.1.3. Alocarea optimă a fondurilor financiare .........................................................54 4.1.4. Gestionarea optimă a unui depozit..................................................................54 4.1.5. Problema dietei ...............................................................................................55

4.2. Diferite forme ale problemelor de programare liniară ..............................................56 4.3. Algoritmul simplex ...................................................................................................57 4.4. Fundamentele algoritmului simplex .........................................................................59 4.5. Enunţul algoritmului simplex ...................................................................................62 4.6. Tabelul simplex şi transformarea sa .........................................................................63 4.7. Exemplu....................................................................................................................65 4.8. Convergenţa algoritmului simplex. Degenerare şi ciclare ........................................72 4.9. Interpretarea geometrică a algoritmului simplex ......................................................74 4.10. Interpretarea economică a algoritmului simplex.....................................................76 4.11. Metoda celor două faze...........................................................................................77 4.12. Dualitatea în programarea liniară............................................................................82 4.13. Teorema fundamentală a dualităţii..........................................................................84

Page 9: mao

Modele şi algoritmi de optimizare 8

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

5. Problema de transport.................................................................................................102

5.1. Fundamentele algoritmului de transport .................................................................102 5.2. Enunţul algoritmului de transport ...........................................................................107 5.3. Determinarea soluţiei iniţiale de bază .....................................................................108 5.4. Exemplu..................................................................................................................109 5.5. Problema atribuirii sarcinilor ..................................................................................119 5.6. Probleme propuse ...................................................................................................119

6. Programare pătratică ..................................................................................................122

6.1. Exemple de probleme care conduc la programare pătratică ......................................122 6.1.1. Utilizarea optimă a resurselor .......................................................................122 6.1.2. Problema investiţiei ......................................................................................123 6.1.3. Regresii liniare..............................................................................................123

6.2. Definiţii. Proprietăţi ................................................................................................124 6.3. Fundamentarea algoritmului lui Wolfe...................................................................127 6.4. Forma scurtă a algoritmului lui Wolfe....................................................................132 6.5. Probleme propuse ...................................................................................................141

7. Programare dinamică ..................................................................................................143

7.1. Generalităţi .............................................................................................................143 7.2. Analiza retrospectivă ..............................................................................................146

7.2.1. Rezolvarea în cazul aditiv.............................................................................147 7.2.2. Problema repartiţiei investiţiilor ...................................................................148 7.2.3. Problema gestiunii stocului...........................................................................152 7.2.4. Problema alocării optime a resurselor...........................................................155

7.3. Probleme propuse ...................................................................................................157 8. Elemente de teoria aşteptării.......................................................................................161

8.1. Introducere în teoria aşteptării ................................................................................161 8.2. Caracterizarea procesului N(t) ca proces de naştere şi deces..................................162 8.3. Modelul Po(λ)/Exp(µ)/1:(∞,FIFO)........................................................................165 8.4. Modelul Po(λ)/Exp(µ)/1:(m, FIFO).......................................................................170 8.5. Modelul Po(λ)/Exp(µ)/c:(∞, FIFO) ........................................................................174 8.6. Modelul P0(λ)/Exp(µ)/c:(m,FIFO).........................................................................180 8.7. Simulare..................................................................................................................185 8.8. Probleme propuse ...................................................................................................188

9. Elemente de teoria stocurilor ......................................................................................194

9.1. Introducere în teoria stocurilor ...............................................................................194 9.1.1. Punerea problemei ........................................................................................194 9.1.2. Concepte utilizate în teoria stocurilor ...........................................................195

9.2. Modelul clasic al lotului economic .........................................................................199 9.3. Modelul clasic al lipsei de stoc ...............................................................................204

Page 10: mao

Cuprins

9

9.3.1. Modelul de stocare considerând influenţa preţului de cumpărare ................209 9.3.2. Modelul de stocare considerând influenţa costului de producţie ..................209

9.4. Extensii ale modelului clasic al lotului economic...................................................210 9.5. Model pentru stocarea mai multor tipuri de produse ..............................................216 9.6. Modele stochastice de stocare.................................................................................216

9.6.1. Determinarea nivelului optim de reaprovizionare.........................................217 9.6.2. Modele de stocare pe o singură perioadă cu cerere aleatoare .......................2219.6.3. Modele stochastice de stocare bazate pe modele de aşteptare ......................2249.6.4. Modelul P0(λ)/Exp(µ)/1:(∞, FIFO)...............................................................224 9.6.5. Modelul cu mai multe staţii paralele şi cu timp de avans L aleatoriu ...........226

9.7. Probleme propuse ...................................................................................................230 Anexă.................................................................................................................................233

A.1. Câmp de evenimente. Axioma lui Kolmogorov ....................................................233 A.1.1. Evenimente. Probabilităţi.............................................................................233 A.1.2. Probabilitate .................................................................................................233 A.1.3. Câmp de probabilitate complet aditiv ..........................................................233 A.1.4. Probabilitate condiţionată ............................................................................234 A.1.5. Evenimente independente ............................................................................234

A.2. Variabile aleatoare .................................................................................................234 A.2.1. Funcţia de repartiţie .....................................................................................235 A.2.2. Densitate de repartiţie ..................................................................................236 A.2.3. Variabile aleatoare independente .................................................................236 în sensul Steinhaus−Kaç .........................................................................................236 A.2.4. Valoare medie. Dispersie. Momente............................................................236

A.3. Câteva repartiţii clasice..........................................................................................237 A.3.1. Repartiţia uniformă ......................................................................................237 A.3.2. Repartiţii Markov.........................................................................................237 A.3.3. Repartiţia normală unidimensională a lui Gauss..........................................238 A.3.4. Repartiţia Beta .............................................................................................239

A.4. Procese aleatoare....................................................................................................239 A.5. Teste de concordanţă .............................................................................................241

A.5.1. Etapele verificării ipotezelor statistice .........................................................242 A.5.2. Testul de concordanţă 2χ ..........................................................................243 A.5.3. Testul Kolmogorov ......................................................................................243

Bibliografie .......................................................................................................................245 Index alfabetic ..................................................................................................................247

Page 11: mao

Modele şi algoritmi de optimizare 10

Page 12: mao

1. INTRODUCERE

1.1. 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. În judecarea eficienţei diferitelor decizii posibile, trebuie să se folosească anumite criterii pentru măsurarea performanţei activităţii în discuţie. Este indicat să se urmărească etapele (Bonini et al, 1997): 1. Stabilirea criteriului de eficienţă 2. Selectarea unei mulţimi de alternative posibile 3. Determinarea unui model care să fie folosit şi a valorilor parametrilor procesului 4. Determinarea alternativei care optimizează criteriul stabilit la etapa 1. Deoarece problemele lumii reale devin extrem de complicate este necesar să se facă o abstractizare şi o simplificare a realităţii într-un model. 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ă, caracteristicile fizice ale clădirii, studiul detaliat al condiţiilor climatice şi de sol, influenţa asupra costurilor, sursele de finanţare şi costurile. 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, atunci nici o acţiune nu va avea loc. Mintea umană nu poate considera toate aspectele empirice ale problemei. Anumite atribute ale problemei trebuie ignorate ca să se poată lua o decizie. Decidentul trebuie să identifice factorii cei mai relevanţi pentru problemă. Abstracţia şi simplificarea sunt paşi necesari în rezolvarea oricărei probleme umane.

1.1.1. Construcţia modelului După ce decidentul a identificat factorii critici ai problemei concrete pe care o are de rezolvat, aceştia trebuie combinaţi în mod logic formând astfel modelul. Un model este reprezentarea simplificată a problemei reale. Prin modelare, fenomenului natural complex i se reproduce comportarea esenţială cu mai puţine variabile şi care sunt legate între ele mai simplu. 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, modelul poate fi modificat repede şi eficient.

Page 13: mao

Modele şi algoritmi de optimizare

12

Un model cât mai apropiat de realitate cere un timp excesiv în construcţie. Decidentul doreşte ca modelul simplificat să prezică rezultate rezonabile şi să fie consistent cu acţiunea efectivă. După ce modelul a fost construit se pot obţine concluziile prin intermediul acţiunilor logice. Decidentul îşi bazează acţiunile sau deciziile pe aceste concluzii. 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ă. 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. Tehnica abordată pentru descrierea şi stabilirea legăturilor variabilelor selectate depinde de natura variabilelor. Dacă variabilele pot fi date în reprezentare cantitativă atunci modelele matematice sunt cele mai indicate. Matematica împreună cu calculatoarele moderne fac posibilă rezolvarea problemelor care cer modele de mare complexitate şi atunci când analiza cantitativă se poate aplica ea facilitează procesul de luare a deciziilor. În luarea unei decizii, se stabileşte criteriul de decizie, se selectează alternativele, se construieşte un model, se evaluează alternativele folosind modelul apoi se selectează cea mai bună alternativă. Un model este o abstracţie şi o simplificare a unei probleme reale, încorporând ideal elementele esenţiale şi relaţiile din problema reală. Rezolvarea unui model înseamnă obţinerea concluziilor logice care rezultă, 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.

1.1.2. Concepte de bază în modelare Primul pas în construirea unui model este stabilirea factorilor şi variabilelor pe care decidentul le consideră importante. Acestea pot fi clasificate în cinci categorii: variabile de decizie, variabile exogene, restricţii, măsuri ale performanţei şi variabile intermediare. Variabilele de decizie sunt acele variabile pe care le controlează decidentul, ele reprezentând alegerile alternative pentru decident. De exemplu: trebuie să se introducă un nou produs în fabricaţie. Decidentul poate alege: să se introducă sau nu, preţul, culoarea, suma alocată reclamei etc. Variabilele exogene sau externe sunt acelea care sunt importante în problema de decizie, dar sunt controlate de factori externi sferei decidentului. De exemplu: preţul materiilor prime pentru realizarea noului produs.

Page 14: mao

1.Introducere

13

Restricţiile pot fi legate de capacităţile de producţie, resurse, limitări legislative, politica firmei etc. Măsuri ale performanţei. În luarea unei decizii decidentul are un scop, un obiectiv pe care încearcă să-l atingă. Criteriile sau măsurile performanţei sunt expresii cantitative ale acestor obiective. Variabilele intermediare sunt necesare pentru includerea tuturor factorilor importanţi în problema de decizie. Adesea ele leagă factorii de cost şi de câştig. Se folosesc să lege variabilele de decizie şi exogene de măsurile de performanţă.

*

* * A face « cel mai bine posibil » este sensul oricărei atitudini naturale în viaţa de zi cu zi. Dar aceasta nu are decât un sens relativ în raport cu nişte restricţii impuse din exterior sau acceptate de bunăvoie (Cohen, 2000). 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, de dimensionat o instalaţie etc. Expresia este relativizată în funcţie de buget, de securitate, sau altele, restricţii al căror nivel a făcut la rândul său obiectul deciziilor prealabile şi adesea exterioare. Cuvintele « a optimiza, optimizare etc. » sunt presupuse să reflecte această idee de « cel mai bine posibil ». În viaţa curentă alegerile posibile se limitează adesea la două (atunci le numim alternative) sau câteva unităţi, de tipul că algoritmul care ia decizia se reduce la a înfăţişa, explicit sau nu, toate posibilităţile, 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). În problemele tehnice, 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. Atunci trebuie găsit un algoritm mai performant, adică o metodă pentru a găsi drumul spre soluţia cea mai bună dintre toate soluţiile posibile. Optimizarea poate fi definită ca ştiinţa determinării «celei mai bune» soluţii la anumite probleme definite matematic, care sunt adesea modele ale realităţii fizice. Ea implică studiul criteriilor de optimalitate pentru probleme, determinarea soluţiei cu metode algoritmice, studiul structurii acestor metode şi experimentarea pe calculator a metodelor cu date experimentale şi cu date reale. Metodele de optimizare au o largă aplicabilitate în aproape orice activitate în care sunt prelucrate informaţiile numerice: ştiinţă, inginerie, matematică, economie, comerţ etc. O selecţie a domeniilor în care apar probleme de optimizare ar cuprinde: proiectarea reactoarelor chimice, a aparatelor aerospaţiale, a clădirilor, a podurilor, în comerţ în probleme de alocarea resurselor, planificarea producţiei, a stocurilor, în diferite ramuri ale analizei numerice, în ajustarea datelor, principii variaţionale

Page 15: mao

Modele şi algoritmi de optimizare

14

în sisteme de ecuaţii diferenţiale şi cu derivate parţiale, funcţii de penalitate etc. (Cohen, 1995). Se optimizează o funcţie obiectiv care cuantifică produsul unui proces economic sau profitul rezultat în urma aplicării sistemului. Conceptul de optimizare este bine încetăţenit ca principiul de bază în analiza problemelor complexe de decizie sau alocare. 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. Acest obiectiv este maximizat sau minimizat supus unor restricţii care să limiteze alegerea variabilelor de decizie. Dacă un aspect al problemei poate fi identificat şi caracterizat printr-un obiectiv (de exemplu: profitul într-o afacere) atunci optimizarea poate să ofere un cadru adecvat pentru o astfel de analiză. Optimizarea ar trebui privită ca un instrument de concepere şi analiză, şi nu ca un principiu care să ducă la soluţia corectă din punct de vedere filozofic. 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.

1.2. Tipuri de probleme Termenul programare, în această lucrare va fi sinonim cu optimizare şi îşi are originea în planificarea optimală. Când variabilele sunt supuse unor restricţii (relaţii) avem de-a face cu programare cu restricţii, care face obiectul acestei lucrări. În lipsa restricţiilor spunem că avem programare fară restricţii (Luenberger, 1989). 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. Forma generală a unei probleme de programare cu restricţii este

⎪⎩ ∈≤ Iig i 0)(x

⎪min⎧

⎨ ∈= Eig i 0)(x ∈f n)( xx R

(1.1)

e x1, x2, …, xn,

sub forma

unde: f este funcţia obiectiv, gi sunt funcţiile care dau restricţiile asupra variabil lor E este mulţimea indicilor pentru restricţiile cu egalitate, iar I este mulţimea indicilor pentru restricţiile cu inegalitate. Restricţiile de forma ii bg ≤)(x pot fi puse 0)( ≤− ii bg x .

Page 16: mao

1.Introducere

15

Definiţia 1.1. Un punct nR∈x care verifică restricţiile (1.1) se numeşte punct admisibil (realizabil) sau soluţie admisibilă şi mulţimea tuturor acestor puncte R,

rmează regiunea admisibilă (realizabilă).

Definiţia 1.2. O soluţie admisibilă

fo

R∈*x este o soluţie optimă pentru problema (1.1) dacă ( ) R∈∀≤ xxx ,)()( * ff . Prin schimbarea

)(min)(max xx ff −−= , problema de maximizare devine o problemă de minimizare, aşa că în continuare se vor considera numai probleme de minimizare. 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ă, iar dacă funcţia obiectiv este pătratică atunci problema (1.1) se numeşte problemă de programare pătratică. Programarea liniară permite rezolvarea unei game largi de probleme cu un efort redus. Popularitatea programării liniare se datorează în principal etapei de formulare, şi nu celei de rezolvare numerică, deoarece multe dintre restricţiile şi obiectivele care apar în practică sunt liniare prin definiţie. Optimizarea sistemelor reale cu evoluţie în etape constituie obiectul programării dinamice, care are la bază pricipiul de optimalitate al lui Bellman (Kaufmann, II, 1967), care poate fi exprimat astfel: Orice politică optimă nu poate fi alcătuită decât din subpolitici optime.

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, a reducerii cheltuielilor de funcţionare a sistemului de aşteptare etc.

prezentate soluţiile odelelor, exemple p torul Solver-ului din XCEL, fie cu ajutorul pachetului de programe specializat în rezolvarea

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.

Ca o aplicaţie practică a teoriei grafurilor este prezentată organizarea şi planificarea proiectelor complexe şi stabilirea duratei minime de realizare a acestora. Toate aceste modele fac obiectul acestei lucrări, fiind

ractice rezolvate fie manual, fie cu ajumEproblemelor de optimizare, Management Scientist (MS), fie cu ajutorul pachetului de programe MathCAD.

Page 17: mao

Modele şi algoritmi de optimizare 16

1.2.1. Dimensiunea problemelor O măsură a complexităţii problemei de programare este dimensiunea acesteia exprimată prin numărul de necunoscute şi de restricţii (Luenberger, 1989). Dimensiunea problemelor care pot fi rezolvate a crescut o dată cu dezvoltarea teoriei şi a tehnicilor de calcul. Se pot distinge acum trei categorii de probleme: de dimensiune redusă (cu cel mult 5 variabile sau restricţii), de dimensiune medie (între 5 şi 100 de variabile sau restricţii) şi de dimensiuni mari (cu peste 100 de variabile şi restricţii). Această clasificare reflectă nu numai diferenţe de dimensiuni, dar şi de abordare. Astfel roblemele de dimensiuni mici pot fi rezolvate de mână sau cu un calculator de

se lează pe calculatoare de mare capacitate.

Teoria iniţială ltatelor teoretice, norând aspectele de calcul ale metodelor propuse. Abordările recente se axează pe

xploatarea caracteristicilor calculatoarelor, obţinând soluţia prin metode iterative.

vectori x0, x1, …, xk, …, fiecare îmbunătăţind aloarea funcţiei obiectiv, faţă de precedentul. Acest şir converge către x* , soluţia

ă atunci când se iniţializează cu un punct depărtat de soluţia optimă. Cea de-a treia componentă se numeşte analiza convergenţei locale şi studiază rata de convergenţă a şirului către soluţia optimă. Este esenţial când se recomandă un algoritm să se menţioneze şi o estimare a timpului necesar pentru obţinerea soluţiei. Lucrarea de faţă argumentează convergenţa majorităţii algoritmilor prezentaţi.

pbuzunar. Problemele de dimensiuni medii pot fi rezolvate pe un calculator, folosind programe matematice generale. Problemele de dimensiuni mari necesită programe sofisticate care exploatează caracteristicile particulare ale problemei şi de obicei ru

a optimizării s-a concentrat asupra obţinerii rezuige

1.2.2. Algoritmi iterativi şi convergenţă Cea mai importantă caracteristică a calculatoarelor este capacitatea lor de a efectua operaţii repetitive într-un mod eficient şi din această cauză majoritatea algoritmilor de rezolvare a problemelor de optimizare sunt iterativi (Luenberger, 1989). Î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; procesul se repetă obţinându-se un şir de vproblemei. În problemele de programare liniară soluţia se obţine după un număr finit de paşi. În probleme de programare neliniară şirul nu atinge niciodată soluţia, dar converge către ea. Practic, algoritmul se opreşte când s-a obţinut un punct suficient de aproape de soluţie. Teoria algoritmilor iterativi poate fi împarţită în trei părţi. Prima parte se ocupă cu crearea de algoritmi. A doua parte, numită şi analiza convergenţei globale, analizează convergenţa unui algoritm către soluţia optim

Page 18: mao

2. GRAFURI ÎN OPTIMIZARE

2.1. Definiţii şi algoritmi

2.1.1. Grafuri orientate Definiţia 2.1. Se numeşte graf orientat o pereche de mulţimi G=(X,U), unde: X este o mulţime finită şi nevidă, ale cărei elemente se numesc noduri (vârfuri) , iar U este o mulţime formată din perechi ordonate (x,y), Xyx ∈, , numită mulţimea arcelor (muchii). Dacă ) Uyx( ∈, , x se numeşte extremitatea iniţială (originea) a arcului, iar y, extremitatea finală (extremitatea). Grafurile permit modelarea unui număr mare de situaţii (Henry-Labordere, 1995). Exemple de grafuri:

a) o reţea rutieră (cu drumuri având sens unic) – vârfurile sunt intersecţiile, iar arcele sunt drumurile.

b) ordinea lucrărilor într-un şantier.

c) relaţiile stabilite între indivizi (situaţie întâlnită în psihologia de grup) – de exemplu: X=1, 2, 3, 4 , U=(1, 2), (3, 4) , (4, 2), (4, 3). Grafic se poate reprezenta ca în Figura 2.1. Individul 1 îl apreciază pe individul 2, individul 2 nu îl apreciază pe individul 1, individul 4 îl apreciază pe individul 2, iar indivizii 3 şi 4 se apreciază reciproc.

4

3

1

2

Figura 2.1

Definiţia 2.2. Se numeşte drum într-un graf orientat un şir de arce 1,1,,...,1 −=∈= kiUuuuD ik cu proprietatea că extremitatea finală a arcului ui

coincide cu extremitatea iniţială a arcului ui+1 , 1,1 −= ki .

Page 19: mao

Modele şi algoritmi de optimizare 18 Dacă extremitatea finală a arcului uk coincide cu extremitatea iniţială a arcului

ormat dintr-un singur arc se numeşte buclă. acă nodurile arcelor drumului sunt distincte două câte două, drumul se numeşte

ă arcul

u1 atunci drumul se numeşte circuit. Un circuit fDelementar. Exemplu. În Figura 2.1 (1, 2, 4, 3) este un drum, iar (1, 2, 3) nu este drum. Definiţia 2.3. Un nod x dintr-un graf orientat G se numeşte precedentul altui nod y din G dacă exist ( ) Uyx ∈, . Un nod y dintr-un graf orientat G se numeşte succesorul altui nod x din G dacă există arcul ( ) Uyx ∈, . Un nod x dintr-un graf orientat G se numeşte ascendentul altui nod y din G dacă există un drum de origine x şi extremitate y. Un nod y dintr-un graf orientat G se numeşte descendentul altui nod x din G dacă există un drum de origine x şi extremitate y. Vârful y este adiacent vârfului x dacă (x, y)∈U sau (y, x)∈U . Fie G=(X,U) un graf orientat şi A⊂X. Arcul Uu ∈ este incident mulţimii A spre exterior dacă extremitatea sa finală aparţine lui extremitatea iniţială nu parţine lui A. Arcul este incident mulţimii A spre interior dacă este

A, iar Uu ∈ a

incident spre exterior mulţimii AXA −= . Definiţia 2.4. Se numeşte gradul exterior al lui x şi se notează d +(x) numărul de noduri succesoare lui x.

e numeşte gradul lui x şi se notează cu d(x) numărul d +(x)+ d − (x),

2

Se numeşte gradul interior al lui x şi se notează d − (x) numărul de noduri precedente lui x. S(d(x)=d +(x)+ d − (x)). Definiţia .5. Fie G=(X,U) un graf orientat şi fie ),(, UXGUU ′=′⊂′ se

umeşte graf parţial al lui G. nFie XA ⊂ şi UA=u∈U astfel încât cele două extremităţi ale lui u să fie în A . G

Definiţia 2.7. Se numeşte arborescenţă un graf tare conex şi fără cicluri, orientat, a cărui orientare este astfel încât fiecare vârf al său cu excepţia unuia singur, numit rădăcină, este extremitatea terminală a unui arc şi numai unul.

A =(A, UA) se numeşte subgraf al lui G. Definiţia 2.6. Graful se numeşte tare conex dacă pentru orice perechi de vârfuri

Xyx ∈, există un drum din x plecând la y .

Page 20: mao

2. Grafuri în optimizare 19

u valuat ş graf (X, U) căruia i se asociază o funcţie numită ponderea arcelor.

Exe le uneşte localităţile x şi y;

b) l(x,y) = capacitatea tronsonului de drum (x,y).

e transport un graf orientat, G=(X,U), fără

elei, şi • cărui arc îi este asociat un număr numit capacitatea

arcului u .

2.1.2. Grafuri neorientate

numesc muchiile (arcele) grafului. Dacă

Definiţia 2.8. Se numeşte graf ponderat sa i se notează G=(X, U, l) un

+→ RUl :

mp e: a) l(x,y) = lungimea tronsonului de drum, (x,y) car

Definiţia 2.9. Se numeşte reţea dbucle, cu proprietăţile următoare: • există un nod x0 unic, numit originea reţelei, şi care nu are ascendenţi; • există un nod xf unic, numit destinaţia reţ care nu are descendenţi;

fie Uu ∈ 0)( ≥ul

Definiţia 2.10. Se numeşte graf neorientat şi se notează G=(X,U) o pereche de mulţimi, unde: X este o mulţime finită şi nevidă, iar U este o mulţime de perechi neordonate (x, y) cu x, y∈X . Elementele lui X se numesc vârfurile (nodurile) grafului, iar elementele lui U se

( ) Uyx ∈= , , x şi y se numesc extremităţile muchiei u.

Un graf G=(X, U), în care, dacă

u Definiţia 2.11. ( ) Uyx ∈, atrage ( ) Uxy ∈, , se

umeşte graf simetric.

2.12. Un graf neorientat, G=(X, U), se numeşte graf complet dacă entru

n Definiţia

( ) Xyx ∈∀ , avem ( ) Uyx ∈, .

2.13. Într-un graf neorienta

p Definiţia t, G=(X,U), se numeşte lanţ o mulţime de vârfuri kiXxxxL ik ,1,,...,1 =∈= cu proprietatea că oricare două vârfuri

consecutive sunt adiacente, adică ( ) 1,1,, 1 −=∈+ kiUxx ii . Vârfurile kxx ,1 se numesc extremităţile lanţului, iar numărul de muchii care intră în componenţa sa se numeşte lungimea lanţului. Dacă x1,..., xk sunt distincte două câte două, lanţul se numeşte elementar, altfel se numeşte neelementar.

Page 21: mao

Modele şi algoritmi de optimizare 20 Definiţia 2.14. Un graf G=(X,U) se numeşte simplu conex sau conex dacă pentru

u într-un graf G=(X,U), un lanţ

orice pereche de vârfuri Xyx ∈, există un lanţ de extremităţi x şi y .

Definiţia 2.15. Se numeşte cicl kiXxxx ik ,1,,...,1 =∈= cu proprietatea că x1=xk şi muchiile (x1, x2), ... , (xk-

efiniţia 2.16. Se numeşte ponderea unui lanţ, drum, ciclu sau circuit valoarea

L

1, xk) sunt distincte două câte două.

D

∑= ),( yxlP . ∈ ),...,,(),( 21 nxxxyx

De exemplu, în cadrul metodei PERT, ponderea unui drum este durata sa totală. Definiţia 2.17. Un lanţ, drum, ciclu sau circuit se numeşte hamiltonian dacă el

ţ, drum, ciclu sau dată prin toate arcele

raf

Se disting la un arbore două tipuri de vârfuri : vârfuri la care mai multe muchii nt i

urmă

trece o dată şi numai o dată prin toate vârfurile grafului. Un lancircuit se numeşte eulerian dacă el trece o dată şi numai o g ului. Definiţia 2.18. Un arbore este un graf conex şi fără cicluri. su ncidente şi alte vârfuri la care o singură muchie este incidentă. Acestea din

se numesc vârfuri pendante sau frunze.

2.2. Căutarea unui arbore de acoperire de lungime minimă Fie G=(X, U, l) un graf conex (ipoteză necesară pentru a asigura existenţa cel puţin a unui arbore) ponderat neorientat. Să notăm cu Xn = (numărul elementelor lui X). Se pune problema găsirii arborelui de acoperire de lungime minimă, adică, folosind arce ale grafului să se lege între ele toate nodurile astfel încât lungimea totală a arcelor folosite (suma ponderilor) să fie minimă. O astfel de problemă apare în proiectarea reţelelor de comunicaţii, unde obiectivul este să se minimizeze lungimea cablului necesar conectării tuturor nodurilor care trebuie să comunice între ele, în proiectarea reţelelor de drumuri, benzi rulante, sisteme de canalizare etc. În continuare sunt prezentaţi doi algoritmi care rezolvă această problemă.

Page 22: mao

2. Grafuri în optimizare 21

2.2.1. Algoritmul lui Kruskal Algoritmul lui Kruskal permite căutarea unui arbore de acoperire de lungime minimă. Vom presupune că graful G are lungimile muchiilor diferite două câte două (dacă u≠v , u, v – muchii, atunci l(u)≠l(v) ). Algoritmul Kruskal Pas 1. Se consideră v1 – muchia de lungime cea mai mică. Apoi v2 – muchia de

lungime cea mai mică dintre cele rămase şi se notează V2=v1, v2 ; k :=2 ; Pas 2. Repetă k :=k+1 ; 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 ; Pas 3. Stop. Vn−1 este un graf de n−1 muchii şi nu are cicluri. Demonstrăm prin absurd că Vn−1 este arborele minim căutat (Henry-Labordere, 1995). 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 .

Vn−1 v1 v2 … vk−1 vk vk+1 … vp … vn

Vn v1 v2 … vk−1 uk uk+1 … up … 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). Acest ciclu conţine cel puţin o muchie up∉ Vk−1 . Din construcţia lui Vk , vk nu creează un ciclu cu Vk−1. Deoarece lista muchiilor lui V este ordonată crescător după lungimile muchiilor l(uk)≤l(up), avem de asemenea l(vk)<l(uk) deoarece vk≠uk, şi atunci l(vk)<l(up). 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 . Acesta este, aşadar, un arbore şi lungimea sa este inferioară aceleia a lui V , ceea ce contrazice faptul că V≠Vn−1 este arborele de lungime minimă. Rezultă astfel că Vn−1 este arborele minim. Exemplu. Fie G=(X, U, l) un graf conex ponderat neorientat, ca în Figura 2.2,

5=X i ş 7=U . Pe arce sunt trecute ponderile. Să se construiască un arbore de acoperire de lungime (pondere) minimă, folosind algoritmul lui Kruskal.

Page 23: mao

Modele şi algoritmi de optimizare 22

Figura 2.2

1

2

3 4

5

16

17

15 14

19 18

10

Figura 2.3

2

1

3

5 4

14

16 15

10

Pas 1. Se consideră V1=v1=[3,4] deoarece 3([ )(min])4,

71 ii≤≤vll = .

Pas 2. k=2. e lege din U-VS a 1, v2=[2,5], muchia cu cea mai mică pondere ( )(min]5,2[

1

lVUv −∈

) şi care adăugată la V să nu formeze cicluri. Se obţine

=

vl= 1

2

ţine V =[3,4]; [2,5]; [1,3]; [1,2]

Algoritmul se încheie furnizând arborele de acoperire de lungime minimă V4 igura 2.3) şi lungimea minimă a arborelui găsit L =55.

2.2.2. Algoritmul lui Prim

nderile a două muchii diferite să fie diferite. Se notează nodurile lui G 1 la n . Sunt folosiţi trei vectori de dimensiune n astfel:

V [3,4]; [2,5]. k=3. Se alege din U-V2, v3=[1,3], muchia cu cea mai mică pondere

1[l( )(min]3,2

vlVUv −∈

= ) şi care adăugată la V2 să nu formeze cicluri. Se obţine

V3=[3,4]; [2,5]; [1,3]. k=4. Dintre muchiile rămase cea care are pondere minimă şi care nu formează cicluri prin adăugare la V3 este [1,2]. Se ob 4

arborele de lungime minimă. Lungimea minimă a grafului este Lmin=l([3,4])+ l([2,5])+ l([1,3])+ l([1,2])=10+14+15+16=55 . (F min

Algoritmul lui Prim determină arborele de acoperire de lungime minimă într-un graf conex ponderat G=(X, U, l) şi, spre deosebire de algoritmul lui Kruskal, nu cere ca po

cu numere de la

),...,,( 21 nχχχ=χ , cu componentele

Page 24: mao

2. Grafuri în optimizare 23

,altfel0arboreîn este l i

i

iniþial

ponentele

ponentele

⎩⎨⎧

=nodu dac1 ã

χ

),...,,( 21 nppp=p , cu com⎩

),...,,( 21 nccc=c , cu com

⎨⎧

=iniþialnodulpentru0

arboreîn este],[muchia dac jijpi

ã

⎩⎨⎧

=iniþialnodulpentru0

],[muchieiponderea]),([ iii

pipilc ,

ni ,1= . pentru Algoritmul Prim

as ză cu 0 cei trei vectori. Se dă nodul de start s şi P 1. Se iniţializea ( ns ≤≤1 )1=sχ ; A= s arborele parţial.

Pas 2. Repetă Determină muchia [i,j], cu ponderea minimă, care are o extremitate în

arborele parţial, Ai ∈ şi cealaltă AXj −∈ . Atunci 1=jχ , pj=i şi

cj=l([i,j]) . până când ( ) nii ,11 ∀=χ = .

,i] , iar

te icLmin . Stop!

Algoritmul furnizează arborele de acoperire de lungime minimă prin înlocuirea muchiilor unui arbore oarecar ţinut cu vârfurile grafului G cu muchiile arborelui de lungime minimă.

xemplul precedent. as 1. s=1; A=1

nodul 1 2 4

Pas 3. Arborele de acoperire de lungime minimă este dat de muchiile [pin

∑=

=lungimea minimă esi 1

e ob

Exemplu. Să se aplice algoritmul lui Prim grafului din eP

3 5χ 1 0 0 0 0p 0 0 0 0 0c 0 0 0 0 0

Pas 2. Iteraţia I: minl([1,2]), l([1,3]), l([1,4])= l([1,3])=15

nodul 1 2 3 4 5 χ 1 0 1 0 0 p 0 0 1 0 0 c 0 0 15 0 0

Page 25: mao

Modele şi algoritmi de optimizare 24 Iteraţia a II-a: min l([1,2]), l([1,4]), l([3,2]), l([3,4]) , l([3,5]) = l([3,4])=10

nodul 1 2 3 4 5 χ 1 0 1 1 0 p 0 0 1 3 0 c 0 0 15 10 0

Iteraţia a III-a: min l([1,2]), l([3,2]), l([3,5])= l([1,2])=16

nodul 1 2 3 4 5 χ 1 1 1 1 0 p 0 1 1 3 0 c 0 16 15 10 0

Iteraţia a IV-a: min l([2,5]), l([3,5]) = l([2,5])=14

nodul 1 2 3 4 5 χ 1 1 1 1 1 p 0 1 1 3 2 c 0 16 15 10 14

4,1,1 == iχ şi se trece la pasi

Pas 3. Arborele de acoperire de lungime minimă este [1,2]; [2,5]; [1,3]; [3,4] şi are lungimea L

ul următor.

min=55 . 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ă). Pentru aplicarea acestui modul exemplului de mai sus se procedează astfel. După lansarea pachetului de programe se selectează modulul Minimal Spanning Tree ca în Figura 2.4.

Figura 2.4

Page 26: mao

2. Grafuri în optimizare 25 După apăsarea butonului OK apare o fereastră din care se selectează File şi, de aici, New. Apar succesiv ferestrele din Figura 2.5 în care se introduc numărul de noduri, numărul de muchii şi apoi muchiile şi ponderile lor.

Figura 2.5 Pentru rezolvare şi afişarea rezultatului se selectează Solution şi, de aici, Solve. Rezultatele sunt date de Figura 2.6 .

Figura 2.6

2.3. Algoritmul lui Dijkstra

Se pune adesea problema 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. Este necesar să se determine drumul cel mai „scurt” dintre două noduri oarecare ale reţelei rutiere. Acest tip de problemă se mai întâlneşte şi în proiectarea reţelelor de calculatoare, în stabilirea traseelor mijloacelor de transport în comun etc. (Henry-Labordere, 1995). Algoritmul lui Dijkstra permite calcularea lungimilor celor mai scurte drumuri de la un vârf s la toate vârfurile x ale unui graf conex G=(X,U,l), dacă lungimile tuturor arcelor sunt nenegative.

Page 27: mao

Modele şi algoritmi de optimizare 26 Fie ∏(x) lungimea celui mai scurt drum de la s la x . Fie S mulţimea

vârfurilor pentru care se calculează ∏. Atunci, ∏(x)def

= lungimea celui mai scurt drum de la s la x , care are toate vârfurile în S cu excepţia lui x . Se notează cu

=+ )(x mulţimea arcelor care pornesc din nodul x, =− )(x mulţimea arcelor care intră în nodul x. Dacă graful este neorient )()( xx Γ= = mulţimea arcelor incidente în

Γ iar cu Γ

at nodul x.

dacă

=Γ+ )(x Γ−

Algoritmul Dijkstra Pas 1. Iniţializări S :=s ; s nodul de start, ∏(s) :=0 ; Pentru orice SX −∈ )(sxx Γ∈ atunci ∏(x) :=l(s,x) altfel ∏(x) :=+∞ ; Pas 2. Iteraţia curentă Repetă Determină SXy −∈ astfel încâ y)

z∉t ∏(

S= min ∏(z) ;

yS ∪ Dacă ∏(y)<∞ atunci : S = ; +Γ Pentru z ∈ ∏(z) :=min ∏(z), ∏(y)+l(z,y) ; )(y

până când S=X sau ∏(y)=∞. Pas 3. Stop. Se observă că valorile ∏(z) rămân nemodificate pentru Sz ∈ , lucru ce poate fi exploatat în transpunerea pe calculator a algoritmului. Exemplu. În Figura 2.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ă. Să se determine ruta pe care se realizează timpul minim între localităţile 1 şi 7. Rezolvare. Se aplică algoritmul Dijkstra grafului reprezentat de Figura 2.7.

Figura

2

2

4 5

3 6

7

1

1

9 7

3

2

6

2

1

4

4

5

Page 28: mao

2. Grafuri în optimizare 27 Pas 1. s=1, S=1, , 4,2)1( =Γ

y 1 2 3 4 5 6 7 ∏(y) 0 1 ∞ 4 ∞ ∞ ∞

Pas 2. Iteraţia I . )2()7(),6(),5(),4(),3(),(min)( Π=Π y 2(min) Π=ΠΠΠ= ΠΠΠ

−∈ SXz

y=2, S=1,2, 4,3,1)2( =

z ,

Γ . ∏(2)=l([1,2])=1 (3)=min∏(3), ∏(2)+l([2,3])=min∞,1+4=5 ∏

∏(4)=min∏(4), ∏(2)+l([2,4])=m 1

in 4, +2 =3

y 1 2 3 4 5 6 7 ∏(y) 0 5 3 ∞ ∞ ∞ 1

Iteraţia a II-a ),6(),5(),4(),3(min)(min)( )4()7(ΠΠΠΠ=Π=Π zy Π=Π

−∈ SXz, y=4, S=1,2,4,

(3)=min∏(3), ∏(4)+l([3,4])=min5,3+5=5 ∏(5)=min∏(5), ∏(4)+l([4,5])=m ,3 5∏(6)=min∏(6), ∏(4)+ )=m ,3 1

y 1 2 3 4 5 6 7

6,5,3,2,1)4( =Γ . ∏

in∞ +2= l([4,6] in∞ +9= 2

∏(y) 0 1 5 3 5 12 ∞ Iteraţia a III-a )7(),6(),5(),3(min)(min)( ΠΠΠΠ=Π=Π

−∈zy

SXz)3(Π= , y=3, S=1,2,3,4,

. ∏(5)=min∏(5), ∏(3)+l )=m

), ∏(3)+l =m

y 1 2 3 4 5 6 7

6,5,4,2)3( =Γ

([3,5]([3,6])

inin12,5+3=8

5,5+2=5∏(6)=min∏(6

∏(y) 0 1 5 3 5 8 ∞ Iteraţia a IV-a ()7(),6(),5(min)(min)( Π=ΠΠΠ=Π=Π zy )5

−∈ SXz, y=5, S=1,2,3,4,5,

. ∏(6)=min∏(6), ∏(5)+ )= 5 ∏(7)=min∏(7), ∏(5)+l([5,7])=min∞,5+7=12

y 1 2 3 4 5 6 7

7,6,4,3)5( =Γ

l([5,6] min8, +6 =8

∏(y) 0 1 5 3 5 8 12

Page 29: mao

Modele şi algoritmi de optimizare 28

Iteraţia a V-a min)(min)( )6()7(),6( Π=ΠΠ=Π=Π

−∈zy

SXz, y=6, S=1,2,3,4,5,6,

7,5,4,3)6( =Γ .

(7)=min∏(7), ∏(6)+l([6,7])=min12,8+1=9 ∏

y 1 2 3 4 5 6 7

∏(y) 0 1 5 3 5 8 9

Iteraţia a VI-a )7()7(min)(min)( Π=Π=Π=Π zy

−∈ SXz, y=7, S=1,2,3,4,5,6,7,

Pentru nodurile din mulţim

ea )(yS Γ∩ nu s-au mai evaluat ∏(y).

uchiile (marcate cu litere îngroşate) D=[1,2], [2,3]; [3,6]; [6,7] şi ste de 9 ore.

(Figura 4) şi se introduc datele în ferestrele prezentate în Figurile 2.8. şi 2.9 .

Algoritmul se opreşte deoarece S=X. Vectorul ∏(y) conţine cele mai mici distanţe de la nodul 1 la celelalte noduri. Drumul cel mai scurt între nodurile 1 şi 7 se obţine din me În Management Scientist modulul Shortest Route determină cel mai scurt drum dintre două noduri ale reţelei şi precizează muchiile care realizează acest drum. Pentru rezolvarea problemei din exemplul precedent cu Management Scientist, după lansarea sistemului se selectează modulul Shortest Route2.

Figura 2.8

Page 30: mao

2. Grafuri în optimizare 29

Figura 2.9

Rezultatele sunt afişate după selectarea din meniul Solution a opţiunii Solve

igura 2.10).

(F

Figura 2.10

2.4. Metoda PERT Metoda PERT (Program Evaluation and Review Technique) sau

ritical Path Method – metoda drumului critic) este un instrument CPM

pentru

de decizie un ajutor în planificarea şi controlul unui astfel e p

are ar determina o întârziere în realizarea proiectului onini et al, 1997).

(Cgestionarea (planificarea şi controlul) proiectelor mari cu multe activităţi separate care necesită coordonare. Î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 factoruluid roiect. Ea permite stabilirea timpului necesar realizării întregului proiect, asigurând controlul evoluţiei procesului şi atrage atenţia asupra acelor întârzieri în realizarea activităţilor c(B

Page 31: mao

Modele şi algoritmi de optimizare 30 Sunt necesare două tipuri de informaţii pentru fiecare activitate din proiect: a) succesiunea activităţilor care preced o activitate, b) timpul necesar realizării activităţii, care poate fi determinist sau aleatoriu.

Drumul critic este o mulţime d din proiect care are cea mai mare durată de timp aso Pentru prezentarea metodei sidera un exe plu în care duratele activităţilor sunt presupuse deterministe şi cunoscute.

Exemplu. În Tabelul 2.1 sunt trecute activităţile unui proiect şi duratele lor. Graful corespunzător este d , pentru o înţelegere mai şoară, se vor nota activităţile ăgeţile indicând ccesiunea activităţilor.

.1

Activitate Activprecedentă

Timpul necesar realiză ti

Diagrama activităţilor este reprezentarea grafică a întregului proiect (graf orientat valuat). Activităţile sunt arcele, iar nodurile, momentele de început şi sfârşit ale activităţilor.

e activităţi ciată.

se va con mplu sim

at în Figura 2.11. În acest exempluu şi duratele lor în noduri, ssu

Talelul 2itate

rii (în zile), A Nici una 2 B A C A

C

3 4

D B, 6 E Nici una 2 F E 8

B3

DA

Figura 2.11

2

START STOP

6

E2

F8

C4

Page 32: mao

2. Grafuri în optimizare 31

10 ume ACD.

re proiectul poate fi

ti

întârziere

c.

cu: S

iu de începere a activităţii i, F – momentul cel mai târziu de terminare a activităţii i.

cel mai devreme

act

mo reme posibil cu timpul necesar realizării acti mo rminare a activităţii respective fără întârzierea proiectului,

tivităţi este diferenţa dintre cel

rea

ate oarecare i, care pentru toate activităţile care o preced imediat are determinate DS

izării ultimei activităţi. . P

Sunt posibile doar trei drumuri: l (ABD)=11 zile , l (ACD)=12 zile, l (EF)=zile. Drumul critic este cel care are cea mai mare durată, şi an Lungimea drumului critic determină timpul minim în caterminat. Drumul critic este important pentru că arată că: − mpul necesar pentru realizarea completă a proiectului nu poate fi redus sub valoarea dată de drumul critic, − orice întârziere în realizarea activităţilor de pe drumul critic va produceîn realizarea proiectului. Pentru reducerea duratei totale a proiectului trebuie reduse duratele activităţilor incluse în drumul criti Aflarea drumului critic O cale de aflare a drumului critic este descrisă în continuare. Se noteazăD i – momentul cel mai devreme de începere a activităţii i, DFi – momentul cel mai devreme de terminare a activităţii i, TSi – momentul cel mai târzT i Momentul cel mai devreme de începere a unei activităţi estemoment posibil la care acea activitate poate să înceapă, presupunând că toate

ivităţile care o preced au început la cel mai devreme moment posibil. Momentul cel mai devreme de terminare a unei activităţi este suma

mentului de început cel mai devvităţii respective. Momentul cel mai târziu de terminare a unei activităţi reprezintă cel mai târziu

ment posibil de tepresupunând că toate activităţile sunt desfăşurate conform planului iniţial.

Momentul cel mai târziu de începere a unei acmai târziu moment posibil de terminare a activităţii respective şi timpul necesar

lizării acestei activităţi.

Procedeu pentru determinarea momentelor DS , DF , TS şi TF 1. Pentru prima activitate se ia DS egal cu zero. Dacă se adaugă la DS timpul t

necesar realizării primei activităţi se obţine DF pentru prima activitate. 2. Pentru o activit

şi DF , se ia DSi=maxDFk | activitatea k precede imediat activitatea i şi DFi=DSi+ti,

deoarece activitatea i nu poate începe până când toate activităţile care o preced nu s−au terminat.

3. Pentru ultima activitate se ia TF=DF al acestei activităţi. Atunci TS=TF−tn , tn fiind timpul necesar real

4 entru o activitate oarecare i, având pentru activităţile care o succed imediat determinate TS şi TF , se ia

TFi=minTSk | activitatea k succede imediat activitatea i şi TSi=TFi−ti,.

Page 33: mao

Modele şi algoritmi de optimizare 32 Marja, M, 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. După determinarea valori F F e t v ile, se pot calcula marjele ca fiind

= DSi – i sau i= Fi Dacă proiectul are termenul fina are a u g drumului critic, atunci orice întârziere în realizarea unei activit ul critic va cauza întârziere în finalizarea oiectulu În schim ct ăţ c au marja pozitivă pot fi decalate cu un nu r de zile egal cu m , f r

roiectului să se modifice.

Tabel l 2.2 Activitate Durata DF TS TF M

lor DS, D , TS, T p ntru oate acti ităţ

Mi TS M D – TFi . de liz eg l c lun imea

ăţi incluse în drum pr i. b, a ivit ile aremă arja ără ca te menul de finalizare a

p Pentru exemplul de mai sus se consideră că proiectul durează 12 zile şi s-a luat TF pentru activitatea D egal cu 12. În Tabelul 2.2 sunt trecute momentele DS, DF, TS, M şi TF pentru acest exemplu obţinute în urma aplicării procedeului de mai sus.

uDS

A 2 0 2 0 0 2 B 3 2 5 3 6 1 C 4 2 6 2 6 0 D 6 6 12 6 12 0 E 2 0 2 2 4 2 F 8 2 10 4 12 2

Exemplul de mai sus poate fi rezolvat şi cu ajutorul pachetului de programe Management Scientist. După lansarea pachetului de programe se selectează modulul PERT/CPM (Figura 2.4). Din fereastra care apare se selectează File, apoi New şi se precizează faptul că duratele activităţilor sunt deterministe şi numărul acestor activităţi, ca în Figura 2.12.

Figura 2.12

Se afişează o fereastră în care se introduc duratele activităţilor şi activităţile

când este definită ca precedenţă.

care le preced imediat, ca în Figura 2.13. Activităţile se codifică folosind literele alfabetului în ordine crescătoare. O activitate care precede o alta trebuie să fie deja definită atunci

Page 34: mao

2. Grafuri în optimizare 33

Figura 2.13

Selectând Solution, şi de aici Solve, se obţine soluţia sub form de Figura 2.14.

a dată

Fi ra 4

S−au obţinut aceleaşi rezultate ca şi prin aplicarea procedeului descris mai sus.

ăţa implică şi costuri suplimen

ie de cost în luarea deciziei.

gu 2.1

Analiza numai sub aspectul duratei poate fi completată cu costuri asociate activităţilor. De exemplu, durata unei activit i poate fi redusă dacă se alocă resurse suplimentare. Aceast tare. Se introduce astfel şi o funcţ

Page 35: mao

Modele şi algoritmi de optimizare 34 În continuare se consideră cazul, mai apropiat de realitate, când duratele activităţilor sunt aleatoare. Atunci, trebuie să se cunoască despre aceste variabile aleatoare care sunt densităţile lor de probabilitate. În practică se cunosc anumite date despre duratele activităţilor, cum ar fi:

− ai – cea mai optimistă durată pentru activitatea i, − bi – cea mai pesimistă durată pentru activitatea i, − mi – cea mai probabilă durată pentru activitatea i (modul repartiţiei).

ţia Beta(a,b) ar putea caracteriza aceste durate deoarece este o ţie continuă, unimod (a,b). Un estimator pentru

aloarea medie a unei variabile aleatoare Beta(a,b) este

Repartireparti ală şi cu valori în intervalul

( )bmat ++= 4v6

pentru abaterea medie standard

1 şi

( )ab −=61σ .

Pentru exemplul precedent, în Tabelul 2.3, sunt trecute duratele activităţilor cele mai optimiste, cele mai pesimiste, cele mai probabile (ca rezultat al xperienţelor anterioare), estimările duratelor medii, ale abaterilor medii pătratice eşi ale dispersiilor. Se caută drumul critic cu duratele activităţilor ti şi se obţine acelaşi drum ritic (duratele medii ti coincid cu duratele activităţilor în cazul determinist).

Tabelul 2.3 Activitate ai bi mi ti

c

iσ 2iσ

A 1 3 2 2 0.33 0.11 B 1 5 3 3 0.67 0.45 C 2 6 4 4 0.67 0.45 D 4 8 6 6 0.67 0.45 E 1 3 2 2 0.33 0.11

F 1 15 8 8 2.33 5.43 Dacă se presupune că duratele activităţilor sunt variabile aleatoare independente, atunci dispersia drumului critic ACD este suma dispersiilor activităţilor componente, adică 01.145.045.011.02 =++=ACDσ , iar abaterea medie standard

este 005.101.1 ==ACDσ . Dacă drumul critic conţine multe activităţi (peste 30) durata totală poate fi considerată repartizată normal. Se va considera şi în acest caz repartiţia duratei

rumului critic ca fiind N (12, 1.005) şi atunci se poate să se determine robabilitatea ca durata drumului critic să fie mai mică decât o valoare (de xemplu, 14 zile), folosind tabela repartiţiei normale standard, astfel:

dpe

( ) 977.0)2(005.1

121414 ==⎟⎠⎞

⎜⎝⎛ −

=⎟⎠⎞

⎜⎝⎛ −

=< FFTFTPσ

µ .

Page 36: mao

2. Grafuri în optimizare 35

2.5. Probleme propuse

. O firmă de construcţii are şantiere în 6 locuri diferite. Transportul zilnic de oameni, tilaje, materiale de la sediu la şantiere şi invers este destul de costisitor. Reţeaua

ar ă în Figura 2.15 prezintă străzile şi distanţa dintre şantiere şi sediul firmei. odurile reprezintă şantierele numerotate de la 1 la 6, iar muchiile, străzile. Numerele

aibă linii speciale pentru legarea alculatoarelor instalate la cele 5 centre ale sale în diferite locuri din oraş la rverul central. Deoarece liniile sunt scumpe, proprietarul doreşte ca lungimea tală a cablurilor folosite să fie minimă. În Figura 2.16 sunt prezentate cele

centre şi serverul central (în noduri), iar muchiile reprezintă traseele posibile şi ngimile cablurilor între server şi centrele firmei. Să se stabilească legăturile care conducă la cel mai mic cost (lungimea totală a cablurilor să fie minimă).

R. acoperire

1uătat

Nde pe muchii reprezintă distanţa în kilometri. Dacă se doreşte minimizarea distanţei dintre sediul firmei şi şantierul 6, care este drumul care trebuie parcurs şi lungimea sa?

Figura 2.15

17

Sediul firmei (1)

2

4

5 3 6

7

3

6 5

4

6

2 4 10

15 R. Lmin=22 , obţinută pe traseul D=[1,3], [3,5], [5,6], [6,7] . 2. O firmă de Internet Cafe trebuie să cseto5lusă

Arborele de

Figura 2.16

2

Serverul central (1)

4

4

35

4

31

3

2 4

5 2

3

4

6

Page 37: mao

Modele şi algoritmi de optimizare 36 de lungime minimă este dat de muchiile [1,2], [1,4], [4,6], [4,3], [4,5] (Figura 2.17), iar lungimea minimă a cablurilor este de Lmin=11.

3. Trebuie să se construiască o autostradă care să treac rin apropierea localităţilor

otate în Figura 2.18 cu numere de la 1 la 14.

Costurile (lucrărilor propriu-zise, lucrărilor de artă, de expropriere, sociale etc.)

e stabilească traseul autostrăzii care uneşte localităţile 1 şi 14 şi care să implice costuri minime (Kaufmann, 1967).

R. Traseul de cost min ag al calitatea 14 trece prin localităţile 1, 3, 5, 9, 12, 14 ostă 19 u. m (u i 4. Fie un proiect ale cărui da unt trec în T l .4

Tab l 2.

Fi

ă pn sunt trecute pe muchiile acestui graf. Să s

im care le ă clo it eaat d1 e o lşi c nităţ monetare).

te s ute abe ul 2 . elu 4

gura 2.17

3 1 3

5

4 3 2

6

2

1 2

8

5

Figura 2.18

10

9

7

6

5

3

4

2

1

11

13

12

14

3

2

11

8 2

4

3

9

5

3

4

7 6 8

3

11 8

9

5

4

6 6

9

Page 38: mao

2. Grafuri în optimizare 37

Activitate Activitaprecedentă

im n sar ării (în zile), ti

te T pul ecerealiz

A Nici una 5 B A 4

E B 4 F D, E 2

C Nici una 7 D B, C 3

a) Să se traseze diagrama grafului asociat proiectului. b) Să se calculeze DS, DF, TS, TF pentru fiecare activitate, presupunând că DF şi TF pentru ultima activitate coincid. c) Să se precizeze activităţile incluse în drumul critic. R. a) Diagrama grafului asociat este dată în Figura 2.19. b) În Tabelul 2.5 sunt trecute valorile corespunzătoare. Durata proiectului este de 15 zile.

Tabelul 2.5

Activitate DS DF TS TF A 0 5 0 5 B 5 9 5 9 C 0 7 3 10 D 9 12 10 13 E 9 13 9 13 F 13 15 13 15

c) Drumul critic este format din activităţile A, B, E, F. 5. În problema 4 se consideră că timpul necesar realizării activităţii C este de 9 zile.

A

Figura 2.19

C

B4

D

E4

F2

Page 39: mao

Modele şi algoritmi de optimizare 38 a) Să se precizeze dacă se modifică drumul critic în acest caz. b) Dar dacă activităţii C îi sunt necesare 11 zile, se modifică drumul critic? R. a) Nu, deoarece activitatea C are o marjă de 3 zile, iar creşterea duratei este doar de 2 zile. b) Da, şi drumul critic este compus din activităţile C, D, F şi durata proiectului este de 16 zile. 6. Un depozit angro doreşte să se modernizeze şi să se extindă. Activităţile necesare sunt trecute în Tabelul 2.6 . Să se stabilească durata minimă şi care sunt activităţile critice ale acestei iniţiative.

Tabelul 2.6

Activitate Descriere activitate Activitate precedentă

Timpul necesar Realizării (în săptămâni), ti

A Proiectul de arhitectură Nici una 5 B Identificarea chiriaşilor potenţiali Nici una 6 C Dezvoltarea prospectului A 4 D Selectarea antreprenorului A 3 E Pregătirea autorizaţiei de

construcţie A 1

F Obţinerea autorizaţiei de construcţie

E 4

G Construcţia D,F 14 H Finalizarea contractelor cu

chiriaşii B,C 12

I Instalarea chiriaşilor G,H 2 R. Activităţile critice sunt A, E, F, G, I, iar durata minima a iniţiativei este de 26 săptămâni. 7. Se consideră un proiect având datele despre activităţi trecute în Tabelul 2.7

Tabelul 2.7

Activitate Activităţi precedent

e ai bi mi

A – 2 6 4 B – 6 10 8 C A 1 15 5 D C 1 9 5 E B 6 10 8

unde:

− ai – cea mai optimistă durată pentru activitatea i, − bi – cea mai pesimistă durată pentru activitatea i,

Page 40: mao

2. Grafuri în optimizare 39

σ

− mi – cea mai probabilă durată pentru activitatea i (modul repartiţiei). a) Să se calculeze timpul mediu ti şi dispersia pentru timpul necesar realizării fiecărei activităţi.

2iσ

b) Să se traseze diagrama grafului asociat. 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, să se calculeze probabilitatea ca durata drumului ACD să fie mai mică decât 16 zile. d) Care este probabilitatea ca proiectul să se termine în mai puţin de 16 zile ? R. a) Media duratelor şi dispersia sunt trecute în Tabelul 2.8.

Tabelul 2.8

Activitate ti 2i

A 4 0.44 B 8 0.44 C 6 5.44 D 5 1.78 E 8 0.44

b) Diagrama asociată grafului este dată de Figura 2.20

Figura 2.20

A4

STAR STO

B8

C6 D5

E

Lungimea drumului critic este 16 zile. c) Pentru drumul ACD lungimea medie este 15 zile, iar dispersia este 0.44+5.44+1.78=7.67 , iar abaterea medie pătratică este 2.77 .

64.07721516)16( =⎟

⎠⎞

⎜⎝⎛

⋅−

=< FTP ACD .

Pentru drumul BE dispersia este de 0.44+0.44=0.88 , iar abaterea medie pătratică este 0.94 .

Page 41: mao

Modele şi algoritmi de optimizare 40

P (T < 16) = ⎟⎠

⎞⎛ −1516F = 0.50. ⎜94,BE 0⎝

Page 42: mao

2. Grafuri în optimizare 41 ) Probabilitatea ca durata proiectului să fie mai mică de 16 zile este d

( ) 32.050.064.016 =⋅=<proiect

plic

TP .

8. Exploatarea unei cariere im ă u toarele ac n− construirea drumurilor d cces (A− cumpărarea şi livrarea ut jelor de ava en − angajarea de personal: c uctori d tila m r )

adâncirea excavaţiei (D

ost angajaţi. Tabelul 2.9 sunt date duratele şi condiţionările acţiunilor acestui proiect.

Tabelul 2.9 Aprecedent u

rmă ţiu i: e a ) ila exc re p tru înlăturarea zonei fertile (B)

ond e u je şi ine i (C ) −

− pregătirea minerilor angajaţi în mineritul de suprafaţă (E). estricţiile impuse de ordinea acţiunilor: R

− excavarea nu poate începe decât dacă: – utilajele au fost livrate; – conductorii de utilaje au fÎn

Activitate ctivitate

ă Timp

realizării (în lul necesar

ni), ti

A Ni 10 ci una B Ni 4

N 8 A, B, C 5

6

ci una C ici una D E C

a) Să se traseze diagramb) S se ca TF ş arja pentru fiecare activitate, presupunând că DF şi T a activitate coincid. c) S e pre mului critic şi acti ile incluse în drumul critic. R. iagr ura 2

a grafului asociat proiectului. lculeze DS, DF, TS,F pentru ultim

ă i m

ă s cizeze lungimea dru vităţ

a) D ama este dată de Fig .21.

B4 D5

STOSTAR A1

C8 E6

Figura 2.21

Page 43: mao

Modele şi algoritmi de optimizare

42

b ) Valorile cerute sunt conţinute în Tabelul 2.10.

Tabelul 2.10. Activitate DS DF TS TF M

A 0 10 0 10 0 B 0 4 6 10 6 C 0 8 2 10 2 D 10 15 10 15 0 E 8 8 15 15 7

) Drumul critic conţine activităţile A, D şi are lungimea 15.

ăţi şi durate .

Tabelul 2.11 Durata

realizării (în săptămâni)

c 9. O firmă producătoare de aspiratoare îşi propune să introducă în fabricaţie spiratoare portabile. Pentru aceasta iniţiază un proiect ale cărui activita

sunt trecute în Tabelul 2.11

Activitate Descriere ivitate activitate Actprecedentă cea mai

pesimistă cea mai

probabilă cea mai

optimistă

A Proiectarea Nici una 4 5 12 produsului

B Cercetarea pieţei de Nici una 1 1.5 5 defacere Stabilirea procesului

3 4 11

1.5 2 G Testarea prototipului D 1.5 3 4.5

2.5 3.5 7.5

I Stabilirea preţului şi estimarea vânzărilor H 1.5 2 2.5

J Raportul final F, G, I 1 2 3

C tehnologic A 2 3 4

D Construirea prototipului A

E Pregătirea broşurii cu instrucţiuni de folosire

A 2 3 4

F Estimarea costurilor C 2.5

H Inspectarea pieţei B, E

Să se precizeze activităţile critice, duratele: cea mai optimistă, cea mai probabilă şi cea mai pesimistă de realizare a acestui proiect.

A, E, H, I, J şi duratele cea mai optimistă 14.28 , cea R. Activităţile critice sunt mai probabilă 17 şi cea mai pesimistă 19.72 .

Page 44: mao

i convexe

şi rezultate capitole.

efiniţia 3.1. O mulţime se numeşte convexă dacă

3. PROGRAMARE CONVEXĂ

3.1. Mulţimi şi funcţi În acest capitol sunt prezentate câteva noţiuni (Fletcher, II, 1981) pe care se bazează metodele şi algoritmii următoarelor trei

nK R⊂ ( ) K∈∀ 10 , xxD şi ( ) [ ]1,0∈∀ θ , atunci

( ) +−= 1 xx 10 xθ K∈θθ (3.1) sau, în general: ( ) Km ∈∀ xxx ,...,, 10 , atunci

( ) [ ]1,0,0

∈∀∈= ∑=

m

ii

ii K θθθ xx şi 10

=∑m

=

ă a punctelor x0,

Definiţia 3.3. Fie

ii θ (3.2)

Definiţia 3.2. θx din Definiţia 3.1 se numeşte combinaţia liniarx1 etc.

Kn ∈xxx ...,,, 10 . Mulţimea punctelor x (3.umeşte înfăşurătoarea convexă a mulţimii

θ date de 2) se n n10

Exemple de mu

xxx ,...,, .

lţimi convexe: mulţimea formată dintr-un singur punct, o dreaptă,

d tă, un hipeun segment e dreap rplan (adică ⎭⎬⎫

⎩⎨⎧

=∈ ∑=

n

iii

n bxa1

Rx ), un semiplan

(adică ⎭⎬⎫

⎨⎧

≥∈ ∑ bxan

iinx R ), o bi

⎩ =i 1

lă închisă de centru a şi rază r,

( )⎪⎭⎬

⎪⎩⎨ ≤−∈=≤− ∑

=

raxrn

iii

12

nxa R , ⎪⎫⎪⎧∈=)(Br2n xxa R

un con ( )( )(, ,* RR nmC M∈≥∈= A0xx , xn −xA

ema 3.1. Fie Ki , i=1,2,…,m, m mulţimi convexe. Atunci este tot o

mulţime convexă.

* vârful conului) etc.

Im

iiKK

1=

=L

Page 45: mao

Modele şi algoritmi de optimizare

44

Demonstraţie. Fie ( ) K∈∀ 10 , xx , atunci rezultă că iK∈10 , xx pentru ( ) mi ,1=∀ .2) este în fiecare mulţime K. Atunci intersecţia lor.

onsecinţa 3.1. Mulţimea punctelor admisibile într-o problemă de programare

efiniţia 3.4. Fie numeşte punct de extrem entru K dacă, având x=(1−θ ) x0+θ x1 ,

xθ dat de (3 i , deci şi în

C(1.1) cu restricţii liniare este o mulţime convexă.

nK , o mulţime convexă. x seD R⊂K∈10 , xx şi ( )1,0∈θp , atunci rezultă

ă x=x0=x1, sau, altfel s unui segment din K.

xemple: vârfurile unui poligon regulat, punctele circumferiţei unui cerc sunt uncte de extrem pentru poligon, respectiv disc.

o funcţie continuă. Funcţ te convexă dacă

pus, x nu cade în interiorul nici c

Ep Definiţia 3.5. Fie nK R⊂ , o mulţime convexă şi R→Kf :

ia f se numeş ( ) K∈∀ 10 , xx are loc relaţia ( ) ( ) [ ]1,0,)()()1()1( 1010 ∈∀+−≤+− θθθθθ xxxx fff .

K este deschisă, atunci se poate da ţie a funcţiei convexe.

Definiţia 3.5’. Funcţia f este convexă pe K dacă

(3.3)

Dacă f este diferenţiabilă pe K şi următoarea defini

( ) K∈∀ 10 , xx are loc relaţia

01 xx ff )()'( 001 xxx f)()( ∇−+≥ (3.4) at transpunere

unde cu prim s-a not a, iar f∇ este gradientul lui f.

xerciţiu. Să se demonstreze echivalenţa Definiţiilor 3.5 şi 3.5’.

0x

E Corolar 3.1.

( ) ( ))()()( 0101101 xxxxxxx ffff ∇′−≥−≥∇′− )( (3.5)

l ricărei drepte.

Cu alte cuvinte, panta unei funcţii convexe este nedescrescătoare de-a lunguo Definiţia 3. 5 ′′ . Fie R→Kf : , o funcţie dublu diferenţiabilă pe K, m deschis ş

ulţimeă ă ţia f este convexă dacă este pozitiv

iti convex în R n. Func )( 0

2 xfdsemidefin ă (Definiţia 6.2) pentru ( ) K∈∀ 0x . Definiţia 3.6. Fie , o mulţime convexă şi o funcţie continuă.

eşte strict convexă dacă

nK R⊂ R→Kf :f se num

( ) ( ) ( ) 101010 ,1,0,)()()1()1( xxxxxx ≠∈∀+−<+− θθθθθ fff (3.4’)

Page 46: mao

3. Programare convexă 45

concavă dacă –f este convexă şi f se numeşte strict oncavă dacă –f este strict convexă.

Definiţia 3.7. Fie nK R⊂ , o mulţime convexă şi R→Kf : o funcţie continuă. f se numeştec Exemple de funcţii convexe: funcţiile liniare (sunt şi concave), funcţiile pătratice

de forma 0''2

)( cf ++= xcCxxx , unde C este o matrice pozitiv semidefinită

(x’Cx≥0 , ).

1

şi funcţiile convexe Lema 3.2. Fie nK R⊂ , o mulţime convexă

miKfi ,1: =→ R . Dacă , mii ,1, =λ , atunci ∑0≥=

ate

Problema ei funcţii convexe f pe o mulţime convexă K se e e progr orma

=i

ii ff1

λ este o funcţie

convexă pe K.

m

3.2. Extreme condiţion

minimizării un

numeşt problema d amare convexă şi se poate scrie sub f

⎪⎩ =≤∈=∈ migin ,1,0)(xxx RR

unde: f

⎪⎨⎧ f (min x

(3.6)

şi gi sunt funcţii convexe pe Rn .

Lema 3.3. Dacă

)

( )′= g ,...,1g ă pe , atunci ng este convex nR

an ≤)(xgR este convexă.

a ∈=)( xR

Demonstraţie. Fie )(, 21 aR∈xx şi [ ]1,0,)1( 10 ∈+−= θθθθ xxx . Din convexitatea lui g avem

aaa =+−≤+−≤ θθθθθ 10 )1()()()1()( xgxgxg , adică )()( ag R∈θ

Vo

x .

m nota RR =)0( . Mulţimea R se mai numeşte şi domeniul problemramare convexă (3.6) saulă) pentru problema de progr

ei de prog mulţimea soluţiilor admisibile (regiunea realizabi amare convexă (3.6). Consecinţa 3.2. Regiunea realizabilă R dată de (3.6) este o mu

lţime convexă.

Definiţia 3.8. Fie , o mulţime nevidă şi o funcţie . nK R⊂ R→Kf :

Page 47: mao

Modele şi algoritmi de optimizare

46

Punctul K∈*x este un maxim (minim) global pentru f pe K dacă pentru ( ) K∈∀ x avem )( *xx f()f ≤ ( ))()( *x .

astfel î

x ff ≥

Punctul este un maxim (minim) local sau relativ pentru f dacăncât pentru

K∈*x ( ) 0>∃ r

( ) KrB nr ⊂<∈=∈∀ ** x-x xxx R)(

avem )( *xx f()f ≤ ( ))()( *xx ff ≥ .

Un minim global (local) pentru problema (3.6) se numeşte soluţie globală (locală)

a unei poluţiilor globale, R, este convexă.

pentru problema (3.6) . Teorema 3.1. Orice soluţie locală x* robleme de programare convexă (3.6) este o soluţie globală şi mulţimea sDemonstraţie. Fie x* o soluţie locală pentru problema (3.6), dar nu globală. Atunci ( ) R∈∃ 1x astfel încât )()( *

1 xx ff < . Pentru [ ]1,0∈θ se consideră

= 1(xθ R∈+− 1) xx* θθ (din convexitatea lui R ). Din convexitatea lui f rezultă

( ) )()()()()()()1()( ****xf θ−≤θ 11 xxxxxx ffffff <−θ+=θ+ . Pentru θ suficient de mic, află în vecinătatea lui x* şi inegalita

s contrazice proprietatea de o m local a lui x*. Astfel, soluţia locală este şi

Pentru a arăta că R este convexă, se d şi

θx se tea de mai su ptiglobală.

consi eră[ ]1,0∈R∈10 , xx θ , 10)1( xxx θθθ +−= .

Deoarece x0 , x1 sunt soluţii globale, au loc relaţiile f(x0)=f(x1) şi )()()()1()( 010 xffff =θ+θ−≤θ xxx ,

adică )()( 0xx ff =θ şi astfel R∈θ , ceea ce R estex arată că convexă. Corolar 3.2. Dacă f este strict convexă pe R , atunci orice soluţie globală este

Demonstraţie. Fie şi unică.

R∈≠ 10 xx ( )1,0∈θ . Atunci R∈θx şi )()()( 10 xxx fff =≥θ ,

iar din convexitatea strictă a lui f avem )()()()()1()( 1010 xxxxx fffff ==+−< θθθ

şi s-a obţinut o contradicţie. Aşadar, nu pot exista două soluţii globale distincte în R pentru problema (3.6).

Page 48: mao

3. Programare convexă 47

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

( ) IEI

IEL

∪∈∀=∈≥

∈≤∈==∇

igj

jgig

iij

jix

;0)(;,0

;,0)(;,0)(,0),***

***

x

xxx

λλ

λ*( (3.7)

unde : ∑+= ii gf ()(),( xxx λλLi

) este funcţia lagrangian, E este mulţimea

tăţi, Ii x este o solu (3.6). Fie

indicilor restricţiilor egali este mulţimea indicilor restricţiilor inegalităţi din (3.7), atunc * ţie globală pentru problema

emonstraţie.D *x≠ . Atunci, deoarece , xx ∈R şi 0≥∗λ 0xg ≤)( , f şi

sunt convexe, din ipoteză avem că *** =∇+∇ ∑g 0)()(1=

m

gf xx λ ,

ţinând cont şi de relaţia (3.4), avem i

ii 0)( ** =xii gλ

şi,

+∇′−+≥+≥ ∑ )()()()()()( ***

=

*m

1xxxxxxx ffgff

iiiλ

( ) =⎟⎠⎞

⎜⎝⎛ ∇

′−++ ∑ )()( ***

=

* xxxx ii

m

i ggλ 1i

)()()()()( ** xxxx ffm ⎞

⎜⎜⎛∇′−+= *

1

*** xx fgi

ii =⎟⎟⎠⎝

∇λ+ ∑=

.

Aşadar, )()( *xx ff ≥ şi astfel x* este soluţie globală. Definiţia 3.9. O restricţie inegalitate 0)( ≤xig se numeşte activă într-un punct admisibil x* dacă şi inactivă dacă .

Următoarea teoremă afirmă că optimalitatea unei soluţii a problemei de că se înlătură restricţiile p

le transform

eorema 3.3. Dacă x* este o soluţie a problemei (3.6), atunci x* este şi o soluţie problemei restrânse

∈≤ ,,0)( *Eigi x (3.6’)

0)( =*xig 0)( <*xig

programare convexă (3.6) nu se modifică da e care soluţia ă în inegalităţi stricte.

Ta

⎩⎨⎧ )(min f x

unde 0)( =∪∈= *xigi IEE * .

Demonstraţie. Presupunem că x nu este soluţie a problemei (3.6’), adică ( )

*

nR∈∃ x , soluţie a problemei (3.6’), astfel încât *E∈≤ ig i ,0)(x şi ( ) ( ) R∈∀ x . (3.8)

ie < xx ,)(ff

F ( ) 10,1 <<−+= θθθθ*xxx . Să arătăm că pentru θ suficient de mic

este o soluţie pentru problema (3.6) ‘mai bună’ decât x*, adică θx

( ) )( *xx ff <θ .

Page 49: mao

Modele şi algoritmi de optimizare

48

Mai întâi să arătăm că R∈θx , ad pentru problema

(3.6

ică este un punct admisibil

’). Din convexitatea , funcţiilor ig mi ,1= , pentru orice ( )1,0∈θ avem ( ) ( ) ( ) ( ) ( ) *−+ gix θ E∈∀≤≤ igg ii ,x θθ şi

( )01 *x

( ) ( ) ( ) ( ) *∉∀<≤ jgg ,0*x θ , E−+ g jjj 1 xx θθ

eoarece ( ) ( ) ( ) *E∉∀<≤ jg jj ,0,0 *x . Din convexitatea funcţiei f şi din g xd

(3.8) rezultă )( ( ) ( ) ( ) ( )** xx fff <

Inegali p ctului x* de a fi luţie optimă pentru problema (3.6). Aşadar, un astfel de punct

xxf −+≤ θθθ 1 (3.9) tatea (3.9) este în contradicţie cu proprietatea un

xso nu există.

Convenim ca admisibile este o ve un punct admisibil x restrâng domeniul de

admisibilitate în vecinătatea punctului x , în timp ce restricţiile inactive nu au tatea punctului x . Aşadar, în studiul proprietăţilor unui extrem

aşte care restricţii sunt active pentru rezolvarea problemei (3.6), soluţia ar fi un

roblemei obţinute din (3.6) prin ignorarea restricţiilor inactive şi tratarea lema (3.6) poate fi

orice restricţie (3.6) cu egalitate, în punctele

restricţie activă. Restricţiile acti într-

influenţă în vecinălocal atenţia se poate concentra numai asupra restricţiilor active. Dacă s-ar cuno

minim local al prestricţiilor active ca egalităţi. Astfel, pentru soluţii locale, probprivită numai cu restricţii egalităţi. Definiţia 3.10. Un punct K care satisface restricţiile ∈*x E∈= ig i ,0)(x se

ii , sunt liniar independenţi.

azul restricţiilor egalităţi

rema 3.4. În problema (3.6) considerăm că gi(x)=0,

numeşte regulat dacă vectorii ∇g )( *x E∈

3.2.1. C Acest caz reprezintă bine cunoscuta problemă a extremelor cu legături (sau extreme condiţionate).

mi ,1=Teo şi f şi gi sunt diferenţiabile, iar matricea jacobiană

⎟⎟⎟⎟⎟⎟

⎜⎜

∂∂=

nxx1

1

1

J

L

⎜⎜⎜⎜

∂∂

∂∂

∂∂

n

mm

xg

xg

gg

)()(

)()(

*

1

*

**

xx

xx

L

O

Page 50: mao

3. Programare convexă 49

u

Atunci există

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

numerele R∈mλ , asfel încât 0)()(1

*** =∇+∇ ∑=

m

iii gf x λ .

Numerele 1

x

λ ,..., mλ se icator i lui Lagrange.

nu ipl imesc mult

3.2.2. Cazul restricţiilor inegalităţi Un rol esenţial în rezolvarea problemei (3.6) cu φ≠I îl au condiţiile Kuhn-Tucker. Pentru demonstrarea condiţiilor Kuhn-Tucker (cunoscute şi sub denumirea de

Lema 3.4. (Farkas-Minkowski) Fie

condiţii optimale de ordinul I) avem nevoie de lema Farkas-Minkowski a cărei demonstraţie o omitem (Henry-Labordere, 1995).

mrangm,n =∈ )(,)( AA RM şi presupunem că

şi ( ) mx R∈∀ 0≥Ax 0≥′xc . Atunci există multiplicatorii nii ,1,0 =≥λ astfel încât vectorul c se scrie sub

forma , unde λtAc = ( )′= n,, λλλ ...,21λ . Definiţia 3.11. Fie un punct R∈*x de extrem local (global) pentru problema (3.6) şi un şir ( ) R⊂≥1

)(k

kx astfel încât ( ) xx ⎯⎯ →⎯ ∞→kk )( , )()( kk sxx (k)δ=− , iar

0,1 )()( >= kk δs . Vectorul se numeşte direcţie admisibilă

(realizabilă) în . Notăm

Ca=s∈Rn ⎥ s este direcţie admisibilă în x*conul direcţiilor admisibile în şi

)(lim k

kss

∞→=

*x

*x , *E∈≤∇′∈= igC nt ,0)( *

i xss R

conul tangent în la R. Ipoteza de calificare a restricţiilor într-un punct de extrem este dată de relaţia

. (3.10) Se poate demonstra următoarea propoziţie (Fletcher, 1981). Propoziţia 3.1. Ipoteza de calificare a restricţiilor (3.10) are loc dacă : i) restricţiile cu indicele sunt liniar independente, sau ii) vectorii sunt liniar independenţi.

*x

ta CC =

*E∈i*E∈∇ ig ,)( *

i x

Page 51: mao

Modele şi algoritmi de optimizare

50

Considerăm că : E ≠ φ , I ≠ φ şi ⎪E⎪+⎪I⎪=m≤n ,

x* punct adm f, gi sunt dife

vectorii

isibil dă un minim local, renţiabile şi

IE ∈=∇∪∈∇ jbggig jjji ,)()(,)( *** xxx sunt independenţi.

eorema 3.5. (Condiţiile Kuhn-Tucker) În ipotezele de mai sus, condiţia necesară ă să existe

multiplicato

Tşi suficient pentru ca x* să fie o soluţie a problemei (3.6) este

rii mi ,1, =∈λ R , astfel încât i +

) (i ( ) nif

iii

,1***

=∂

IE

ii) xxg

xxg

xx

k

k

k

k ,0)()()(∀=

∂∂

+∂

∂+ ∑∑

∈∈kk λλ

( ) ( ) I∈∀=− kbxg(kkk

Demonstraţie. Condiţiile Kuhn-Tucker sunt necesare. Din ipoteza de calificare a *

,0)( *λ

restricţiilor în x rezultă că E∈≤∇′ ig ,0)( *i xs şi deoarece pentru ( ) aCs ∈∀

avem ( ) )(,))()()( *)()(*)()(*)( xxxsxx r

kkkkk B(fff ∈∀+∇+= δδ O . Dar

0))()()( )(*)()(*)( ≥+∇⇒≥ kkkk (fff δδ Oxsxx . Împărţim relaţia de mai sus la 0)( >kδ şi trecem la limită pentru ∞→k şi obţinem că 0)( ≥∇′ *xs f . În Lema Farkas-Minkowski, înlocuind x cu s şi A cu )( *xgE∇ , rezultă că ( ) 0≥∃ Eλ , astfel încât )()( ** xgx EE ∇−=∇ λf , unde

)( *xgE∇ este matricea care are ca linii E∈∇ ig ,)( *x . Considerăm vectorul i

[ ] nR∈0λλ ,E şi )()( ** xgx ∇′ ′λ , −=∇ λf cu proprietatea că 0)( =∇ *xg=egalitate evidentă, deoarece

( ) ** EIE −∈∀=∈= jig ji ,0,,0)( λ*x . Condiţiile Kuhn-Tucker s t ma 3.2 se consideră b=0 şi

*

mai este necesară ării re

În capitolele 4, 5 şi 6 funcţ cazuri particulare de fuconvexe, iar restricţiile sunt liniare, deci ii prezentaţi în aapitole se bazează pe particularităţile fiecărui tip de problemă.

un suficiente. În Teorerezultă că x este soluţia problemei (3.6) . Se observă că p t fi i ien ru su c enţa condiţi lor Kuhn-Tucker nu

stricţiilor. ipoteza calific

iile obiectiv sunt convexe. Algoritm

ncţii ceste

c

Page 52: mao

4.1.1. Utilizarea optimă a resurselor

poziţie (materie primă, forţă de muncă, maşini-unelte, resurse financiare etc.) sunt în cantităţi limitate. Fie i numărul de ordine al resursei şi fie bi cantitatea disponibilă din resursa i. Cu ajutorul acestor resurse se pot desfăşura mai multe activităţi (de exemplu: procese de producţie). Fie j numărul de ordine al activităţii desfă şi fie xj nivelul (necunola care trebuie să se desfăşoare această activitate. De exemplu, pentru procesul de producţie j, care constă în fabricarea unui anumit produs, se notează cu xj cantitatea ce va fi produsă. Fie aij cantitatea din resursa i necesară producerii

resursei ) şvident o simplificare a situaţiei reale.

Cu aceste notaţii se cantitatea din resursa ţii xj, care este aij xj; cantitatea totală din resursa i folosită pentru producţia totală formată din n

4. PROGRAMARE LINIARĂ

4.1. Exemple de probleme de programare liniară

Un manager de agent economic trebuie să rezolve destul de des următoarea problemă (Zidăroiu, 1983): Resursele pe care le are la dis

şurate scut)

unei unităţi din produsul j. Se presupune că ai j nu depinde decât de tipul i de tipul produsului realizat (j) şi nu de cantităţile produse, ceea ce constituie (i

e pot determina mărimile următoare:

i folosită pentru producerea cantită−−

produse: ai1 x1+ai2 x2+...+ain xn .

Deoarece nu se poate consuma din resursa i mai mult decât cantitatea de care se dispune, trebuie să fie respectate condiţiile:

ai1 x1+ai2 x2+...+ain xn ≤ bi , (∀) 1 ≤ i ≤ m, sau

∑=

a nu po

condiţiile de

≤n

jijij bxa

1, i∈1, 2,..., m. (4.1)

xj reprezentând cantitatea ce trebuie produsă din sortimentul j, e ate fi un număr

x ≥ 0, j∈1, 2,..., m. negativ:

j (4.2) Inec ), nenegativitate.

uaţiile (4.1) se numesc restricţiile problemei, iar (4.2

Page 53: mao

Modele şi algoritmi de optimizare

52

Sistemul de inecu vea o infinitate de solulu

Adoptarea unei variante de plan (luarea unei decizii) se face pe baza unui ie maxim.

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, pentru simplificarea problemei, că atât preţul de vânzare cât şi costul nu depind de cantitatea produsă, ceea ce nu

aţii liniare (4.1) şi (4.2) poate a ţii, o so ţie sau nici una. Pentru problemele corect puse, cel mai frecvent este cazul cu o infinitate de soluţii.

criteriu economic, ca de exemplu venitul sau profitul să f

prea este în concordanţă cu realitatea), atunci venitul total va fi: ∑n

=

oducţie , şi deci profitul obţinut va fi:

jj

n

j

n

jjjj xxdxc∑ ∑

== =

−11 1

)

Problema care se pune acum etermina acea variantă de planacea soluţie a sistem are dă pentru profitul (4.3)

in acea problemă economică s-a obţinut

≥ 0jx

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

4.1.2. Problema de transport

Se consideră că e (depozite) şi n ce a

fi transportată de la depozitul i la

(4.5) cantitatea transportată de la toate cele m depozite la centrul de consum j

jjj xc

1, iar

cheltuielile de pr ∑=

n

jjj xd

1

j

n

jj dc∑ −= ( (4.3)

este de a d , adică ului de inegalităţi (4.1), (4.2) c

valoarea maximă. În acest moment, drea problemă matematică: următoa

⎪⎪⎪

⎪⎪⎪

⎨ ≤∑=

=

1

1

i

n

jjij

jjjj

bxa (4.4)

⎧−∑ )(max

n

xdc

există m centre de aprovizionar

lucru, uzine, magazine etc.). Se puntre de ermine consum (puncte de ne problem să se det

un plan de transport pentru un produs omogen care se află în cantitatea ai la depozitul i (1 ≤ i ≤ m) şi este cerut în cantitatea bj la centrul j (1 ≤ j ≤ n). Se notează cu xij cantitatea necunoscută ce a vcentrul 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ă). Se pot exprima atunci următoarele mărimi: – cantitatea cerută de la depozitul i la toate cele n centre de consum

ai = xi1 + xi2 + ... + xin = cantitatea aflată la depozitul i, –

Page 54: mao

4. Programare liniară 53

bj = x + x + ...+ x = necesarul la centrul de consum j, (4.6) – costul transp xij.

O condiţie evidentă este xij ≥ 0, 1 ≤ i ≤ m, 1 ≤ j ≤ n . (4.7)

Pentru a putea efectua transportul este necesar ca

jj

m

ii ba

11,

ită şi condiţia de balansare sau de echilibru. Sistemul de ecuaţii (4.5), (4.6) are o infinitate de soluţii. Dintre acestea trebuie

inimă. Se obţine asrogram liniar:

1j 2j mj ortului de la depozitul i la centrul de consum j este cij

Costul total al transportului de la toate cele m depozite la toate cele n centre de consum este

∑∑= =

m

i

n

j1 1. ijij xc

∑∑==

=n

egalitate num alese cele care dau costului total de transport valoarea m tfel un p

∑∑= =

, 1 ≤ i ≤ m (4.9)

=1(4.10)

m şi se cere determinarea 1 ≤ i ≤ m, 1 ≤ j ≤ n, care să minimizeze cheltuielile

m

i

n

jijij xc

1 1min (4.8)

i

n

jij ax =∑

=1

j

m

bx =∑ , 1 ≤ j ≤ n i

ij

xij ≥ 0, 1 ≤ i ≤ m, 1 ≤ j ≤ n, (4.11) care se numeşte program de transport. Programe liniare de acelaşi tip pot să apară şi în următoarea situaţie. Trebuie aprovizionat un grup de uzine dirijate de un centru comun, având la dispoziţie m centre de aprovizionare, n puncte de consuunui plan de transport (xij), totale de transport:

∑∑m n

ijij xcmin= =

, (4.12)

î

=1 ≤ m (4.13)

, 1 ≤ j ≤ n

xij ≥ 0, 1 ≤ i ≤ m , 1 ≤ j ≤ n, (4.15)

i j1 1

n condiţiile

i

n

ax ≤∑ , 1 ≤ ij

ij

j

m

iij bx ≥∑

=1(4.14)

Page 55: mao

Modele şi algoritmi de optimizare

54

unde ai , 1 ≤ i ≤ m, sunt c zitare, bj , 1 ≤ j ≤ n, sunt antităţile necesare uzinelor, iar cij este costul unitar de transport de la depozitul i uzina j. Pentru a avea soluţii trebuie ca

, ≤ j ≤ n, capacităţile de depozitare ale punctelor de desfacere, se obţine un model

e de inecuaţii (4.13), (4.14) îşi schimbă sensul.

optimă a fondurilor financiare

Având la dispoziţie o sumă totală S care poate fi investită în diverse activităţi j, 1 ≤ j ≤ n, fiecare producând un anumit profit unitar aj , 1 ≤ j ≤ n, se pune problema determinării sumei xj , 1 ≤ j ≤ n, investită pentru activitatea j, astfel încât să se obţină un profit maxim, adică:

apacităţile centrelor de depocla

∑∑==

≥n

jj

m

ii ba

11.

Problema se poate pune şi invers, considerând problema unui plan de transport de la mai multe uzine i la punctele de desfacere j. Dacă ai , 1 ≤ i ≤ m, reprezintă acum capacităţile de producţie ale uzinelor, bj

1similar în care grupuril

4.1.3. Alocarea

∑n

=jj xamax (4.16)

j 1

în condiţiile: n

Sxj

j =∑=

xj ≥ 0, 1 ≤ j ≤ n . (4.18)

plicată dând anumite reguli suplimentare în legătură cu posibilitatea de investiţie, cu e investiţiilor şi neliniaritatea profitului total.

4.1.4. Gestionarea optimă a unui depozit

tr

1 (4.17)

Problema mai poate fi com

exist nţa unui risc al

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. Depozitul are o anumită capacitate fixă S şi un cost unitar de stocare h . Preţul produsului fluctuează de-a lungul perioadei de analiză, ar pe durata unei unităţi de timp preţul de achiziţie şi preţul de vânzare sunt acelea i. Depozitul este iniţial gol şi ebuie să rămână gol la sfârşitul perioadei de analiză. Modelarea problemei. Fie

Page 56: mao

4. Programare liniară 55 − xi stocul din depozit la începutul perioadei i, − di cantitatea achiziţionată în perioada i, − bi cantitatea vândută în perioada i şi − pi preţul pe perioada i. Dacă sunt n intervale de timp avem:

( )∑=

−n

iiii hxbp

1max

⎪⎪

⎪⎪

≥=≤+

=−+−=−+=+

0,,,0

01,1,

1

1

iii

ii

nnn

iiii

bdxxSdxbdx

nibdxx

(4.19)

Se obţine astfel o problemă de programare liniară.

aliment ă conţină zilnic unităţi. Se pre entul j. Să se d r atisface minimul nutriţional cerut. Modelarea problemei entul i conţinut în dietă. Trebuie minimizat c

diente nutriţionale

4.1.5. Problema dietei

Se presupune că există n alimente diferite, cu preţul unitar ci pentru ul i, din care trebuie să se pregăteacă o dietă. Dieta trebuie s

şi din fiecare ingredient j,m ingrediente nutritive minimum bj

sup ne că o unitate din alimentul i conţete mine cea mai economică dietă care s

u ine aji unităţi din ingredi

Se notează cu x numărul de unităţi din ali imostul total al dietei

min c1x1+ c2x2+...+ cnxn supus la rest ingrericţiile următoare date de conţinutul în

⎪⎪⎪

⎪⎪⎨

nn 22222121

MM

⎪⎧

≥+++

≥+++≥+

x

bxaxaxa

bxaxaxabxa

mnmnmm ...

...

2211

1111

Problema care a rezultat este tot o problemă de programare liniară. Acelaşi tip e p

=≥ nii ,1,0

++ xaxa nn... 1212

d roblemă poate apărea în realizarea amestecurilor de tip mortar, beton etc.

Page 57: mao

Modele şi algoritmi de optimizare

56

4.2. Diferite forme ale problemelor de programare liniară Scrisă matriceal, cea mai generală problemă de programare liniară are forma (Zidăroiu, 1983)

= 23

111

bxbxA

(4.20)

se impun condiţii de

variabilelor asupra cărora se impun condiţii de nepozitivitate,

min [ 33

22

11 xcxcxc ′+′+′ ]

⎪⎨ ++ 23

222

121 AxAxA

≥++ 313

212

1 xAxA

⎩ 3333231 bxxAx

≤++ 321 xAA1 ≥ 0, x2 oarecare, x3 ≤ 0

unde x1 este vectorul variabilelor asupra căroranenegativitate, x2 − vectorul variabilelor asupra cărora nu se impun condiţii de semn, x3 − vectorul Aij − submatrice a matricei A , ale cărei elemente sunt coeficienţii componentelorvectorului xj , iar bi sunt subvectori ai vectorului b ( )3,1 ≤≤ ji . Prin x≥ 0 se va înţelege că fiecare componentă a vectorului x este nenegativă.

ă tricţiile sunt ecuaţii ativitate

Se spune că o problem are forma standard dacă toate resşi tuturor variabilelor li se impun condiţii de neneg

∑=

=′

⎪⎨

≥=

⎧ ′min(max) xc

xbAx

0 n

iii xc

1xc

(4.21)

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

⎪⎩ ≥

′⎪⎨

0xbAxxcmin

(4.22)

⎪⎩

⎨≥

′xcmax⎪⎧

≤0x

(4.22’)

bAx

invers se bazează pe urmă

Observaţia 4.1. Orice problemă de forma (4.20) poate fi adusă la forma standard (4.21) sau forma canonică (4.22) folosind următoarele transformări:

i) transformarea maximului în minim şi toarea egalitate:

)(min)(max xx ffXxXx

−−=∈∈

ii) transformarea sensului unei inegalităţi se realizează prin înmulţirea cu −1

Page 58: mao

4. Programare liniară 57

bilă nenegativă −x v) transformarea ecu

⇔=xa b

lgoritmului (Zidăroiu, 1983). M (R) o

at

stemul Ax = b devine: ⎤⎡ B

ie s meşte soluţie de bază (deoarece B fiind nesinguoloanele sale constituie o bază în R m).

Variabilele p Se numeşte are exact m omponente nenule.

Se numeşte soluţie degenerată o soluţie de bază care are şi componente nule.

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 , x1 ≥ 0 , x2 ≥ 0 iv) o variabilă x ≤ 0 se înlocuieşte cu o varia

aţiilor în inecuaţii

⎩ ≥′ bxa⎨⎧ ≤′

′bxa

vi) transformarea inecuaţiilor în ecuaţii a'x ≤ b se poate scrie ca o ecuaţie

a'x+y=b, introducând o variabilă y ≥ 0 numită variabilă ecart;

a'x ≥ b se poate scrie ca o ecuaţie a' x− y=b, y ≥ 0.

Variabilele ecart nu apar în funcţia obiectiv (sau apar cu coeficienţi nuli).

4.3. Algoritmul simplex Acest algoritm (datorat lui G. B. Dantzig, 1951) se aplică problemelor de programare liniară sub forma standard. Sunt necesare câteva noţiuni de bază pentru prezentarea a Fie sistemul de ecuaţii Ax = b, A∈Mm,n(R), rang A = m. Fie B∈ m,n

m rice pătratică nesingulară extrasă din A şi notăm xB vectorul variabilelor corespunzătoare coloanelor lui B. Notăm cu S partea din matricea A care mai rămâne şi cu xS variabilele corespunzătoare. Si

[ ] bx

BS =⎥⎦

⎢⎣

⋅S

sau Bxx B + SxS = b. (4.23)

Astfel, în (4.23) luăm xB variabile principale şi celelalte xS , variabile secundare şi avem

xB = B−1b−B−1S xS . (4.24) Anulând variabilele secundare avem

xB = B−1b , xS=0. (4.25) O astfel de soluţ e nu lară,

c rincipale se numesc variabile de bază.

soluţie nedegenerată o soluţie de bază care c Se numeşte soluţie admisibilă sau program o soluţie a sistemului de ecuaţii şi inecuaţii (4.1) ce verifică şi condiţia de nenegativitate (4.2). Notăm R = x∈ R n x program, z* = minc'xx∈ Rn .

Page 59: mao

Modele şi algoritmi de optimizare

58

Convenim să punem z* = +∞ dacă R = φ. Dacă z* = −−∞, spunem că problema are optim infinit. Dacă z* este finit, atunci x*∈ R cu proprietatea că z* = c' x* se numeşte

lur optime.

cel p ă. (ii) Dacă problema de programare liniar b forma standard (4.21) are un

program optim, atunci are şi un program de bază optim. Demonstraţie.

ele matricei A cu a1, a2, …, an şi se presupune că x’=(x1, x2, …, xn)’ este o soluţie admisibilă şi atunci are loc relaţia

x1a1+x2a2+ . supune că exact p≤ m dintre variabilele xi sunt diferite de zero şi că acestea hiar primele. Atunci

x1a1+x2a2+…+xpap=b. oloanele a1, a2, …, ap pot fi liniar independente sau liniar dependente.

Cazul I. Presupunem că a1, a2, …, a sunt liniar independente. Dacăaţia se încheie. Dacă p<m , atunci, deoarece

ane din cele n−p rămase, astfel încât cele nte. Atribuim valoarea zero variabilelor

te şi obţinem o soluţie de bază degenerată. 1, ă o

y a +y a +…+y a =0 (4.27)

şi avem (x1−εy1)a1+(x2−εy2)a2+…+(xp−εyp)ap=b (4.28)

Notând cu y’=(y1, y2,…,yp, 0, 0,…,0) observăm că pentru orice ε x−εy (4.29)

o soluţie a sistemului de ecuaţii Ax=b. Pentru ε=0 aceasta se reduce la soluţia iniţială admisibilă. Deoarece am presupus că măcar o componentă y

ă, atunci cel puţin o componentă va deveni zero o dată cu creşterea lui ε. Alegem

so ţie optimă sau program optim. Notăm cu R * mulţimea soluţiilo 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). Teorema fundamentală a programării liniare stă la baza algoritmului simplex (Luenberger, 1989). Teorema 4.1.

(i) Dacă problema de programare liniară sub forma standard (4.21) are un program, atunci are uţin un program de baz

ă su

(i) Se notează coloan

…+xnan=bSe presunt c

(4.26) C

p p=m atunci soluţia este de bază şi demonstrA are rangul m, se pot găsi m−p colo

em coloane să fie liniar independorespunzătoare celor m−p componenc

Cazul II. Presupunem că a a2, …, ap sunt liniar dependente. Atunci existcombinaţie liniară a acestor vectori egală cu zero

1 1 2 2 p pîn care cel puţin o constantă yi este pozitivă. Scădem din relaţia (4.26) relaţia (4.27) înmulţită cu ε

este i este

pozitiv

⎭⎬⎫

⎩⎨⎧

>= 0min ii

i yyx

ε .

Pentru orice valoare ε soluţia dată de (4.29) este admisibilă şi are cep−1 componente pozitive. Repetând acest proces dacă este necesar, putem elimina

l mult

Page 60: mao

4. Programare liniară 59 componentele p

or care sunt liniar independente. Am ajuns în cazul I şi se poate aplica

oluţia dată de (4.29) este optimală. Pentru

− (4.30) Pentru ε suficient de mic, x−εy este o luţie admisibilă pentru valori

ε. Astfel putem concluziona că c’y=0. Dacă c’y≠0 e m ic şi semnul acestuia, astfel încât (4.30) să conducă la o

aloare mai mică pentru funcţia obiectiv. Contradicţie cu faptul că x este soluţie

4.4. Fundamentele algoritmului simplex

Din Teorema 4.1 rezultă că putem determina soluţia problemei de programare

culăm soluţia de bază corespunzătoare ,

mică sau cea mai mare).

Dezavantajul ce apare constă în volumul mare de calcule, chiar şi atunci când e

r de bază, mai precis de trecere de la un program de bază la altul care dă funcţiei obiectiv o valoare mai mare sau mai mică, după cum problema e

zniară nu are programe sau are optim

Astfel, dacă B este o bază (să presupunem că B b ≥ 0), sistemul Ax=b se poate scrie (Zidăroiu, 1983)

sau

ozitive până când avem o soluţie admisibilă corespunzătoare coloanelacesta în continuare. (ii) Fie x’=(x1, x2, …, xn) o soluţie admisibilă optimală care are exact p

mco ponente pozitive x1, x2, …, xp . Din nou pot fi două cazuri: coloanele corespunzătoare componentelor nenule pot fi liniar independente sau liniar ependente. d

Cazul I. Coloanele sunt liniar independente. Este exact ca şi la (i). Cazul II. Coloanele sunt liniar dependente. Este ca şi în cazul II de la (i) numai că trebuie să arătăm că pentru orice ε saceastă soluţie, valoarea funcţiei obiectiv este

c’x εc’y so

pozitive sau negative ale luise poate d ter ina un ε mvoptimală şi astfel trebuie să presupunem că c’y=0. Având stabilit că noua soluţie admisibilă cu mai puţine componente pozitive este optimală, restul demonstraţiei este ca la (i).

liniară sub forma standard astfel: pentru toate bazele B din matricea A (acestea sunt, evident, în număr finit), cal bB 1−

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

problemele sunt de dim nsiuni mici. Algoritmul simplex dă o metodă de explorare sistematică şi economică a programelo

ste de maximizare sau minimizare. De asemenea, algoritmul furnizea ă criterii pentru cazurile în care problema de programare liinfinit.

−1

xB=B−1b−B−1SxS

Page 61: mao

Modele şi algoritmi de optimizare

60

∑∈

j (4.31) −=Sj

Bj

BB xyxx

sau pe componente

∑∈

nde

−=Sj

jBij

Bi

Bi xyxx , i∈ B, (4.31’)

ubBx 1−=B (4.32)

(4.33) r: aj este coloana j a matricei A , S=indicii variabilelor secundare,

B=indicii varia

bservaţie 4.2. Pentru j∈ B, , ej fiind vectorul unitate.

iectiv cu ajutorul variabilelor

B 1−

jj aBy = ia

bilelor de bază. O j

Bj j eaBy == −1

Folosind (4.31), putem exprima funcţia obsecundare xS astfel

∑ ∑∑∑ ∑ ∑∑∈ ∈∈∈ ∈=

⎜⎜⎝

−+==S Bj i

iijjj

jj xcxcxcz1 ∈

⎟⎟⎠

⎞⎜⎜⎝

⎛−⎟⎟

⎞jj

Bijiiijij

n

xcyc −=⎛ BBB xcxy

⎠ S BBS j iij

sau

( )= BBz ∑ −− jjj xcz , ∈

z (4.34) Sj

unde B

BBii

B xcz xc ⋅′== ∑ , i∈B

(4.35)

∈B

j −=

BjBiji

Bj ycz yc ⋅′== ∑ , (4.36)

)jj cz −i

(α sunt numiţi coeficienţi de cost redus sau coeficienţi de cost relativ.

Pentru simplificarea scrierii renunţăm la indicele superior B, înţelegându-se că

ele observaţii ce rezultă din

respunzător

este vorba de elementele corespunzătoare bazei. La baza algoritmului simplex stau următoarteoremele prezentate în continuare (Zidăroiu, 1983).

∀Teorema 4.2. Dacă zj−cj ≤ 0, ( ) j∈ S, atunci programul de bază cobazei B, (xB=B−1b, xS =0) este optim.

Page 62: mao

4. Programare liniară 61

Demonstraţie. P ste Bzentru acest program valoarea funcţiei obiectiv e . Pentru rice alt program x , deoarece x ≥0 rezultă că o j

( ) 0≤−∑∈

jj

iBj xcz

S

şi atunci Bzz > . Teorema 4.3. Dacă (∃)k∈ S cu zk−ck > 0, atunci programul asociat bazei B nu

tăţit dacă xk ia valori pozitive. este optim (cu excepţia cazului în care programul este degenerat) şi poate fi îmbunăDemonstraţie. Dacă există S∈k cu proprietatea că zk−ck>0, atunci programul asociat bazei B nu este optim

( ) 0>−∑ jiBj xcz , iar

∈j S

Bzz <

(cu excepţia cazului în care programul este degenerat) şi poate fi îmbunătăţit dacă xk>0.

eorema 4.4. Dacă (∃)k∈ S , cu zk−ck > 0, şi dacă yik ≤ 0, pentru (∀) i∈B,

traţie. Dacă yik ≤ 0 (∀) i∈B atunci

Tatunci problema are optim infinit.

kikBi

Bi xyxx −=Demons , ( xj=0 pentru

S n gj∈ – k), iar creşterea lui xk u face ne ativă nici o componentă de bază. Atunci

−∞⎯⎯ →⎯−−= ∞→kxkkkB xczzz )(

Teorema 4.5. Dacă zk−ck > 0, dar (∃) yik > 0, atunci xk poate creşte până la aloarea: v

klikyi yyik >0

li xxmin = , (4.37)

pentru care se obţine un nou program de baz , asociat bazei B~ din B ă , dedusăprin înlocuirea coloanei al

cu coloana ak. Demonstraţie. Dacă yik > 0 (∀)i∈B, atunci pentru a păstra xi ≥ 0 , ştiind că

0≥−= kikii xyxx ,

atunci ( ) B∈∀≤ iyik

kx

x i , cu proprietatea că y > 0 . Atunci creşterea max

lui xk este dată de (4.37). Observaţia 4.3. Dacă există mai mulţi indici k pentru care zk−ck > 0, ar fi preferabil să se aleagă acela pentru care

ik imă a

( )kkkl

l czyx

Page 63: mao

Modele şi algoritmi de optimizare

62

are cea mai mare valoare, ceea ce general, o scădere mai rapidă a funcţ i obie tiv ş dă un număr ma ă o trecere de la un program de bază la altul). Practic, se ia drept criteriu de alegere a lui k , acel k pentru care

ck m. Acest criteriu se mai numeşte şi criteriu de intrare în bază. iteriu at (4.37 re t c r de e .

4.5. Enunţul algoritmului simplex e prob ma de program r lin ră ub orma tan ard ( .21) Pentru ă problemă algoritmul simplex are următorul enunţ. Pas 0. Se ter ă o ba în ic , u

asigură, înie c i i mic de iteraţii (o iteraţie reprezint

zk− =maxi

Cr

Fi

l d de ) prezin ă rite iul ieşir din bază

le a e ia s f s d 4 . aceast

de min ză B matr ea A se calc lează bBx 1−=B , B

BB xcz ′= , j

Bj aBy 1−= (aj − coloanele din A), cj, 1 ≤ j

Pas 1 a) toţi −cj ≤ 0, j∈B, programul este optim. Stop.

2) dacă (∃ cj > 0, se determină k astfel încât:

oţi yik ≤ 0, problema are optim infinit. 2) dacă (∃) yik > 0, se determină l astfel încât:

Bjz − ≤ n.

. Criteriu de intrare în baz1) dacă

ă Bjz

) Bjz −

zk−ck= maxzj−cj. b) Criteriu de ieşire din bază 1) dacă t

⎭⎬⎫

⎩⎨⎧

=>

i

yikl

l

yx

yx

ik 0min .

ik

Pas 2. Se înlocuieşte în baza B vectorul al cu vectorul ak , obţinându-se baza

B~ , şi se calculează Bj

BB z~~~

jBj cz −~

, , yx , 1 ≤ j ≤ n, , 1 ≤ j ≤ n, conform cu (4.31), (4.34), (4.33) apoi se trece la pasul 1, înlocuind baza B cu baza B~ .

Observaţia 4.4. Pentru o problemă de maximizare:

⎪⎨ =

⎩ ≥

0xtrebuie modificat criteriul de intrare în bază astfel: a'

Axxc

b

l încât zk−ck= minzj−cj.

max

1) dacă toţi zj−cj ≥ 0, programul este optim. a'2) dacă (∃)j pentru care zj−cj < 0, se determină k astfe

Page 64: mao

4. Programare liniară 63

4.6. Tabelul simplex şi transformarea sa Presupunem că pentru o bază B am calculat zxi , , zj−c yij şi le dispunem într-un tabel numit tabel simplex (Tabelul 4.1). Presupunem că baza B este formată din primele m coloane ale matricei A. Prima coloană (CVB) conţine coeficienţii din funcţia obiectiv ai variabilelor de bază. A doua coloană (VB) conţine variabilele de bază.

nd aloarea funcţiei obiectiv pent orespunzător bazei B, adică

j,

A treia coloană (VVB) con ine valorile variabilelor de bază, ultima linie fiiţru programul de bază cv

Bz . Coloanele următoare conţin v nd grijă ca pentru variabilele de

ază =ej), iar ultima linie conţine diferen ele zj−cj

ectorii Bjy (avâ

Bjy ţ = Bc ′ yi−cj. b

Observaţia 4.5. Pentru variabilele de bază, zj−cj= Bc′ ej−cj=cj−cj=0. Pentru calculul elementelor B

jz −cj şi Bz ale primului tablou este util să

trecem coeficienţii cj din funcţia obiectiv în partea de sus a coloanelor respective. Să presupunem că ak trebuie să intre în bază în locul lui al. Elementul ylk se numeşte pivot şi îl evidenţiem înce Pentru fiecare bază se alcătui u a simplex (Tabelul 4.1). Cum se calculează elementele noului tablou corespunzător noii baze ?

rcuindu-l. eşte câte n t bel

Elementele liniei k se împart la pivot

kl

jlBkj

kl

lBk y

yy

yx

x ==~~

; (4.38)

Elementele celorlalte linii se calculează cu regula dreptunghiului cu diagonala principală cea a pivotului.

( ) ( )liy

yyy jlikij

Bij ≠−= ~

(4.3y

liyx

yxxklkl

liki

Bi ≠−= ; ~

9)

Modificarea funcţiei obiectiv se face după formulele de mai jos.

( ) ( ) ( )kl

jlkkjjj

Bj

kl

lkk

BB

yy

czczczyx

czzz −−−=−−−=~~

; (4.40)

Page 65: mao

Modele şi algoritmi de optimizare

64

Tabelul 4.1

oeficie func i obie C nţii ţie ctiv

1 l m cm+1 k cn alegem min c c c c

CV VB 1 xm k xn

ik

i

yx

xl xm xxB VVB +1

c x1 1x 1 1 ... ... y1, ... k ... y1,n y1,0 0 m+1

M M M M M M M M M

lx cl xl 0 ... 1 ... 0 yl,m+1 ... yl,k ... yl,n

M M M M M M M M M

Coe

ficie

nţii

varia

bile

lor d

e ba

ză în

ia o

biec

tiv

c xm

fun

mx ym,0 ... 0 ... 1 ym ...m ,m+1 k ... ym,n

valoarea f ţiei obiectiv unc 0 0 0 m+1 +1

alegem max

zj−cj>0 z z −cm

În noul tabel în loc de l x în coloana VB. Deoarece xk este variabilă de bază, , a ă şi din (4 .40) În problemele practice m, numărul liniilor matricei A, este m ai mic decât n, numărul coloanelor, şi atunci efortul de calcul trebuie redus la coloanele

e tabloului rict necesare.

eprezentarea inversei B E

e relaţiile:

x este trecut k

0 , ~~

=−= kBkk

Bk czey şa cum rezult

.39) şi (4 .

ult m

care sunt necesare în găsirea soluţiei optime. În algoritmul simplex revizuit se fac calcule doar pentru elementelst O variantă a algoritmului simplex revizuit se bazează pe rmatricei de bază ca un prod (Luenberger, 1989), obţinute din matricea unitate, care au elementele coloanei p date d

us de matrice elementare

ll

≠= iy

vk

iki , şi

y

kyv

ll = ,

y

1

l k fiind pivotul. Înmulţirea lui E la dreapta cu orice coloană a tabelului simplex este echivalentă cu aplicarea regulii dreptunghiului. Dacă baza iniţială în algoritmul simplex este cea canonică (B=In), atunci la iteraţia a p-a, inversa matricei B este

, unde Ep este o matrice elementară de forma dată mai jos 1211 ... EEEEB −

− = pp

Page 66: mao

4. Programare liniară 65

⎜⎜⎜

=

+

100000000000

100

0000001

1

1

2

LLL

LLLLLL

LL

LL

LLL

LLLLLLL

LL

LL

v

vv

l

lE .

Astfel, yk − coloana a k-a din noua bază

⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜

0 1v

00

10

0L

01

m

v

v

l

B~ − va fi calculată direct cu formula yk=(Ep.Ep-1…E1ak)’ .

4.7. Exemplu S-a observat că în fiecare lună, maşinile M1, M2, M3 , ce lucrează într-o

şina P1 P2

se ie a unei întreprinderi, nu sunt folosite 8 ore, 24 de ore şi respectiv 18 ore (Văduva et al, I, 1974). Se ia hotărârea să se folosească şi acest timp, punându-le să lucreze la fabricarea a 2 produse suplimentare, P1 şi P2 , ca produse anexe ale secţiei, care aduc un profit la unitatea de produs fabricat de 4 şi respectiv 3 u. m. Timpul necesar de lucru la fiecare maşină este, pe fiecare produs, dat de Tabelul 4.2.

Tabelul 4.2 Ma

M1 2 1 M 3 2 2M 3 3 1

Să se determine planul de producţie al secţiei pentru produsele P1 şi P2 care să dea un profit maxim. Rezolvare a) Modelarea problemei. Fie x1, x2 cantităţile din produsele P1 şi P2 ce trebuie fabricate. Formularea matematică a problemei este

sau

⎪⎪⎪

⎪⎪⎪

≤+≥

≤+≤+

+=

820,

1832423

34maxmax

21

21

21

21

21

xxxx

xxxx

xxz

⎪⎪⎪

⎪⎪⎪

∈≥=++

=++=++

+=

5,1 ,0183

242382

34max

521

421

321

21

ixxxx

xxxxxx

xxz

i

după adăugarea variabilele de compensare

Page 67: mao

Modele şi algoritmi de optimizare

66

b) Tabelul simplex şi calculele aferen corespunzătoare primei iteraţii sunt pezentate în Tabelul 4.3.

elul 4.3 4 3 0 0 0 alegem min

te Calculele

Tab

ik

i

yx

CVB VB VVB x x x x51 2 x3 4

0 x 8 2 1 1 0 0 3 4=28

0 x4 24 3 2 0 1 0 8243

=

0 x 18 1 3 0 0 1 181

518

=

valoarea funcţiei

obiectiv z z0 –4 –3 0 0 0

alegem min

j−cj<0

4 x1 4 1 21

21 0 0 8

0 x4 12 0 21

21

− 1 0 24

0 x5 14 0 2 5

21

− 0 1 528

valoarea funcţiei

obiectiv z 16 0 –1 2 0 0

alegem min

zj−cj<0

La prima iteraţie a ieşit din bază x3 şi a intrat x1 , iar la iteraţia a doua a ieşit din bază x5 şi a intrat x2 . Iteraţia a doua este prezentată în Tabelul 4.4. c) Culegerea rezultatelor din tabelul simplex final Maximul funcţiei de optimizat este 21.6 şi se obţine pentru

x1=1.2 ; x2=5.6 ; x3=0 . Soluţia de bază este nedegenerată. Valorile variabilelor auxiliare

x3=0 ; x4=9.2 ; x5=0 , arată că soluţia optimă face egalităţi doar restricţiile 1 şi 3 , adică se foloseşte integral timpul la aceste maşini, iar cea de-a doua inegalitate arată că prin această soluţie nu se utilizează integral timpul celei de-a doua maşini.

Page 68: mao

4. Programare liniară 67

Tabelul 4.4

4 3 0 0 0 alegem min

ik

i

yx CVB VB VVB x1 x2 x3 x4 x5

4 x156

1 0 53 0

51

− 8

0 x4 546 0 0

52

− 1 51

− 24

3 x2 528 0 1

51

− 0 52

528

valoarea funcţiei

obiectiv z 21.6 0 0

59 0

5 z

2 alegem min

j−cj < 0

VomScientist. Ladupă apăsarpentru rezol Sele mNew. În rtipul pro

rezolva această problemă utilizând pachetul de programe Management lansarea programului se afişează pe ecran fereastra de prezentare apoi

ea butonului Continue apare fereastra care permite selectarea modulului varea problemelor de programare liniară ca în Figura 2.4.

ctă acest modul şi în fereastra care apare din submeniul File alegem fe eastra Problem Features precizăm numărul de variabile, de restricţii şi blemei, ca în Figura 4.1.

Figura 4.1

Dup apăsarea butonului OK, apare fereastra în care se introduc coeficienţii funcţiei obiectiv şi restricţiile problemei, ca în Figura 4.2.

ă

Page 69: mao

Modele şi algoritmi de optimizare

68

Figura 4.2

Dup efereastra cu

Objecti Variable Value Reduced Costs -------------- --------------- ------------------ X1 1.200 0.000 X2 5.600 0.000 Constraint Slack/Surplus Dual Prices -------------- --------------- ------------------ 1 0.000 1.800 2 9.200 0.000 3 0.000 0.400 O IVE COE T RANG Variable Lower Limit Current Value Upper Limit

X2 No Lower Limit 3.000 No Upper Limit RIGHT HAND SIDE RANGES

ra Limit Current ue Upp Limit

1 r Lim 000 No U er Limi 2 No Lower Limit 24.000 No Upper Limit 3 No Lower Limit 18.000 No Upper Limit

ă c s−au introdus datele, pentru rezolvare se apasă butonul Solve şi apare rezultate ca în Tabelul 4.5.

Tabelul 4.5 ve Function Value = 21.600

BJECT FFICIEN ES

------------ --------------- --------------- --------------- X1 No Lower Limit 4.000 No Upper Limit

Const int Lower Val er ------------ --------------- --------------- --------------- No Lowe it 8. pp t

ele inute şi în urma a ul x. ţia a tre e fice coeficientul variabilei respective în funcţia u bila ă fie pozitiv ă o variabilă este deja pozi nc te ze

Rezultat sunt cele obţ plicării algoritm ui simple

Informa din coloana Reduced Costs rată cu cât ar bui să s modi obiectiv pentr ca varia s

ă în soluţia optimă (Anderson et al, 1998). Astfel, dactivă, atu i costul redus es ro.

Page 70: mao

4. Programare liniară 69 Informaţiile despre restricţii (Constraint) din Tabelul 4.5 se re− Sla lu ană d lorile ili restricţiile sunt verificate cu inegalităţi stricte, atunci variabilele auxiliare sunt nenule, altfel vor fi nule. − Dual prices – conţin ale ale resurselor. În Management Scientis ea valorii optime a funcţiei obiectiv cores termenului liber al restricţiei » . Pentru restric ţuri vor fi nenule. Pentru restricţiile cu inegalităţi str i sunt nule, din cauza nefolosirii integrale a resurselor disponibile. Secţiunea tive C ent es co or îobiectiv) d în care pot varia coeficienţii funcţiei obiectiv astfel încât s rămâ ptimă. Ultima ht Hand Side Ranges (intervalele termenilor liberi) conţine i le în c ar trebu se m ină termenii liberi pentru ca preţul dual asociat restricţiei să rămână nemodif Observaţia 4.6. ăţii prezentatsi terme vari un moment dat, ceilalţi la i Aceea oate ezolv i utilizând Solver-ul din Excel. Mai întâi se creează foaia electronică de calcul cu datele de intrare, ca în Figura 4.3. Celulele D13−D14 sunt consid scutele x1 – x2 , celulele H7−H9 conţin restricţiile problem 8*D13+C8*D14, H9= B9*D13+C9*D14, iar celula izat.

feră la: are. Dacăck/Surp s – această colo ă va variabilelor aux

e informaţii despre valorile margint un preţ dual înseamnă « îmbunătăţir

punzătoare creşterii cu o unitate aţiile verificate cu egalitate aceste pre

icte aceste preţur

Objec oeffici Rang (intervalele eficienţil n funcţia ă intervalul

nă ooluţia să secţiune Rig

are ntervale i să enţicat.

Analiza sensibilitn liber

ă mai sus se bazează pe faptul crămânând

ă un valorilengur ază la

niţiale.

şi problemă p fi r ată ş

erate necunoei H7= B7*D13+C7*D14, H8= B

D3 = B10*D13+C10*D14, funcţia de optim

Figura 4.3

Page 71: mao

Modele şi algoritmi de optimizare

70

Pentru rezolvarea acestei probleme folosind Solver-ul trebuie urmăriţi paşii: 1. Se selectează celula conţinând formula cu funcţia de optimizat (D3). 2. Se selectează din meniul bară principal Tools (Instrumente) şi, de aici,

Solver (Rezolvitor). Apare caseta de dialog Solver Parameters (Parametrii Rezolvitor), care are în caseta de text Set Target Cell (Setare Celulă ţintă) celula de optimizat (D3). Se selectează tipul de optim max sau min; pentru acest caz, max.

3. În caseta de text By Changing Cells (Prin modificarea celulelor) se selectează celulele care reprezintă variabilele problemei (D13−D14).

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, astfel (Figura 4.4):

Figura 4.4

5. Se apăsă butonul Add (Adăugare) şi apare caseta de dialog Add

Constraint (Adăugare restricţie), Figura 4.5. Se selectează celule − ≥ , iar în caseta

l OK.

D13 D14 în Cell Reference, apoi se alege simbolul Constraint (Restricţii) celulele F7−F8. Se apasă butonu

Figura 4.5

6. Adăugarea celorlalte restricţii se face apăsând butonul Add, iar în

înscris formulele cu

termenii liberi (D7−D9). Când s-au introdus

7. Se apasă butonul Solve (Rezolvare) şi apare caseta de dialog Solver

caseta Add Constraint se trec celulele în care s-aurestricţiile (H7−H9). Se alege semnul ≤ şi se selectează în caseta Constraint celulele cu toate restricţiile se selectează butonul OK.

Results (Rezultate rezolvitor), iar în Reports (Rapoarte) se pot alege

Page 72: mao

4. Programare liniară 71

Value

formele de prezentare a rezultatelor. Se apasă butonul OK după precizarea tipurilor de rapoarte. Se creează Answer Report (Raport răspuns), Sensitivity Report (Raport sensibilitate), Limits Report (Raport limite) ca în Tabelele 4.6, 4.7 şi respectiv 4.8.

Tabelul 4.6

Microsoft Excel 10.0 Answer Report Worksheet: [Programare liniara.xls]Sheet1

Report Created: 7/23/2002 7:38:01 AM Target Cell (Max)

Cell NameOriginal

Final Value

$D$3 Functia de optimizat 0 21.6

AdjusTable Cells

Cell Name Original Value Final Value

$B$13 x1 Produsul P1 0 1.2 $B$14 x2 Produsul P1 0 5.6

Constraints

Cell Name Cell Value Formula Status Slack $G$13 2x1+x2<=8 8 $G$13<=$D$7 Binding 0

$G$14 3x1+2x2<=24 14.8 $G$14<=$D$8 Not

Binding 9.2 $G$15 x1+3x2<=18 18 $G$15<=$D$9 Binding 0

$B$13 x1 Produsul P1 1.2 $B$13>=$E$13 Not

Binding 1.2

$B$1 5.6 4 x2 Produsul P1 5.6 $B$14>=$E$14 Not

Binding

Tabelul 4.7

r

Objective Allowable Allowable

Microsoft Excel 10.0 Sensitivity Report Worksheet: [Programare liniara.xls]Sheet1

Report C eated: 7/23/2002 7:38:02 AM AdjusTable Cells

Final Reduced Cell Name Value Cost Coefficient Increase Decrease

$B$13 x1 Produsul

P1 4 2 3 1.2 0

$B$14 x2 Produsul

P1 5.6 0 3 9 1

Page 73: mao

Modele şi algoritmi de optimizare

72

Constraints Final hadow Constraint Allowable Allowable S

Cell Name Price R.H. Side Increase Decrease $G$13 2x1+x2<=8 8 1.8 8 2

Value 6.57142857

$G$14 3x1+2x2 0 24 1E+30 9.2 <=24 14.8$G$15 x1+3x2<=18 18 0.4 18 6 14

Tabeleul 4.8

Microsoft Excel 10.0 Limits Report

Target

Worksheet: [Programare liniara.xls]Limits Report 1 Report Created: 7/23/2002 7:38:02 AM

C

ell Name Value

$D$3 Functia de optimizat 21.6 AdjusTable Lower Target Upper Target

Cell Name Value Limit Result Limit Result $B$13 x1 Produsul P1

1.2 0 16.8 1.2 21.6

$B$14 x2 Produsul P1 5.6 0 4.8 5.6 21.6 Se obţin aceleaşi rezultate pentru funcţianecunoscutelor ca şi cu Management Scientist.

4.8. Convergenţa algoritmului simplex Dacă în cursul aplicării algoritmului simplex vafiecare iteraţie, atunci nici o bază nu se poate repetaprogram de bază, deci o valoare bine determinatănumărul bazelor este finit (cel mult , rezunumăr finit de iteraţii se ajunge la una din situaalgoritmului simplex. Dacă valoarea funcţiei obiectiv nu se modsuccesive, este posibil să revenim la una din bazatunci procesul devine infinit fără a conduce la soluciclare.

obiectiv şi pentru valorile

. Degenerare şi ciclare

loarea funcţiei obiectiv scade la (fiecărei baze îi corespunde un a funcţiei obiectiv). Deoarece ltă (Zidăroiu, 1983) că într-un ţiile a.1) sau b.1) din enunţul

ifică în cursul câtorva iteraţii ele prin care am trecut deja, şi ţie. Această situaţie se numeşte

mnC )

Variaţia funcţiei obiectiv la o iteraţie este ( )kkkl

l czyx

− şi această expresie

este nulă dacă şi numai dacă lx =0, adică dacă programul este degenerat.

Page 74: mao

4. Programare liniară 73

Pentru o problemă degenerată, adică având cel puţin un program degenerat, este posibilă, în principiu, ciclarea.

se construiesc cu destulă dificultate (e e Beale în Hadley G. 1962 Linear Progr Ad Degenerarea apare, ui în care are co e nule, atunci când criteriul de goritmului simplex, mai precis mnu defin od unic variabila care iese din ba resupunem c minim se ating ntru doi indi adică

Pentru o problemă nedegenerată, convergenţa algoritmului simplex, mai precis faptul că el conduce la o soluţie într-un număr finit de iteraţii, este asigurată.

Observaţia 4.7. Degenerarea nu implică în mod necesar ciclarea: cu toate că foarte multe probleme practice sunt degenerate, exemplele de ciclare

xemplul dat d Massamming, dison−Wesley, Reading,

ul

.).

vec l bîn afara caz toru m tponenieşire al al inimul (4.37),

eşte în m ză. P ă aceste pe ci, l şi h,

hkkl yy,

şi presupunem că alegem variabila x

hl xx=

l să părăsească baza. Atunci

0~

== hkB yxx , − lh y

xkl

şi deci noul program de bază va fi degenerat. Dacă programul iniţial nu va fi degenerat, degenerarea poate apărea numai în acest caz.

h

a) se selectează coloana

Pentru demonstrarea valabilităţii generale a algoritmului simplex este totuşi necesară o regulă care să facă posibilă înlăturarea ciclării. Regula lui Bland de înlăturare a ciclării (Luenberger, 1989):

0min >−= qq czqq , adică, cel mai mic indice

db) p ic.

Vom demonstra prin reducere la absurd că regula lui Bland înlătură ciclarea.

e coloană favorabilă pentru a intra în noua bază, entru ieşirea din bază se ia coloana candidată cu indicele cel mai m

Presupunem că, deşi aplicăm regula, apare ciclarea. În timpul ciclului un număr finit de coloane intră şi ies din bază. 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, obţinând o nouă problemă de programare liniară redusă care, de asemenea ciclează. Presupunem că această nouă problemă are m linii şi n coloane şi că suntem în situaţia ca să înlocuim coloana n cu coloana p. Fără a restrânge generalitatea, presupunem că baza curentă este situată pe ultimele m coloane. Putem considera problema de programare liniară redusă ca având matricea coeficienţilor restricţiilor A , iar vectorul coeficienţilor funcţiei obiectiv c. Notăm pivotul cu amp >0. Din partea b) a regulii lui Bland, an

poate părăsi baza numai dacă nu există egalitatea în testul raportului din criteriul de ieşire

Page 75: mao

Modele şi algoritmi de optimizare

74

din bază şi atunci b=0, deoarece toate coloanele sunt în ciclu, iar aip≤0 , ( ) ni ≠∀ . Să considerăm cazul când an

este în situaţia de a intra în bază. Partea a) a regulii lui Bland ne asigură că 0>−= nnn czr şi 0≤−= iii czr pentru ( ) ni ≠∀ . Aplicăm formula

( ) iB

i cr −⎟⎞

⎜⎛

⎠⎝′

= − SBc 1 i

ultimelor m coloane ca să arătăm că fiecare componentă ( ) 0≤′

= −1Bc Bλ cu excepţia lui 0> 0>>−′= ppp ccr paλ. Atunci mλ . Contradicţie cu faptul că

C

ţii posibili,

ă a algoritmului simplex

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

ce şi geometric. Pentru exemplificare considerăm următoarea problemă (Mihăilă,

Consum specific Disponibil

0≤pr . Îndepărtarea situaţiei de ciclare se poate face şi cu metoda perturbării a lui A.

harnes, sau cu cea lexicografică a lui Dantzig şi Wolfe . Observaţia 4.8. O regulă practică de evitare a ciclării este următoarea: se divid

niile corespunzătoare variabilelor nule din Tabelul simplex prin pivolimergând de la stânga spre dreapta; în momentul când unul dintre rapoarte este mai mic decât celelalte, precizăm variabila care iese din bază ca fiind cea care corespunde raportului minim (Zidăroiu, 1983).

4.9. Interpretarea geometric

faPopescu, 1978). Realizarea a două produse P1 şi P2 se face folosind patru materii prime M1, M2, M3, M4 . Disponibilul de materii prime, consumul specific şi profitul unitar pentru fiecare tip de produs sunt date de tabelul 4.9.

Tabelul 4.9 Produsul

Materia primă P1 P2

M1 2 2 12 M2 1 2 8 M3 4 0 16 M4 0 4 12

Profit unitar 2 3 Să se determine cantităţile x şi y care trebuie realizate din produsele P1 , respectiv, P2 , pentru ca profitul total să fie maxim.

Page 76: mao

4. Programare liniară 75 Rezolvare Funcţia de optimizat (obiectiv) este f(x,y = 2x + 3y . Restricţiile probaşa cum rezultă din Tabelul 4.8, sunt:

122y

şi r

x+

) lemei,

⎪⎩ ≥≥ 0 , 0 yxSe cere să se determine necunoscutele x , y , astfel în

⎪⎪

⎪⎪⎨

≤+≤+≤+

1240160482

yxyxyx

⎪⎧2x ≤+

0 0 cât să se verifice restricţiile, iar f(x0 , y0) să ia valoarea maximă. Considerăm restricţiile cu egalităţi

eprezentăm grafic dreptele ale căror ecuaţii rezultă (Figura 4.6).

y=6 ⇒ y=6−x (d1) , x+2y=8 ⇒ y=4−2x (d2) , 4x=16 ⇒ x=4 (d3) , 4y=12 ⇒

y=3 (d4) , x≥0 , y≥0 .

Reprezentarea grafică a restricţiilor conduce la

i

e). Din acest motiv se numeşte

practică a

obiectiv sub forma

d 1 poligonul OABCD, ale căru

puncte constituie soluţii ale problemei de programare liniară (mulţimea R a punctelor admmisibil

poligonul soluţiilor. Rezultă că realizarea producţiei celor două produse din cele patru materii prime se poate face într-o infinitate de moduri. Să alegem dintre aceste soluţii pe cele care dau valoarea maxi pentru funcţia obiectiv. Punem funcţia

(d) xfy32

3−= ,

e reprezintă un fascicul de drepte, considerând f ca parametru ( (g) o dreaptă fascicul). Funcţia f va avea maximul o dată cu

cardin ordonata la origine a dreptei (d).

stfel, trebuie găsită acea dreaptă din fasciculul (d) care are ordonata la origine bservă că

iilor.

Acea mai mare şi care trece printr-un punct din poligonul soluţiilor. Se ocea dreaptă trebuie să treacă prin punctul B, un vârf al poligonului soluţa

O 0 2 4 6

2

4

A

B

C D

d 3

g

d4

f max

Figura 4.6

Page 77: mao

Modele şi algoritmi de optimizare

76

2 , 4 62

4 62

4 ==⇒−=−⇒−=⎭⎬⎫

⎩⎨⎧ −== yxxxxyxyB I

Valoarea funcţiei obiectiv este f(4, 2)=14 . În Tabelul 4.10 se prezintă starea sistemului de restricţii şi gradul de utilizare a resurselor pentru soluţia optimă.

Tabelul 4.10

Materia primă

Cantitatea folosită pentru programul optim

Cantitatea disponibilă

Gradul de folosinţă

M1 2⋅4+2⋅2=12 12 100% M2 1⋅4+2⋅2=8 8 100% M3 4⋅4+0⋅2=16 16 100% M4 0⋅4+4⋅2=8 12 66.67%

Problema are soluţie unică, deoarece dreapta (d) nu este paralelă cu nici o latură a poligonului soluţiilor. Dacă, de exemplu, se modifică profitul unitar pentru produsul P2 , devenind 4, atunci dreapta (d) devine

(d’) 24xfy −= ,

fiind paralelă cu dreapta co toare celei de-a doua restricţii (latura BC a poligonului soluţiilo acest caz, to punct segm ui BC sunt soluţii optime ale problemei date. Avem de-a face cu o problemă cu o infinitate de soluţii optime. 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, în locul poligonului soluţiilor obţinându-se poliedrul solu n > 3 nu mai pot fi reprezentate grafic hiperpoliedrele soluţiilor şi deci metoda devine impracticabilă.

4.10. Interpretarea economică a algoritmului simplex

tilizarea optimă a resurselor" şi presupunem că estricţiile sunt sub formă de egalităţi, Ax=b (Dragomirescu şi Maliţa, 1968).

că cele n activităţi de producţie se asociază câte m, în grupe de nzătoare programelor de bază. Deoarece programul optim

amului nedegenerat). şi în afara oricăror

considerente economice. Presupunem că activitatea k nu face parte din grupul activităţilor de bază corespunzătoare unei baze B (adică xk nu este variabilă de bază, xk=0, adică în această variantă sortimentul nu se produce). Dacă dorim să mărim nivelul acestei

respunzăr). În ate ele entul

ţiilor. Pentru

Revenim la problema "urObservăm activităţi de bază, corespueste un program de bază, rezultă concluzia interesantă că într-o organizare optimă a producţiei nu se vor desfăşura toate cele n activităţi posibile (deci, nu se vor produce toate cele n sortimente), ci cel mult m (cazul progrAceastă concluzie este dedusă din considerente pur matematice

Page 78: mao

4. Programare liniară 77

ă se vor modifica în conformitate cu (4.39); unele vor ebui reduse şi, cum nu pot fi reduse decât cel mult până la 0, rezultă că xk poate

oarea dată de (4.37), pentru care activitatea de bază l lul 0. Aceasta este interpretarea criteriului de ieşire.

Creşterea lui xk cu o unitate că variaţii de −yik ale celorlalte activităţi şi deci şi o variaţie a funcţiei obiectiv

Bikk z ,

dicc −z . Dacă z −c < 0 (pentru problema de maximizare a beneficiilor), atunci

n bază, adik, aduce o îmbunătăţire a funcţiei obiectiv, ceea ce revine la o sporire a profitului

a în bază al algoritmului simplex.

e într-o explorare sistematică a diverselor variante de m act ecare iteraţie se înlocuieşte o activitate l printr-o activitate k, obţinându-se o creştere a profitului total, până când, pentru toate activităţile care nu sunt în bază, avem zk−ck ≥ 0, şi deci nici o creştere a profitului nu mai este posibilă.

4.11. Metoda celor două faze

activităţi, adică să producem sortimentul k în cantitatea xk > 0, producţiile celorlalte sortimente de baztrcreşte cel mult până la valatinge nive

impli

( )∑ =−+=∆ ikik cyccz∈

a ă o creştere a lui xk cu o unitate aduce, în acelaşi timp, un profit suplimentar k k k k

∆ z>0 şi, deci, introducerea activităţii k î că producerea sortimentului

total. Regăsim astfel criteriul de intr re Aplicarea algoritmului simplex constă astf l

ivităţi de bază; la fi

Metoda celor două faze permite obţinerea unui program de bază de plecare în rezolvarea problemei de programare iniţială sub forma standard, adică (Zidăroiu, 1983) :

⎪⎩

⎪⎨

≥=

0xbAxxcmin

(4.41)

Se poate presupune că bi ≥ 0, 1≤ i ≤ m ; dacă nu, se înmulţeşte linia respectivă cu −1. Se adăugă la fiecare ecuaţie câte o variabilă artificială şi se obţine:

(4.42)

Problema (4.41) are programe dacă (4.42) are programe (x, xa), cu xa = 0. Dacă se obţine un astfel de program de bază cu xa = 0, atunci x corespunzător este un program de bază pentru (4.41).

aix

⎪⎩

⎪⎨

≥≥

=+

00

a

a

xx

bIxAx

Page 79: mao

Modele şi algoritmi de optimizare

78

În faza I pentru a obţine un program de bază al sistemului (4.41) se rezolvă problema de programare liniară

⎪⎪

⎪⎪

≤≤≥≤≤≥

=+=∑

mjxnix

W

aj

i

a

ai

1 ,01

minbIxAx

(4.43)

folo d algo it imp obişnuit. Se observă c a (4.43) dispunem de programul de bază iniţial x=0, xa = b ( ≥ 0 ), corespunzător bazei I din matricea acestui sistem [A,I]. Deoarece ≥ 0 x , ş i W ≥ 0. Sunt posibile 2 cazuri: (i) dacă min W > 0, atunci problema (4.41) nu are program de bază (dacă ar avea,

atunci (4.43) ar avea programe cu xa = 0 şi deci min W = 0) (ii) in W obţinut un program cu = 0, 1 ≤ i un

e b al problemei şproblemei (4.41) (după eliminarea liniilor redundante). Matricea acum transformată aşa cum a ieşit din faza I.

,0

x

sin r mul să pentru

lexproblem

aix ⇒ ∑ ≥ 0a

i i deci m n

dacă mprogram d

= 0, amază

aix i ≤ m, dec

(4.43), i se trece la faza a II-a pentru rezolvarea A este

⎪⎩

⎪⎨

≥=

0xbAx

min. Faza a II−a

Observaţia 4.9. I con din eliminarea din bază a variabilelor artificiale şi înlocuirea lor cu variabilele xj. Când toate variabilele au fost eliminate din bază, adică la sfârşitul fazei I, coloanele acestora sunt şterse din tabelul simplex şi se începe faza a II-a, pornind de la acest tabel simplex, în car oar ele nie cj cor pun oare fun iei obiectiv din faza a II−a. În cele prezentate până acum am presupus că rang A = m. Introducerea variabilelor artificiale face ca rangul matricei [A, I] să fie sigur m. Dacă A sau dacă problema este degenerată, atunci când se ajunge la mi = 0, este posibil să mai rămână în bază câteva variabile artificiale, desigur cu valoarea 0. Faza I se consider ncheiată atunci când toate variabilele

au fost eliminate, şi anume: (i) g A = m (dar problema este degenerată), variabilel ot fi

xj e in ba ot cu valoarea 0, fără vreo modificare în funcţia obiectiv.

(ii) dacă rangA < m, nu este posibilă eliminarea tuturor variabilelor (câteva rămân în bază cu valoarea 0). În acest caz, liniile corespunzătoare ale matricei

xc

Faza stă aix

e calculăm dmentele li i zj− es zăt cţ

rang < mn ∑ a

ixă î

aix

dacă ranîntotdeauna înlocuite cu variabilele să producă

e aix = 0 p

car tră în ză t

aix

Page 80: mao

4. Programare liniară 79

A sunt combinaţii ale celorlalte, adică restricţiile corespunzătoare a'i x = bi sunt consecinţe ale celorlalte şi s .

Această discuţie arat ă se impună rang A m. Dacă în problema (4.42) cu b ≥ 0 există xj care apare într-o singură ecuaţie şi cu coeficient pozitiv, adic atricea co cuaţia respectivă nu este necesară xj putând fi luată în baza iniţială. Desigur că dacă există k astfel de variabile, vom introduce doar n−k variabile artificiale, ceea ce scurtează faza I. Uneori este necesară cunoaşterea inversei bazei curente a problemei de programare. În acest caz, la sfârşitul fazei I nu mai înlăt el coloanele corespunzăto bil rtificiale. În care bel al fazei a II−a, în aceste coloane se g a B−1I = B−1, adică inversa bazei curente B. Exemplu. O balastieră are 3 linii d 1, S 3, pentru 2 tipuri de agregate A1, A2 şi trebuie să sorteze 300 tone din primul tip şi 372 tone din al doilea tip. Profitul încasat de pe urma sortării materialelor diferă de la o linie la alta precum diferă şi canti ile ce pot fi sortate conform cu Tabelul 4.11.

Tabelul 4.11 Agregat

inide sortare

A1 A Profit

e pot elimina

ă că nu este necesar s =

ă m introducerea unei variabile auxiliare, variabila

A nţine un vector unitate, atunci în e

urăm din tabare variaăseşte m tricea

elor a fie ta

e sortare S 2, S

tăţ

L e 2

S1 2 1 5 u. m.

S2 3 2 4 u. m.

S3 1 2 6 u. m.

Cantitatea ce trebuie sortată

300 tone

372 tone

Să se determine repartiţia optimă pe liniile de sortare a agregatului astfel încât profitul obţinut să fie maxim. Rezolvare a) Modelarea problemei Fie x1, x2 , x3 cantităţile sortate pe liniile S , S , S respectiv. Atunci funcţia de optimizat este f

1 2 3

= 5x1+4x2+6x3 .

Page 81: mao

Modele şi algoritmi de optimizare

80

Trebuie determinat maximul acestei funcţii cu restricţiile

Deoarece matricea ⎞⎜⎜⎛

=132

A a restricţiilor nu are o bază evidenţiată, se

M

⎪⎩

⎪⎨

≥=++=++

0 , ,3722230032

321

321

321

xxxxxxxxx

.

⎟⎟⎠⎝ 221

aplică metoda celor două faze. b) etoda celor două faze i) Faza I Se aplică algoritmul simplex problemei

min aa xx + 21

⎪⎧ =+++ 30032 1321

a

axxxx

⎪⎩ ≥ 0 , , , , 21321

aa xxxxxCalculele fazei I sunt trecu

⎨ =+++ 37222 2321 xxxx

din ⎜⎜=B are inversa în tabelul final

al fazei I sub variabilele artificiale,

te în Tabelul 4.12 .

La prima iteraţie a ieşit din bază ax şi a intrat x , iar la iteraţia a doua a ieşit 1 2

bază ax2 şi a intrat x3. Baza obţinută ⎞⎛ 13⎟⎟⎠⎝ 22

⎟⎟⎟⎟⎞

⎜⎛ −

11

⎠⎝ 42⎜⎜⎜

−31421-B .

ii) Faza a II-a Se aplică algoritmul simplex problem

max 5x +4x +6x

=

ei1 2 3

⎪⎪⎪

⎪⎪⎨−

1⎪⎧

=+

=+

0 , ,

1294

5743

21

31

21

xxx

xx

xx

Calculele fazei a II−a sunt trecute în Tabelul 4.13.

c) Algoritmul se opreşte cu optim finit, anume, profitul maxim este 1268, obţinut pentru x1=76 , x2=0 , x3=148 , care constituie o soluţie denedegenerată.

3

Culegerea şi interpretarea rezultatelor

bază

Page 82: mao

4. Programare liniară 81

Tabel

0 0 0 1 1 alegem min

ul 4.12

ikyix

CVB VB VVB x1 x2 x3ax1

ax2

1003

300= 300 2 1 1 0 1 ax1

1 x2 a 372 1 2 2 0 1 1862

372=

valoarea funcţiei

obiecti672 3 5 3 0 0

alegem ma

zj−cj>0

x

v z

0 x2 100 32 1

31

31 0

300

31

100=

31

− 0 34

32

− 1 129

34

172=

172 1 ax2

valoarea func

obiectţiei iv z

172 31

− 0 34

35

− 0 alegem max

zj−cj>0

0 x2 57 43 1 0

21

41

− 8

0 x3 129 14

− 0 1 12

−34

24

valoarea funcţiei

obiectiv z 0 0 0 0 −1 −1

z

alegem max

j−cj>0

3

Page 83: mao

Modele şi algoritmi de optimizare

82

Tabelul 4.13

5 4 6 alegem min

CVB VB VVB x1 x2 x3ikyix

4 x2 57 43 1 0 76

3228

=

6 x3 129 41

− 0 1

valoarea funcţiei

obiectiv z 1002 2

7− 0 0

alegem min

zj−cj<0

5 x1 76 1 34 0

6 x3 148 0 31

1

Valoarea ei funcţi

obiectiv z 1268 0

314 alegem min

0 zj−cj<0

4.12. Dualitatea în programarea liniară Oricărei probleme de programare liniară (numită problemă primală) i se

0) este următoarea problemă de programare liniară

asociază o problemă de programare liniară duală pornind de la aceleaşi costuri şi coeficienţi ai restricţiilor, dar în timp ce o problemă este de minim, cealaltă este de maxim. Vom demonstra că dacă valorile optime ale funcţiilor obiectiv sunt finite, atunci ele sunt egale.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. Fie problema de programare liniară sub forma generală (4.20). Problema duală asociată problemei (4.2

Page 84: mao

4. Programare liniară 83

⎩ ≤−≥≤

≤++

0 3213

3

321

,arbitrar , uuuc

cuAuAuA ttt

Duala dualei este chiar problema iniţială. De aceea, (4.20) şi (4.44) formează

izare (minimizare) se transformă într-o problemă de minimizare (maximizare),

e

ţii primale (duale), care sunt ecuaţii, nu sunt supuse nici unei nd semnul.

ă c

( )⎪⎧ ++ 3

32

21

1max ububub

⎪⎪⎪

⎪⎪⎨

++=++

332

231

13

23

322

221

12

1312111

uAuAuAcuAuAuA

ttt

ttt (4.44)

0

un cuplu de probleme duale. 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ă, b) coeficienţii funcţiei obiectiv din problema primală devin termeni liberi în

problema duală, c) o problemă de maxim

d) matricea coeficienţilor sistemului de restricţii pentru problema duală este transpusa matricei coeficienţilor sistemului de restricţii ale problemei primale,

) variabilele duale (primale) asociate unor restricţii primale (duale) concordante sunt supuse condiţiei de nenegativitate,

f) variabilele duale (primale) asociate unor restriccondiţii privi

Din definiţia dată rezult ă:

− duala unei probleme de programare sub forma standard ⎧ ′

⎪⎩

⎪⎨

≥=

xcmin

0xbAx (4.45)

este problema de programare liniară

⎧ ′

⎪⎩

⎪⎨

−≤

max ub

arbitrar ucuAt (4.46)

− duala unei probleme de program are sub forma canonică

⎨ ≤⎪⎧ ′xcmax

bAx (4.47) ⎪⎩ ≥ 0x

Page 85: mao

Modele şi algoritmi de optimizare

84

este următoarea problemă de programare liniară, care are tot forma canonică:

⎪⎩

⎪⎨

≥≤

0ucuAub

t

max. (4.48)

Problemele (4.47) şi (4.48) formează un cuplu de probleme duale simetrice, în timp ce problemele (4.45) şi (4.4 m ză un cuplu de probleme duale asimetrice. − duala unei probleme mixte

6) for ea

′xcmin

ste blema )21 ubub

≤≤≤≤≤+⎠==

, 11 ,1

ijji

ji

njm ; i cvu (4.51)

ele care stabilesc conexiunile fundamentale l două probleme duale.

ntală a dualităţii

mală sub forma stan

meşte pri

e ndacă veri

(4.53)

⎪⎪⎩

⎪⎪⎨

≥=≥

0xbxAbxA

22

11 (4.49)

e pro

⎪⎩

⎪⎨

−≥≤+

arbitrar , 21

22

11

21

uuuAuA

0ctt (4.50)

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

⎪⎪⎪⎧

⎟⎟⎞

⎜⎜⎝

⎛+∑∑ , max

1

n

jj

m

ii vbua

⎧max( ′+′

⎪⎪⎪

. oarecare , ji vu⎨

În continuare sunt prezenate teoremîntre ce e

4.13. Teorema fundame Fie problema pri dard (4.45) şi duala sa (4.46). Definiţia 4.1. O bază B din matricea A se nu mal admisibilă pentru

roblema (4.45) dacă verifică relaţiap0≥− bB 1 (4.52)

O bază B din matricea A s umeşte dual admisibilă pentru problema (4.45) fică relaţia

0≤′−′ − cABc 1

Page 86: mao

4. Programare liniară 85

ne că A re cele dou

Lema slabă a dualităţii. Dacă x şi u sunt so(4.45) şi respectiv (4.46), atunci x’c ≥ b’u (LuenDemons eoarece

t t

proble

roble le (4.45) şi

şi da ’0 b , atunci x0 t solu

Corolarul 4.1 arată că dacă poate fi găsită o pereche de soluţii admisibile care e obiectiv ale problemelor (4.45) şi

r nenul

Nu vom presupu are rangul maxim. Lema următoare stabileşte o relaţie importantă înt ă probleme.

luţii admisibile pentru problemele berger, 1989).

traţie. Db’u =(Ax)’u =xA u , dar A u≤ c’ şi x≥0 ,

atunci rezultă că b’u ≤ x’c.

Această lemă arată că o soluţie admisibilă a oricăreia dintre cele două me este o limită pentru valoarea funcţiei obiectiv a celeilalte probleme.

Corolarul 4.1. Dacă x0 şi u0 sunt soluţii admisibile pentru p merespectiv (4.46) că c’x0 = u şi u0 sun ţii optime pentru problemele respective.

să producă aceeaşi valoare pentru funcţiil(4.46), atunci acestea sunt amândouă optime.

Vom enunţa şi demonstra Teorema fundamentală a dualităţii, care afirmă că şi reciproca Corolarului 4.1 este adevărată (Luenberger, 1989). Pentru aceasta avem nevoie de onstrat în Fletcher, II, 1981). următorul rezultat (dem

Lema de separare. Există un hiperplan care separă un con convex închis C de un vecto C ∉v

Teorema fundamentală a dualităţ că una dintre problemele (4.45) sau (4.46) are o soluţie optimă finită, atunci ă are soluţie optimă finită şi valorile corespunzătoare ale funcţiilor obiectiv sunt egale. Dacă una dintre cele două probleme are optim infinit, atunci cealaltă problemă nu are nici o soluţie admisibilă. Demonstraţie. A doua afirmaţie este o consecinţă a le i slabe a dualităţii. Dacă problema primală are optim infinit şi u este o solu admisibilă a problemei duale, atunci în mod necesar u’ b≤ −M pentru un M suficient de mare, ceea ce

deşi cel ză un cuplu de probleme aţie este suficient să presupunem că

oluţie rile celor două

oblema (4.46) are o s imă z* onsiderăm următoarea mulţime convexă în spaţiul Rm+1 :

.

ii. Daşi cealalt

meţie

este imposibil. Observăm că, e două probleme nu formeaduale simetrice, pentru a demonstra prima afirm

a primproblem ală are o soluţie optimă finită şi apoi să arătăm că problema duală are o s cu aceeaşi valoare pentru funcţia obiectiv. Acest lucru este posibil deoarece ambele probleme pot fi rescrise în formă standard şi roluprobleme se pot inversa. Să presupunem că pr oluţie opt finită. C

0,0,) * ≥−= tzr xxc' ,,( ≥−== ttrC Abwxw .

Page 87: mao

Modele şi algoritmi de optimizare

86

Se poate arăta că C este un con convex închis. Vom arăta că vectorul (1, 0, … 0) nu este în C.

Dacă w= t

,

ci 0b−Ax0 = 0 , unde t0>0 şi x0 ≥ 0 , atun 0

0

tx

x = este o soluţie

admisibilă pentru problema (4.46) şi deci

0*

0tceea ce implică r≤0 (nu poate astfel să ia valoarea 1). Dacă w= −Ax

≤−= xc'zr ,

0 0

atunci x+α x0 este o soluţie admisibilă

eza existenţei unui , 0) nu aparţine lui

C. Cum C este o mulţime convexă închisă, există un hiperplan care separă

un vecto , u)∈Rm+1

0 = 0 (t=0), unde x ≥ 0 şi c’x = −1 şi dacă x este o soluţie admisibilă oarecare a problemei (4.46), pentru problema (4.45) pentru orice α ≥ 0 şi dă valori din ce în ce mai mici pentru funcţia obiectiv, pe măsură ce α creşte. Aceasta contrazice ipotoptim finit şi rezultă că un astfel de x0 nu există. Deci (1, 0,…

vectorul (1,0,…,0) de C. Aşadar, există r nenul (s şi o constantă c astfel încât :

Crsrcs ∈+=< ),(inf wwu' . ă ar exista

valori α. Pe d e (0,0)∈C, trebuie ca să avem c≤0. Aşadar, c=0. Prin urmare s<0 şi putem presupune, fără a restrânge generalitatea, că s = −1. Astfel am demonstrat că există u∈Rm cu proprietatea

–r+u’w ≥ 0 e (r,w)∈C că

(c−u’A)x−tz*+tu’b ≥ 0 oricare ar fi x≥0 şi t≥0.

ea ce înseamnă că u e ie admisipentru problema duală. Punân ma slabă a dualiti din corolarul s ei duale.

orolarul 4.2. Dacă într-un cuplu de probleme duale, una dintre probleme are un program optim, atunc am optim şi valorile

ţiilor obiectiv sunt egale.

Fie problema de programare liniară sub forma standard (4.45) şi duala sa (4.46) x

C fiind con, rezultă că c≥0. Altfel, dac (r,w)∈C astfel încât sr+u’w<0, atunci α⋅(r,w) nu ar verifica inegalitatea hiperplanului pentru mari ale lui

e altă parte, deoarec

pentru oric . Din definiţia lui C avem

Alegând t=0 rezultă u’A≤c’, ce ste o soluţ bilă

d x=(0,0,…,0) şi t=1, obţinem că u’b ≥ z*. Din le ăţii ău rezultă că u este o soluţie optimă a problem ş

C

i şi cealaltă problemă are un progroptime ale func

şi =(xB,0) o soluţie optimă de bază corespunzătoare bazei B , iar xB=B−1b şi xS=0. Atunci vectorul costurilor relative

SBSB cSBccSBcr ′≤′⇒≤′−′= −− 11 0 . Considerăm 1−′= Bcu B şi arătăm că acest u este soluţie a problemei duale:

][ [ ] [ ] cAucccSBccSu SBBB ′≤′⇒′=′′≤′′=′ −1 , adică u’A este soluţie adm

BuAu ′=′isibilă pentru problema duală. Pe de altă parte

Page 88: mao

4. Programare liniară 87

egală czultă că

e

bază optimă

robleme asociate sunt egale.

c’ este ne

entar ă ca programele

Aonstraţia este simil

Să notăm cu

xcbBcbu BB ′=′=′ −1 şi astfel valoarea funcţiei obiectiv a problemei duale este pentru acest u u valoarea funcţiei obiectiv a problemei primale. Atunci, din Corolarul 4.1 reu ste soluţia optimă a problemei duale. Am demonstrat următoarea teoremă. Teorema 4.6. Dacă problema de programare standard are soluţie decorespunzătoare bazei B, atunci 1−′=′ Bcu B este soluţie optimă a problemei duale asociate. Valorile optime ale funcţiilor obiectiv corespunzătoare celor douăp Teorema ecarturilor complementare pentru cuplu de probleme duale asimetrice. O condiţie necesară şi suficientă ca programele x* şi u* să fie optime pentru problemele duale (4.45) şi (4.46) este ca pentru orice i să avem: a) iii cx =′⇒> au0 b) 0=⇒<′ iii xcau . Demonstraţie. Dacă au loc relaţiile a) şi b) atunci (u’A−c’)x=0, adică u’b=c’x , şi, din Corolarul 4.1, rezultă că x şi u sunt soluţii optime pentru perechea de probleme (4.45) şi (4.46). Invers, dacă x şi u sunt soluţii optime pentru perechea de probleme (4.45) şi (4.46), atunci din Teorema fundamentală a dualităţii rezultă că u’b= c’x şi astfel (u’A−c’)x=0. Deoarece fiecare componentă a lui x este nenegativă şi fiecare componentă a lui u’A− pozitivă, rezultă condiţiile a) şi b) din teoremă. Teorema ecarturilor complem e pentru cuplu de probleme duale simetrice. O condiţie necesară şi suficient x* şi u* să fie optime pentru un cuplu de probleme duale simetrice este ca pentru orice i şi j să avem: a) iii cx =′⇒> au0 b) 0=⇒<′ iii xcau c) j

jj bu =⇒> xa0

d) 0=⇒> jjj ubxa ,

unde a j reprezintă linia j din matricea . Dem ară demonstraţiei teoremei precedente.

0<∈=− ixi BB , B fiind o bază dual admisibilă. Dacă

B−≠φ atunci baza B este şi primal admisibilă şi

B

bBx 1−=B este program opproblemei primale (Zidăroiu, 1983). Teorema 4.7. Fie B o bază dual admisib ă pentru problema (4.45) şi B−≠φ. Dacă ∃ atunci problema (4.45) nu are programe.

tim al

il( −∈Bi astfel încât) ( ) S∈∀≥ jy B

ij ,0

Page 89: mao

Modele şi algoritmi de optimizare

88

Demonstraţie. Fie programul dual asociat cu baza B− , linia de rang i din matricea B−1 şi

1−′=′ Bcu BB′ia

fie u iB αu ⋅−= δδ )( 0≥δ, unde . Atunci BB czyz ≤≤⋅−=′⋅−′=′ δδδ aαauau )( pentru jjijjjijBj

B nj ≤≤1 . Aşadar,

cu ≤t . Însă A Bi

B xzbb ⋅−=′⋅−′=′ δδδ αubu )( +∞=⋅′∞→

bu )(lim δδ

, iB şi atunci

adică problema duală are optim infinit şi din Teorema fundamentală a dualităţii, rezultă că şi problema primală are optim infinit.

pătratică nesingulară

)(RnM∈ALema substituţiei. Fie A o matrice şi B o matrice obţinută şi

Atunc a) condiţia necesară şi suficientă ca să existe B este ca

din A prin înlocuirea coloanei ar cu vectorul nenul nR∈b bAc 1−= . i:

-1 0≠rc ; b) Dacă c , atunci , unde 11 )( −− = AEB ηr )(ηrE0≠r se obţine din matricea unitate de ordinul n prin înlocuirea coloanei r cu vectorul

( )′−−− +− rrr cccc ,...,,1,,..., 111η . −=′ rcDemonstraţie. Din forma lui c rezultă că

−1

( )nncc aab ++= ...1

1 . (4.54) a) Necesitatea condiţiei. Dacă c =0 , atunci din definiţia lui c rezultă că

r

vectorii nrr aabaa ,...,,,,..., 111 +− sunt liniar dependenţi şi B nu este inversabilă. Suficienţa condiţiei. Presupunem că B nu este inversabilă şi atunci rangul ei este mai mic decât n, adică vectorii coloană ai matricei B sunt liniar dependenţi. Fie nii ,1, =λ , astfel încât

şi .

Însă din (4.54) avem

=++∑ rrrrii cc aa λλλ ,

01

2 ≠∑=

n

iiλ 0

1=+∑

≠=

ba r

n

rii

ii λλ

( )n

i 01

≠=

rii

ceea ce înseamnă că A are coloanele liniar dependente şi astfel nu este inversabilă. Atunci, trebuie ca =c 0rr λ . Sunt posibile dou i) c

ă cazuri. r=0 şi suntem în cazul a) al lemei, sau

ii) 0=rλ şi atunci din (4.54) rezultă că vectorii a ,…, a , a ,…, a , sunt liniar dependenţi , iar matricea A nu este inversabilă. Contradicţie!

b) Din (4.54) n

1 r-1 r+1 n

ri

ir 11avem ∑≠=i

irr ccc1

aba , adică ηBa = . Cum −− −= r

riniii ≠== ,,1,Bea , rezultă că )(ηrBEA = , sau 1 )(− = EEB ηr1− .

Page 90: mao

4. Programare liniară 89 Teorema admisibilă pentr (4.45) şi B−≠φ. Dacă pentru

4.8. Fie B o bază dual u problema primală( ) ( ) SB ∈∃∈∀ − ji , astfel încât şi alegem l∈B−

arbitrar, iar k∈S asfel încât să ie satisfăcută condiţia

0<Bijy

f

Blk

Bk

Blj

jBj

yj ycz

ycz

Blj

−=

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧ −

<0min k

atunci matricea B~ obţinută din matricea B prin înlocuirea coloanei al cu coloana ak este o bază dual ad mul dual asociat este cel

puţin la fel de bun ca uB,, adică

misibilă, iar progra B~

u

bubu BB′≥′~ .

Demonstraţie. B~ astfel obţinută este o bază (deoarece şi se verifică 0≠Blky

ipotezele Lemei substituţiei). Conform cu relaţiile (4.40) avem

( ) ( ) S∈−−−=− jyy

czczcz Blk

Brj

kBkj

Bjj

Bj ,~

.

B fiind o bază dual admisibilă, rezultă că 0~

≤− jBj cz pentru ( ) S∈∀ j pentru

care 0≥Bljy .

0~

≤− jBj cz pentru ( ) S∈∀ jDin definiţia lui k∈S rezultă că şi pentru care

<Bljy 0 . Pentru j=l avem

( ) 01~<−−=− B

lky

Aşadar, 0~

≤− jBj cz are loc

kBkl

Bl czcz .

pentru ( ) S~

B~∈∀ j , adică este o bază dual admisibilă.

Din relaţiile (4.40) rezultă că ( ) Blk

Br

kBk

BB

yxczzz −−=

~. Dar buB

Bz ′= şi

buBBz ~′= şi atunci B~u este cel puţin la fel de bun ca şi u~

l simplex dual Prin aplicarea algoritmului simplex la problema duală se obţine un nou

≤≤≤− 1,0 ), sau până la punerea în evidenţă a faptului că problema primală are optim infinit.

B.

4.14. Algoritmu

algoritm pentru problema iniţială, numit algoritmul simplex dual. Algoritmul simplex primal explorează bazele primal admisibile ale problemei (4.45) până la obţinerea unei baze primal admisibile care să fie şi dual admisibilă ( njcz j

Bj

Page 91: mao

Modele şi algoritmi de optimizare

90

Algoritmul simplex dual explorează bazele dual admisibile ale problempână la obţinerea unei baze dual admisibile care să fie i prim isibil ), sau până la punerea în evidenţă a faptului că problema duală nu are programe. l m plex prim se obţ o s esiu de programe de bază

), iar în algoritmul simplex dual se obţine o succesiune de soluţii de bază care nu sunt programe ( −1b nu are toate componentele nenegative). ntru prob ă de nimi în algoritmul plex ncţia obiectiv descreşte spre minim, în timp ce în algoritmul simplex dual funcţia obiectiv creşte spre maxim. Adesea, pentru problema de programare liniară se cunoaşte o soluţie de bază, dar care nu este şi admisibilă şi pentru care multiplicatorii simplex sunt admisibili pentru problema duală asociată. În tabelul simplex această situaţie corespunde stării în care ultima linie (zj nu ar emente pozitive, dar uţia nu este admisibilă. O astfel de situaţie apare, de exemplu, 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). În acea si ţie, dispunând de o soluţie adm e bază pentru problema duală este de preferat să continuăm să rezolvăm problema duală. Considerăm problem are liniară sub forma standard şi fie B o bază un ută a acestei probleme, iar =′ Bu B este admisibilă pentru problema duală. Dacă xB=B−1b≥0, această soluţie este primal admisibilă şi atunci ea este optimă. Vectorul u este admisibil pentru problema duală şi atunci are loc inegalitatea u’aj

pentru

ei (4.46) ă ( 01− bBş al adm ≥

În a gorit ul sim al ine ucc ne( 01 ≥− bB

B miPe o lem zare sim fu

−cj) e el sol

stă tua isibilă d

a de program c osc ′c

≤cj

1−

n,1 .j = Presup ând ă baza este formată cu prim

m A, atunci au loc egalităţile u’aj=cj

un c ele

coloane ale lui , mj ,1= şi, cu excepţia

degenerării, inegalităţile u’aj<cj , nmj ,1+= . Într-o iteraţie a metodei simplex duale vom ăsi un nou vector u g , astfel înc un egal ile de mai sus devine inegalitate, iar una din inegalităţi devine egalitate, în acelaşi timp valoarea funcţiei obiectiv pentru problema duală creşte. Cele m egalităţi în noua soluţie determină o nou ază otă linia atricei B− α Atunci, pentru

ât a din ităţ

ă b . N m i a m 1 cu i . iαuu ε−′=′

avem ji

jjau ′

mentele

aαau ε−′= . Astfel, notând zj=u’aj şi observând că u’aj=yij ,

(ele (i, j) din tabelul simp ), avelex m: ijmjc jj ≠==′ ,,1,au

ε−=′ ii cau (4.55)

ijnmjyz ijjj ≠+=−=′ ,,1,εau

De asemenea,

Bixε−′=′ bubu (4.56)

Pentru cuplul de probleme duale

Page 92: mao

4. Programare liniară 91

⎪⎨

⎧=

⎩ ≥ 0x ⎩

bAxxcmin

⎪⎨

⎧≤

′maxcuA

ubt arbitrar u

algoritmul simplex dual constă din următorii paşi. Pas 0. Se determină o bază dual admisibilă B , în matricea A , se calculează

njczyz j

Bjj

Bj

B

B

BB≤≤−=′== 1 , , , , -1-1 aBxcbBx

aj fiind coloane ale matricei A. Pas 1. a) Criteriu de ieşire din bază

1) dacă toţi 0≥ix , atunci programul este optim. Stop! 2) dacă ( ) 0<∃ ix , atunci se determină l astfel încât

0 min <= iil xxx .

b) Criteriu de intrare în bază 1) dacă toţi y ≥ 0 , atunci problema nu are programe. Stop! lj

2) dacă ( ) 0<∃ ljy , atunci se determină k astfel încât

ljyj

lk yy lj <00

Pas 2. Se înlocuieşte în baza B coloana

jj cz −= minkk=ε (4.57)

l cu coloana k , obţinându-se noua bază

cz −

B~ . Se calculează

( ) ( )

njyy

czzcznzzlk

ljkkjjj

Bj

lk

BB

≤≤

−−=−=

1

, ,

şi se trece la pasul 1, înlocuind B cu B

ciyx

cz-

yx

y

lkk

lk

iikijij

lk

−≤≤−

1 ,

(

~~

liyyliyx

yxxyy

, yyx

x Biiki

Bi

lk

lj Bij

lk

lB

l ≠=≠−=== ),)(,~~~~

~ . În continuare sunt prezentate câteva observa a) aleg

ţii privind algoritmului de mai sus. erea lui k în relaţia (4.57) ne permite să afirmăm că noua soluţie va fi

din nou dual admisibilă; b) din relaţia (4.56) şi din alegerea lui 0<lx (conform cu a2 din algoritmul simplex dual) valoarea funcţiei obiectiv pentru problema duală va creşte; 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

într-un număr fini . Exemplu. Să considerăm problema dietei §4.1.5. particularizată astfel:

funcţia obiectiv; d) deoarece există numai un număr finit de baze, optimul trebuie să fie obţinut

t de iteraţii

Page 93: mao

Modele şi algoritmi de optimizare

92

min 3x +4x +5x 1 2 3

⎪⎩

⎪⎨

=≥≥++≥++

3,10622532

321

321

ixxxxxxx

i

forma standard

min 3x +4x +5x 1 2 3

⎪⎩

⎪⎨

=≥=−++=−++

5,10622532

5321

4321

ixxxxxxxxx

i

duala corespunzătoare

+5x

şi aplicăm algoritmul simplex dual problemei

min 3x1+4x2 3

⎪⎩

⎪⎨

=≥−=+−−−

5,10622 5321

ixxxxx

−=+−−− 532 4321 xxxx

i

bţ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

o admisibilă, deoarece valorile pentru x4 şi x5 sunt negative, iar zj−cj sunt nepozitive. La prima iteraţie iese din bază x5 şi intră x1, iar la iteraţia a doua iese din bază x4 şi intră x2. Rezultatele sunt trecute în Tabelul 4.14. Valoarea funcţiei obiectiv este min f=10, obţinută pentru x1=1 şi x2=2 .

4.15. Interpretarea economică a algoritmului simplex dual Pentru exemplificare ne vom referi la problema utilizării eficiente a resurselor (Dragomirescu şi Maliţa, 1968)

⎪⎩

⎪⎨

≥≤

0xbAxxcmax

unde: xj este numărul de unităţi din sortimentul j care trebuie produse şi ∑n

xa =j

jij1

reprezintă cantitatea d producţie. esteia este

in resursa i care se consumă în procesul de Problema duală asociată ac

⎪⎩

⎪⎨ ′≤⎧ ′ubmin

cuAT 0u

rsei i, iar i

iijua1

reprezintă

ităţi din sortimentul j.

Tabelul 4.14

∑=

m

unde: ui este costul unitar intern (shadow price) al resu

valoarea totală a resurselor consumate pentru realizarea unei un

Page 94: mao

4. Programare liniară 93

3 4 5 0 0 alegem min

CVB VB VVB x1 x2 x3 x4 x5ij

jj

y ycz

ij

−<0

min

0 x4 −5 −1 −2 −3 1 0

0 x5 −6 −2 −2 −1 0 1 15,

24,

23

−−

−−

−−

valoarea funcţiei

obiectiv z 0 −3 −4 −5 0 0

0 x4 −2 0 −1 25

− 1 21

3 x1 3 1 1 21 0

21

valoarea funcţiei

obiecti2121

,

2527

,11

−−

v z 9 0 −1

27

− 0 23 −

4 x2 2 0 1 25 −1

21

3 x 1 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

mate pentru al fiecărei resurse să nu depăşească valoarea resurselor consurealizarea lui, iar costul total al resurselor să fie minim. Inegalitatea dată de Lema slabă a dualităţii pentru acest cuplu de probleme duale ( ubxc ′≤′ ) are aici următoarea semnificaţie: pentru nici un plan de

Page 95: mao

Modele şi algoritmi de optimizare

94

producţie x şi nici un sistem de costuri interne u profitul total al întreprinderii nu poate depăşi costul total al resurselor; egalitatea se realizează doar pentru programele optime de producţie şi pentru costuri interne optime. Relaţiile Teoremei ecarturilor c e scrise sub forma

⎝− ∑

=

n

jjij xa ,

omplementar

01

=⎟⎟⎠

⎞⎜⎜⎛

ii bu mi ≤≤1 =⎟⎟⎠

⎞⎜⎜⎝

⎛∑şi 01

− c=i

jiijj uax

în acest caz au următoarea interpretare: într-un plan de producţie optim nu se pot produce sortime pentru care nsuosturilo profi le. lus tur nterne nen e se atribuie

misibile Dacă toţi coeficienţii funcţiei obiectiv sunt nenegativi, atunci variabilele ecart formează o soluţie de bază dual admisibilă, deoarece în acest caz

uce o ţie nouă (Maliţa şi Z

m

, j ≤≤1 n

nte co murile de resurse – calculate pe baza cn

r interne – depăşesc turi În p , cos ile i ulumai resurselor folosite integral în cadrul acestui plan.

4.16. Determinarea unei soluţii dual ad

zi−ci= −ci ≤ 0. Dacă nu toţi coeficienţii funcţiei obiectiv sunt nenegativi, se introdrestric idăroiu, 1971)

Mxxxxkn =+++++ ννν ...

211 ,

cu M suficient de mare, xn+1 o nouă variabilă, iar krxr

≤≤1 , ν , fiind

variabilele care corespund coeficienţilor 0<r

cν .

Dacă 0 max <= jj cccfν , se înlocuieşte

fxν din restricţia suplimentară

funcţia obiectiv. Se obţine o mulţimîn e de n xn+1 înlocuieşte )

astfel încât toţi coeficienţii funcţiei e nenegativi şi numărul restricţiilor a crescu itate Exemplu

⎧−=−++

−43

)2n( 5

xxxxxx

ste primal admisibilă pentru că x1= − 4 . Pentru a ţia suplimentară

variabile (f

obiectiv să fit cu o un .

+4−3xmi

⎪⎪⎩

≤≤≥=+−−

51,014 5432

5431

ixxxxx

i

x

⎪⎪

1, x2 formează o bază care nu eface pozitivi toţi coeficienţii funcţiei obiectiv, introducem rela

Mxxx =++ 436 . Atunci 2max 4 −=== ccc jν şi x0<cj j

f 3−x6. Se obţine o

nouă problemă care are toţi coeficienţii funcţiei obiectiv nenegativi:

4=M−x

Page 96: mao

4. Programare liniară 95

⎪⎪⎪

≤≤=++

+=+++−−=−−+

+++−

61,

414342

)22min(

643

6532

6531

653

iMxxx

MxxxxMxxxx

xxxM

unde M este soluţie dual

1. Într-o staţie de betoane se pot produce 3 tipuri de betoane 150, B200, B300). Staţia este organ fi re ni arcă de betoane, capacitatea maximă a staţiei este de 600 m etonul se transportă cu ajutorul a 20 de autobetoniere de 5 m3 aci e fieca uratele ciclurilor de transport pentru cele 3 rci de be ne d d 0.1 ; 0 i 0.1 zile respectiv. Consumurile normate de ciment pe c tre ărci de beton sunt respectiv 200, 300

3 . Staţia este aprovizionată zilnic cu o cantitate de 180 tone de ciment .

Rezolvare a) Modelarea problemei Notăm cu x1 , x2 , x3 , cantităţile de beton din fiecare marcă ce se cer a fi determinate astfel încât funcţia obiectiv

2 + x3 ≤ 600 (nu se poa ducţie a staţiei) 0.1·x1 +0.2·x2 +0.1·x3 ≤ 20·5 (nu se poate dep ă 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ă:

⎪⎩ ≥ 0xi

⎪⎪

suficient de mare astfel încât –4–M < 0 . Se obţine oadmisibiă x1= –4–M , x2 = 1+4M , x4 = M .

4.17. Probleme propuse

(Bizată astfe

ziln ăl încât eca beto eră poate produce orice m

ic 3 . Bcap tat re, d

mă toa fiin e .2 şele i m

şi 400 kg/mCa urmare a organizării staţiei se obţin următoarele economii pe mărci de beton: 1; 1.2 şi 0.8 u.m. / m3 . Se cere găsirea soluţiei care aduce maximum de profit staţiei, ştiind că se cere beton în cantităţi mai mari decât posibilităţile de preparare.

z = f(x1 , x2 , x3 ) = 1·x1 + 1.2·x2 + 0.8·x3 , să fie maximă sub restricţiile x1 + x te depăşi capacitatea de pro

ăşi capacitatea zilnic

Forma canonică Forma standard

Page 97: mao

Modele şi algoritmi de optimizare

96

⎪⎪⎩ =≥ 3 ,2 ,1 , 0

321

ixi

⎪⎪⎪

⎨≤++

≤++≤++

180043210002

600

321

321

321

xxxxxx

xxx

⎧ ++ 8.02.1max xxx

⎪⎪⎩ =≥ 6,1 , 0

6321

ixi

⎪⎪⎪

⎨ =+++=+++

10002600

5321

4321

321

xxxxxxxx

=+++

++

1800432

8.02.1max

xxxx

xxx

după introducerea variabilelor ecart

Se obţin următoarele rezultate: max f=680 realizat pentru x1=200 , x3=0 Variabilele auxiliare x , x5=0 , 200 arat ă primele două restricţii se verifică pentru soluţia de i sus cu egalităţ iar de treia cu inegalitate.

rofitul este maxim dacă nu se produce beton de tipul B300.

Tabelul 4.15

Rezerve

onibil

x2=400 , . 4=0 x6= , ă cma i, cea -a

P 2. Într-o secţie a unei întreprinderi se produc trei tipuri de produse P1, P2 , P3 , folosind rezerve de forţă de muncă (F) şi resurse financiare (B) limitate conform Tabelul 4.15.

Tip produs P1 P2 P3 Disp

F 2 3 2 15 B 1 2 3 12

Profit 1.5 4 3 care conţine şi consumurile din aceste rezerve la unitatea de produs pentru fiecare tip, precum şi beneficiile aduse de o unitate de fiecare tip de produs. Datorită condiţiilor impuse de stocare întreaga producţie nu trebuie să depăşească 8 unităţi. Să se determine planul optim de producţie care în condiţiile date să dea un

tei probleme se obţine următorul program liniar:

profit total maxim pe secţie. R. În urma modelării aces

max f = max1.5x1+4x2+3x3

⎪⎪⎩

⎪⎪⎨

=≥≤++

≤++≤++

3,1 , 08

123215232

321

321

321

ixxxx

xxxxxx

i

.

Se obţine soluţia max f=20.4 pentru x1 = 0 , x2 = 4.2 , x3 = 1.2 .

ie (C)) care

3. La o secţie de producţie a unei întreprinderi de construcţii, unde se lucrează în flux continuu de bandă, sunt necesare pentru fabricarea de panouri pentru cofraje 4 tipuri de materii prime (panel (P), scândură de brad (SB), dulapi (D), cu

Page 98: mao

4. Programare liniară 97

nt prelucrate la 3 standuri. Repartiţia materiilor prime şi a cheltuielilor de muncă

Tabelul 4.16 Materie primă

Stand P D C Nr. necesar de panouri

sunecesare prelucrării pe cele 3 standuri este dată de Tabelul 4.16.

SB

S1 2 1 1 0 1 S2 4 1 2 1 0 S3 1 3 0 1 1

Cheltuieli de munc 12 ă 6 8 10

Să se determine un plan de producţie astfel încât cheltuielile să fie minime.

2 3 4

R. Modelând problema se obţine următorul program liniar:

min f = min 6x +8x +12x +10x 1

⎪⎪⎧

=++=++

422421

xxxxxx

⎪⎪⎩ =≥ 4,1 , 0

43

ixi

Se obţine soluţia min f = 29 , pentru nivelurile de consum ateriale x =0 , x =1.5 , x =1 , x =0.5 .

întreprinderi are în fabricaţie 7 tipuri de produse, P1−P7 . Două aterii prime (M , M ) necesare realizării acestor produse sunt în cantităţi limitate,

unt date în Tabelul 4.

.17 odus

Mater P1 P2 P3 4 P5 6 7

⎨ =++ 32

421

xxx .

de m1 2 3 4

4. O secţie a unei m 1 2 200 şi respectiv 300 unităţi, celelalte fiind în cantităţi suficiente oricărui plan de producţie. Consumurile de materii prime M1 , M2 pe unitatea de produs pentru fiecare tip, precum şi beneficiile nete aduse de producerea unei unităţi din fiecare tip de produs s 17.

Tabelul 4Pr

ie P P P

M1 3 2 5 2 3 4 3 M2 5 1 2 4 3 3 4

Profit 6 5 2 6 6 5 6 Datorită unei cereri mari de produse P1 , P2 s-a propus ca măcar 25% din ntreaga producţie a secţiei să fie reprezentată de aceste produse. Să se deterî mine

1 2 3 4 5 6 7

un plan de producţie care să respecte condiţiile impuse şi care să aducă un profit total maxim în secţia respectivă. R. Trebuie rezolvată următoarea problemă de programare liniară:

max f = max6x +5x +2x +6x +6x +5x +6x

Page 99: mao

Modele şi algoritmi de optimizare

98

⎪⎪⎩

⎪⎪⎨

=≥≤+++++−−

≤++++++≤++++++

1,7 , 0033

3003424352003253243

7654321

7654321

7654321

ixxxxxxxx

xxxxxxxxxxxxxx

i

Se obţine max f =430.77 pentru x1=19.23 ; x2= x3= x4= x5=0 ; x2=30.77 ; x2=26.92 .

5. Problema dietei alimentare (problemă de amestec)

ile celor 3 alimente sunt trecute în Tabelul 4.18.

AlimSu

2 A ec r

Un meniu trebuie să asigure necesarul în substanţele S1 , S2 , S3 , cu ajutorul alimentelor A1 , A2 , A3 . Cantităţile de substanţele S1 , S2 , S3 , ce se găsesc într-o unitate de aliment de fiecare fel, cantităţile minime necesare organismului în cele 3 substanţe, precum şi preţur

Tabelul 4.18

ent Abstanţă

1 A 3 N esa

S1 4 3 2 24 S 5 7 2 35 1S1 1 5 4 40

Preţ 8 5 7 Să se determine cantităţile ce trebuie incluse în meniu din cele 3 alimente, astfel încât costul total al meniului să fie minim . R. În urma modelării se obţine problema de programare liniară sub forma canonică

min f = min8x1+7x2+5x3

⎪⎪ ≥++ 35275

321

xxx

⎪⎪⎩

=≥≥++

≥++

3,1 , 04045

2423

321

321

ixxxx

xxx

i

.

a două

⎧4

După introducerea variabilelor de compensare se obţine problema sub formstandard, dar nu are o bază canonică evidenţiată. De aceea se aplică metoda în faze.

min f = min8x1+7x2+5x3

⎪⎪

⎪⎪⎨

−++=−++=−++

453527524234

321

5321

4321

xxxxxxxxxxx

.

⎩ =≥=

6,1 , 0406

ixx

i

Se obţine min f = 56 , 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, adică

x1=0 , x2=8 , x3=0 , x4=0 , x5=21 , x6=0 .

Page 100: mao

4. Programare liniară 99

. Substanţele S1 , S2 , S3 , S4 conţin în cantităţi diferite elementele E1 , E2 , E3 , E4. Din cele 4 substanţe trebuie făcut un amestec care să conţină cel puţin 28, 30, 25 şi respectiv 25 u de substanţă ostă 6, 3, 4 şio ţinutul unei unităţi din fiecare substanţă în cele 4 elemente este dat de Tabelul . .

Tabelul 4.19

6

nităţi din cele 4 elemente. Câte o unitate din fiecare tip respectiv 5 u. m. c

C n194

Substanţă Element

S1 S2 S3 S4

E1 3 2 1 3 E2 4 0 3 1 E3 0 3 0 4 E4 5 0 3 1

2

amestecului să fie minim.

min f = min 6x +3x +4x +5x

Conţinutul substanţelor S1 , 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 S . Să se determine cantităţile ce trebuie amestecate din cele 4 substanţe astfel încât să fie îndeplinite toate condiţiile impuse, iar costul total al

R. Modelând problema se obţine

1 2 3 4

⎪⎪⎪⎪

⎪⎪

=≥≥≥

≥++≥+

.4,1 , 023

25352543

2

1

431

42

ixxx

xxxxx

i

a reduce numărul restricţiilor problemei liniare obţinute se poate face schimbarea de variabile y

⎪⎪⎧

≥++≥+++

303428323

431

4321

xxxxxxx

Pentru = x2−2 , y3 = x

y +2

1 = x1−3 , y2 3 , y4 = x4 . Se obţine problema

min g =min 6y1+3y2+4y3+5 4 4

⎪⎪⎩ =≥ 4,1 , 0

431

iyi

După aducerea la forma standard, se aplică metoda în două faze şi, după revenirea la variabilele x

⎪⎪⎪

≥+≥++

≥+++

19431834

15323

42

431

4321

yyyyy

yyyy

≥++ 1035 yyy .

1=3 , x2=2 , x3=4.416 , x4=4.75 . i , se obţine soluţia:

min f =65.416 , pentru x

Page 101: mao

Modele şi algoritmi de optimizare

100

7. O întreprindere doreşte să producă un nou aliaj format din 3metal B. Pentru aceasta are la dispoziţie alte 5 aliaje ale căror

0% metal A şi 70% preţuri şi compoziţii

sunt date în Tabelul 4.20.

Tabelul 4.20 Aliaj 1 2 3 4 5

% A 1 2 5 70 5 0 5 95

% B 9 5 2 50 5 0 5 7

Preţ/kg 5 4 3 2 1.5 Aliajul dorit va fi produs prin combinarea unor cantităţi din celelalte 5 aliaje. Să se determine cantităţile necesare realizării noului aliaj cu cost minim. R. Notăm cu xi – cantitatea din aliajul i (i=1,2,...,5) care intră în alcătuirea noului aliaj. Trebuie rezolvată următoarea problemă de programare liniară:

min 5x1+4x2 3 4 5

+3x +2x +1.5x

≥ 0,..., xx

de petrol are două surse de aprovizionare cu petrol brut: petrol brut şo benzină, petrol

t cantităţile din

Petrol Benzină

⎪⎨

⎧=++++=++++70525507590309575502510

54321

54321

xxxxxxxxxx

⎩ 51

care are soluţia: x1=0 , x2=0.9 , x3=0 , x4=1 , x5=0 , iar valoarea funcţiei obiectiv este min f = 3.8 .

. O rafinărie 8u r la 35$/baril şi petrol brut greu la 30 $/baril. Rafinăria produce

petrol brulampant şi benzină superioară, obţinând dintr-un baril deTabelul 4.21.

Tabelul 4.21 Produs finit

Materie primă Benzină lampant superioară

Petrol brut uşor 0.3 0.2 0.3 Petrol brut greu 0.3 0.4 0.2

Rafinăria s-a angajat să producă 900 000 barili de benzină, 800 000 blampant şi 500 000 barili de benzină superioară. Ce cantităţi de petro

arili de petrol l brut uşor şi

greu trebuie achiziţionate pentru a se realiza angajamentul cu un cost minim? R. Notăm cu x1 , x2 , x3 cantităţile de petrol brut uş r folosite pentru obţinerea de benzină, petrol lampant şi respectiv benzină superioară, şi analog x4 , x5 , x6 , cantităţile de petrol brut greu. Se ajunge la următoarea problemă de programare liniară:

min 35(x1 + x2 + x3 ) + 30(x4 + x5 + x6 )

o

Page 102: mao

4. Programare liniară 101

≥=+

0,,,,,000 5002.03.0

654321

63

52

xxxxxxxx

Pentru realizarea planului de producţie sunt necesare cantităţile 1 666 666.67 barili petrol brut uşor şi 5 000 000 barili petrol brut greu, costul minim fiind 208 333 333.33 . 9. O firmă produce cinci tipuri de piese de schimb pentru automobile. Fiecare piesă

în Tabelul 4.22.

Tabelul 4.22 Tip piesă

Secţie 1 2 3 4 5

⎪⎪⎧

=+=+

000 8004.02.0000 9003.03.0 41

xxxx

⎪⎪⎩

este turnată în oţel la turnătorie şi apoi este trimisă la secţia de finisaj. Numărul de ore muncă necesare pentru 100 de unităţi din fiecare tip de piesă în cele două secţii sunt date

Turnătorie 2 1 3 3 1 Finisaj 3 2 2 1 1

Profit / 100 unităţi 30

20

40

25

10

Capacitatea de turnare şi finisare pe parcursul unei luni este de 700, respectiv 1000 ore muncă. Să se determine numărul de piese din fiecare tip care trebuie produse pentru a se obţine un profit maxim. R. Notând cu xi numărul de sute de piese de tipul i, 5,1=i , obţinem următoarea problemă de programare liniară

max 30x1+20x2+40x3+25x4+10x5

⎪⎩

⎪⎨

=≥≤++++≤++++

5,1,0102237332

54321

54321

ixxxxxxxxxxx

i

are are maximul egal cu 120, obţinut pentru x1=0 , x2=4 , x3=1 , x4=0 , x5=0 .

n luni i

c 10. O firmă producătoare de calculatoare prognozează că în următoarele cererea va fi d , ni ,1= . Într-o lună firma poate produce r unităţi cu un cost b. Lucrând peste program, firma poate produce calculatoare la un cost c > b . Costul unitar de stocare al calculatoarelor de la o lună la alta este s . Să se determine planul de producţie care minimizează costul.

Page 103: mao

5. PROBLEMA DE TRANSPORT

5.1. Fundamentele algoritmului de transport Problema de transport (4.8) − (4.11) are totdeauna o soluţie admisibilă, anume

S == ji 11

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 ∑∑ =n

j

m

i ba . De aici

ba ji= , unde ∑∑ ==nm

baSx ji i şi care este o soluţie mărginită de ai şi bj .

ji 11

zultă că una dintre restricţii este redundantă. Orice restricţie se poate exprima în

eorema 5.1. Problema de transport are totdeauna soluţie şi o restricţie este

zultă din observaţia de mai sus. eo

ă există o combinaţie liniară a ecuaţiilor ră se egală cu zero. Să notăm cu

j

==

refuncţie de celelalte m+n−1 rămase. Tredundantă. Înlăturând oricare dintre restricţii, cele n+m−1 rămase formează un sistem liniar independent (Luenberger, 1989). Demonstraţie. Existenţa soluţiei şi redundanţa reD arece suma restricţiilor date de centrele de aprovizionare este egală cu suma restricţiilor date de centrele de consum, rezultă că orice restricţie poate fi exprimată ca o combinaţie liniară de celelalte m+n−1 . Astfel, orice restricţie poate fi eliminată. Să presupunem că am eliminat o restricţie, fie ea ultima. Presupunem c

mamii ,1, =α , coeficienţii acestei combinaţii liniare corespunzători primelor ecuaţii

din problema de transport şi cu 1,1, −= njjβ coeficienţii corespunzători

ultimelor n−1 ecuaţii. Fiecare variabilă xin , mi ,1= , apare numai în a i - a ecuaţie, deoarece ultima ecuaţie a fost înlăturată. Astfel, nii ,1,0 ==α . În restul ecuaţiilor apare numijx ai într-o stfel 1,1,0 −== njjβecuaţie şi a . Aşadar,

Din Teorema 5.1 rezult tru problema de transport este

oc următoarea teoremă.

sistemul de n+m−1 ecuaţii este liniar independent.

ă că o bază penformată din m+n−1 vectori liniar independenţi, iar soluţia de bază admisibilă are m+n−1 variabile. Problema duală asociată problemei de transport este dată de (4.51) . Are l

Page 104: mao

5. Problema de transport 103

Teorema 5.2. Cuplul de soluţii duale ( )ijx şi ( )ji vu , este optim pentru problemele (4.8)-(4.11), respectiv (4.51), dacă şi numai dacă

( ; 0

1

1

−−≥−−

==

iijjiij

ijji

ijij

ij

ucxvuc

) .0

0 ; ;

=

≥== ∑∑

jij v

xbxax

Din ultima condiţie rezultă că pentru

mn

(rezultă din Teorema ecarturilor complementare).

0>ijx se obţine jiij vuc += . lă se În cele ce urmează prin celu înţelege o pereche de indici (i,j), iar prin

ciclu se înţelege un şir de celule notate ( ) ( ) ( ) ( ) ( ) . , , , , , , , , , , 1122111 jijijijiji tttL

În continuare vom evidenţia cea mai importantă proprietate structurală a problemei de transport: toate bazele sunt triunghiulare. 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. Definiţia 5.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ă. O matrice inferior triunghiulară este triunghiulară în sensul definiţiei de mai

s. O matrice nesingulară superior triunghiulară este de asemenea triunghiulară

coloanei elementului nenul din pasul 1. Se reia pasul 1 cu submatricea obţinută.

⎜⎛ 00011

este triunghiulară.

sudeoarece prin schimbarea ordinii liniilor şi coloanelor sale devine inferior triunghiulară. Algoritm pentru a determina dacă o matrice este triunghiulară. Pas 1. Se găseşte linia care are un singur element nenul. Pas 2. Se formează o submatrice din matricea dată prin tăierea liniei şi

Dacă această procedură poate fi continuată până când toate liniile au fost eliminate, atunci matricea este triunghiulară. Ea poate fi pusă sub forma inferior triunghiulară prin aranjarea liniilor şi coloanelor în ordinea în care au fost determinate prin procedura de mai sus. Exemplu. Folosind algoritmul de mai sus, să stabilim dacă matricea

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

10100010011100000100

B

Page 105: mao

Modele şi algoritmi de optimizare

104

Notăm în partea stângă a matricei B ordinea în care au fost găsite liniile cu un singur element nenul, iar sub matricea B, ordinea coloanelor corespunzătoare elementului nenul.

2315424315

1010001001110000010000011

⎟⎟⎟

⎜⎜⎜⎜⎜⎜

=B

Permutăm liniile în ordinea dată de coloana din dreapta matricei B şi obţinem matricea

⎟⎟⎟⎞

⎜⎜⎜⎛

= 110001010000100

B .

⎟⎟

⎟⎟⎟

⎠⎝oanele în matricea B

⎜⎜⎜

0001101001

1

Permutăm col sub matricea B ţinem matricea

⎜⎜

= 00110

00001

2B

care es fel matricea iniţială este triunghiulară.

Această proprietate a matricelor este importantă ş ţii în rezolvarea

din prim ţia ş.a.m .

estricţii din problema de transport:

1 în ordinea dată de linia deşi ob

⎟⎟⎟⎟⎟⎟

⎜⎜

00011

⎠⎜⎜

⎝ 1100001100

te inferior triunghiulară şi ast

i are aplicasistemelor de ecuaţii liniare prin metoda substituţiei (eliminării) a lui Gauss. Sistemul de ecuaţii Ax=b , cu A inferior triunghiulară permite determinarea lui x1

a ecuaţie, apoi x2 din cea de-a doua ecua .d

Teorema 5.3. Orice bază a problemei de transport este triunghiulară. Demonstraţie. Considerăm sistemul de r

( )

⎪⎪⎨

= nj ,1

⎪⎪

=

−=

∑=

=

bx

a

j

m

iij

ij

ij 1

1

1

uaţii şi aformat cuaţiile de mai sus, se elim ează o

⎧=∑ mix

n

,1

Schimbăm semnul la primele m ec tunci matricea coeficienţilor este ă numai din 1− , 0, +1. Din Teorema 5.1, ştergând oricare dintre e

ină redundanţa. Din matricea coeficienţilor care rezultă se form

Page 106: mao

5. Problema de transport 105

coloană ţine cel mult doaltul egal cu Totuşi, nte nenule, atunci suma lor ar fi

trebuie elemen i e o linie cu l, lte elem ărul total al elementelor nenule ar fi cel puţin 2(m+n−1). Deducem că ul 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. Se continuă raţionamentul,

ar

Deoarece orice matrice bază în problema de transport este triunghiulară şi toate lementele nenu ului de ecuaţii

liniare Bx=b c numere întregi, luţia va fi formată din numere întregi. Acest lucru poate fi dat ca un corolar la

eorema 5.3.

or

nd seama de rezultatele de şi poartă numele de

algoritmul de transport (datorat lui Kantorovich).

ociaţi c ţiilor îu∈R , v ăvn=0 . D B gă

. nou la

stemul iniţial de restricţii. Dacă x este necunoscută de bază, atunci coloana

În general, ecuaţiile multiplicatorilor simplex sunt

bază nesingulară, B, prin selectarea unei mulţimi de m+n−1 coloane. Fiecare a matricei B con uă elemente nenule, unul egal cu +1 şi

1− . Astfel există cel mult 2(m+n−1) elemente nenule în bază. dacă orice coloană ar conţine două eleme

zero şi s-ar contrazice nesingularitatea lui B . Astfel, cel puţin o coloană a lui B să conţină numai un element nenul. Aceasta înseamnă că numărul total de te nenule din B este ma mic decât 2(m+n−1) . Rezultă că trebuie să fi numai un element nenu altfel, dacă orice linie ar avea două sau mai mu

ente nenule, num prim

stabilind că B este triunghiul ă. e le sunt egale cu 1, rezultă că, prin rezolvarea sistem

u metoda substituţiei, dacă toate datele iniţiale sunt soT

olar 5.1. Dacă sumele liniilor şi coloanelor unei probleme de transport sunt Cîntregi, atunci variabilele de bază în orice soluţie de bază sunt întregi. Metoda simplex aplicată problemei de transport, ţinâmai sus, este o versiune a algoritmului simplex revizuit

Multiplicatorii simplex as u ecuaţiile restric i notăm cu λ=(u,v) , m n∈R . Deoarece o restricţie este redundant , vom considera de exemplu că

ată o bază , multiplicatorii simplex se sesc ca soluţii ale sistemului B

Ca să-i determinăm în mod explicit din această ecuaţie, ne referim din cBλ ′=′

si ijcorespunzătoare din A va fi inclusă în B. Această coloană are exact două elemenete nenule egale cu +1: unul în pozitia i din partea superioară şi altul în poziţia j din partea inferioară. Această coloană generează pentru multiplicatorii simplex ecuaţia

ui+vj=cij , deoarece ui şi vj sunt componentele corespunzătoare ale vectorului multiplicatorilor simplex.

ui+vj=cij (∀)i, j pentru care xij sunt bazice. Matricea coeficienţilor acestui sistem este transpusa matricei bazei, aşadar este triunghiulară şi sistemul poate fi rezolvat prin metoda substituţiei.

Page 107: mao

Modele şi algoritmi de optimizare

106

Corolar 5.2. Dacă toate costurile unitare din problema de transport sunt întregi, atunci, dând o valoare întreagă la un multiplicator oarecare, multiplicatorii

mplex asociaţi cu orice bază sunt întregi.

Dacă multiplicatorii simplex coeficienţii costurilor relative entru variabilele nebazice pot fi calculaţi cu relaţiile

si

sunt cunoscuţi,p

SS cλSα ′−=′ . În acest caz coeficienţii costurilor relative sunt

( ) ( ) njmicvu ijjiij ,1,,1, =∀=∀−+=α .

Pentru variabilele bazice 0=ijα . 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 ă 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ă atu sc barea în celelalte variabile de bază este dat , unde B este baza curentă. Din nou avem de-a face cu o problemă de rez are a unu istem b ă triunghiulară n nou soluţia are proprietăţi special

Fie B o bază extrasă din A (după ignorarea unei linii) şi fie d o

i By=d. Atunci, y este reprezentarea lui d baza B . Acest sistem de ecuaţii poate fi rezolvat cu regula lui Cramer

ă se menţin

este d , nci himă de dB 1−−

vol i s cu az şi die.

Teorema 5.4.coloană a lui A care nu este inclusă în B. Atunci, componentele vectorului

dBy 1−= sunt fie 1− , 0 sau +1. Demonstraţie. Fie y soluţia sistemuluîn

BB

detdet k

ky = ,

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 detB =+1 , 0 sau . 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, 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ă.

k 1−

1−

Page 108: mao

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

distribuire a fluxului mărfii în sistemul de transport. După ce succesiunea de ă, se obţine o nouă soluţie admisibilă

aloarea 0. Se examinează variabilele cărora l rilor acestor variabil loare se adaugă celulelo zultatul va fi o nouă s

5.2. Enunţul algoritmului de transport Pe baza rezultatelor de i sus, se poate enunţ lgoritmul de transport sub următoarea form Pas 0. Se determină o soluţie de bază admi ă

dB 1−−

replusuri, minusuri şi zerouri a fost determinatprin modificarea nivelului variabilelor cu +θ, −θ, sau 0. θ trebuie determinat asfel încât vechea variabilă de bază să ia v

i s-a atribuit semnul minus pentru a determina minimul valoe, iar valoarea găsită va fi atribuită lui θ. Această var care au semnul plus şi se scade din cele cu semnul minus. Reoluţie admisibilă.

ma a aă.

ijxsibil , 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ă sistem ţii ul de ecua( ) B∈∀=+ ),( , jicvu ijji .

Se obţine o soluţie particular ă pentru această ă luând vn=0 şi se calculeazde cost redus, soluţie coeficienţii

iij u ( ) S∈∀ ),( jiv ijj c ,+=α − , S fiind mulţimea celulelor corespunzătoare coloanelor matricei A care nu se află în Dacă

B (celule secundare). 0≤ijα pentru ( ) S∈∀ ),( ji , atunci soluţia de bază ijx este

optimă. Stop! Altfel, se determin S∈),( ksă , luând drept criteriu de intrare în bază

( ) ( ) , max S∈∀= jiijsk αα . Pas 2. Se determină ciclul format de S∈),( ks cu o parte din celulele lui B şi

se numerotează celulele alegând un sens de parcurgere a ciclului.

Page 109: mao

Modele şi algoritmi de optimizare

108

Se determină celula B∈),( tr care va ieşi din bază , luând drept criteriu

de ieşire din bază min ijrt xx = , 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 a

cu coloana ask . Se determină soluţia de bază admisibilă rt

ijx~

corespunzătoare bazei B~ , folosind pentru schimbarea bazei formulele: ( )( )( )⎪

⎪⎨ +=~ xxx

rtij⎧ −

cicludin parte facenu daccicluîn impar rang de este dac

cicluîn par rang de este dac

i,jxi,ji,jxx

ij

rtijij

ããã

Se înlocuieşte B cu B~ , ijx ijx~ cu şi se trece la Pas 1.

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 ,min

11 kl

nkmlij bax

≤≤≤≤

= .

b) Se înlocuiesc ai şi bj cu iji xa − şi respectiv cu ijj xb − şi se suprimă linia

i , dacă ijx = ai , sau coloana j , dacă ijx =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.

ş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

i,j) situată în prima linie şi prima coloană) şi metoda

Satisfăcând

(se selectează celula (

Page 110: mao

5. Problema de transport 109 costului minim a lui H. S. Houthakker (se selectează la fiecare pas celula (i,j) corespunzătoare costului m cij ).

enea amplasate în diferite locuri. Prin contract, prima staţie de betoane asigură 10 m3 , a doua 15 m3 , iar a treia 25 m3 . Necesarul de 5 m3 pentru primul, 10 m3 pentru al 20 ş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

B1 B2 B3 B4 Disponibil ( ai )

inim

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 asem

zilnic de mortar pentru fiecare bloc este doilea, m3 pentru al treilea

S1 8 3 5 2 10 S2 4 1 6 7 15 S3 1 9 4 3 25

Necesar (bj) 5 10 20 15 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

Rezolvare a) Modelarea problemei

cheltuielile de transport să fie minime.

⎪⎪⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪⎪⎪

≤≤1, ≤≤==++=++=++

=+++=+++

=+++

→→→→→→→

∑∑= =

41, 0

20105

2515

10

minsimplex

toriimultiplica

34

33

322212

312111

34333231

24232221

14131211

3

1

4

1

3

2

1

3

2

1

j i x

xxxxxxxxx

xxxxxxxxxxxx

xc

vvvvuuu

ij

i jijij

++ 2414

2313

xxx3154

Page 111: mao

Modele şi algoritmi de optimizare

110

Matricea restricţiilor

⎟⎟

⎟⎟

⎜⎜⎜⎜⎜

⎜⎜

=

1000100010000000100

001000100010000100010001

0000111000000000001111

A

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

betoane B1 B2 B3 B4 Disponibil( ai )

⎟⎟

⎜⎜ 111100000000

10

⎟⎟⎟

01001

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

S1 5 5 10 5 S2 5 10 15 10 S3 10 15 25 15

Necesar (bj) 5 10 5 20 10 15

Mulţimea celulelor de bază este următoarea B= ( ) ( ) ( ) ( ) ( ) ( ) 4,3 ,3,3 ,3,2 ,2,2 ,2,1 ,1,1 .

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

8 3 5 2 5 5

4 1 5

6 10

7

1 9 4 10

3 15

În Tabelul 5.3 celulele cu diagonală sunt celulele de bază. Matricea bazei corespunzătoare este

x11 x12 x22 x23 x33 x34

Page 112: mao

5. Problema de transport 111

c) Algoritmul de transport Iteraţia I Pas 1. Începem algoritmul cu solu ă obţinută în etapa precedentă. Se consideră v =0 şi se rezolvă sistemu

⎟⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜⎜

=

011000000110000001110000001100000011

B

ţia de bazl 4

BT cBλcBλ B

1)( −=⇒′=′ , unde Bc′ =(8 3 1 6 4 3)’ ,

rezultând ( ) ( )′−=′=′ 141357321321 vvvuuuλ . Obţinem pentru celulele nebazice coeficienţii de cost redus, ijjiij cvu −+=α ,

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; α =u +v −c31=3+1−1=3; α32=u3+v2−c32=3−4−9=−10. Cum nu toţi α ( ) S

( ) S∈∀ ),( ji

31 3 1

ij 0≤ , ∈∀ ),( ji , continuăm cu determinarea celulei care intră în bază ( ) 5 max 140

==∈=≥

αααα

Si,jijskij

.

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

)

( ) ( ′−−−=′−=−= −− 11111000000111 BdBy ( ) ( ) ( ) ( ) ( ) ( ) ( ) 4,1 , 3,4 , 3,3 , 3,2 , 2,2 , 2,1 , 4,11 =C .

Se determină celula care iese din baza B cu criteriul 1

( ) ( ) ( ) ( ) 5min 124,3 , 3,2 , 2,1 ,0

===∈

xxx ijjiji o

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

~B cu celulele: ( ) ( ) ( ) ( ) ( ) ( ) 433332224111

~1 , , , , , , , , , , ,=B .

Se calculează ( )( )( )⎪

⎪⎨

∉++

−−=

1

1

1

celula dacsemnul, ciclulîn impar rang de este celula dac

semnul, ciclulîn par rang de este celula dac~

CC

C

i,jxi,jxxi,jxx

x

ij

rtij

rtij

ij

ããã

şi se trec în Tabelul 5.4

Page 113: mao

Modele şi algoritmi de optimizare

112

Tabelul 5.4 8

5+0 3

5−5 5 2

5 4 1

5+5 6

10−5 7

1 9 4 10+5

3 15−5

Valoarea funcţiei obiectiv f=5⋅8+5⋅2+10⋅ 5⋅6+15⋅4+10⋅3=180 . Iteraţia a II−a Pas 1. Considerând din nou

~1

1+

v4=0 se rezolvă sistemul

1~

11 )~

1(~

BT cBλ −=⇒ , unde

1~Bc′ =(8 2 1BcBλ ′=′ 6 4 3)’

)( ) ( ′−=′=′ 14631321 vuuuλ , şi obţinem pentru celulele nebazice coeficienţii de cost redus, α12=u1+v2−c12=2−4−3=−5; α13=u1+ =2+1−5=−2; α21=u2 v1−c21=5+6−4=7 α v4−c24=5−7=−2; α =u +v −c =3+6−1=8; u3+v2− 32=3−4−9=−Deoarece nu toţi αij ( ) ,(

232 vv 5

v3−c13 +24=u2+ cα32= 10. 31 3 1 31

0≤ , 1) S∈∀ ji uăm cu determinarea celulei care int bază

, contin ( ) ră în 8 31 =∈αα i,jijsk .

Intră în bază celula (3,1) . Vectorul corespunzător este =(0 0 1 1 0 0)’ . P e determin clul iniţiat de celula (3,1)

x14 x22 23 x33 x34

)−=

max0

=≥α ij

1 = αS

1′d das 2. S ă ci

x x11

( ) ( ′−′−=−= − 10001001001111 BBy −1d 11

( ) ( ) ( ) ( ) ( ) 1,3 , 4, 4,1 ,1,11,32 ,3 , =C .

Se determină celula care iese din baza 1 ~B cu criteriul

( ) ( ) ( ) 5min 11 4,3,1,1 ,00

===∈

xxx ijjiji

(min pă toate celulele de ordin par din ciclul C2) . Pas iese din bază celula (1,1) şi se obţine baza

imul s-a luat du3. Acum 2

~B cu celulele:

( ) ( ) ( ) ( ) ( ) ( ) 433332221,13 4~

2 , , , , , , , , , = . Se calculează

,B

( )( )( )∉

2

2

celula ac ulim e celula ac

lîpar ges dacC

C

i,ji,j

jxrt

ããã

ş c înTabelul 5

8 5+5

⎪⎩ dxij

⎪⎧ −xij

⎨ += d~ xxx rtijij

2Cciclîn parrang de ste

ciclu nran de te celula i,

i se tre Tabelul 5.5. .5

5−5 3 5 2

4 1 6 7

Page 114: mao

5. Problema de transport 113

0 5 11

5 9 4

15 −5 3

10 Valoarea funcţiei obiectiv f=10⋅2+ 1+5⋅6+5⋅1+15⋅4+5⋅3=140 . Iteraţia a III−a P in n ăm sistemu

~22

10⋅

as 1. D ou luăm v4=0 şi rezolv l

211

1)~~(~

BTBλBλ =⇒=′ , un 2 de ~Bc′ =(1Bc′ c− 1 6 4 3)’

1

( ) ( )− ′−=′=′ 231321 vvvuuuλ , ş m pentru celulele nebazice coeficienţii de cost redus, α11=u1+v1−c11=2−2 −8; α12=u1+v 12=2−4− =u3+v 1−5=

v1−c21=5−2 −1; α =u +v 24=5−7= 3+v2 =−10. Deoarece αij ( ) ),( S

352 142

i obţine2−c 1−c31=2+−8= 3=−5; α31 −2;

α21=u2+ 4−c −2; α32=u −c32=3−4−9−4= 24 2

0≤ , 2∈∀ ji ţia x22 x31=5 , x33 x34=5 este optimă, dă pentru funcţia obiectiv valoarea ul se opreşte. Rezolvăm aceast grame Management Scientist. După lans ulul Transportation din fereastra prezentat se selecteză din submeniul File, New – pentru cre obleme de transport, se introduc num şi număr c co o transport ca în Figura 5.1.

x14=10 , =10 , x23=5 ,f=140 şi algoritm

, solu=15 ,

ă p roarea pachetului de programe alegem mod

roblemă şi cu ajutorul pachetului de p

ă în Figura 2.4. Din fereastra care apare area unei noi pr

ărul de depozite ul de entre de nsum, ap i costurile unitare de

Figura 5.1

Pentru rezolvarea probleme in sub ă Solve, se alege din fereastra Select Optimization Criteria, Maximization Objective . Se afişează fereastra cu rezultatele prob ultatele obţinute, aşa cum se văd în Figura 5.2, coincid cu cele obţinute aplicâ ritmul de transport.

i, d meniul Solution se selecteaz

lemei. Reznd algo

Page 115: mao

Modele şi algoritmi de optimizare

114

Figura 5.2

Să rezolvă roblemă utilizând Solver-ul din Excel. Pentru aceasta creăm foaia de calcul cu datele de intrare ca în Figur , efectu d paşii descrişi în continuare

m aceeaşi pă 5.3 ân

.

Figura 5.3

În celula D3 introducem funcţia de optimiz D3 = 1 C8 14+ at C7*B 3+ *B

Page 116: mao

5. Problema de transport 115

C9*B15+D7*D13+D8*D14+D9 5+ 7* +E8* E *F1 7*H 8*H14+F9*H15. Celulele cu necunoscutele problemei sunt B13− , D 15, F1 i H13−H elulele B1 B24 con restr p ble cu com −A24, apoi se adaugă condixe elula B nţine =B1 D1 F1 H13, d v re c unt troduse 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 Name Original Value

Final Value

*D1 E F13 F14+ 9 5+F 13+FB15 13−D

3−F15 ş 15. C 8− ţin icţiile ro mei conformentariile din celulele A18

mplu, cţiile de nenegativitate. De

avânein

18 co 3+ 3+ 3+ în ede um s

$C$3 Functia de optimizat 140 140

Adjustable Cells

Cell Name Original Value

Final Value

$B$15 Solutia problemei 0 0 $C$15 B2 0 0

$D$15 B3 0 0

$E$15 B4 10 10 $B$16 Solutia problemei 0 0 $C$16 B2 10 10

$D$16 B3 5 5 $E$16 B4 0 0 $B$17 Solutia problemei 5 5

$C$17 B2 0 0

$D$17 B3 15 15

$E$17 B4 5 5

Constraints

Cell Name Cell Value Formula Status Slack

$B$23 Restrictiile problemei 10 $B$23=$F$7 Not Binding 0 $B$24 Restrictiile problemei 15 $B$24=$F$8 Not Binding 0

$B$25 Restrictiile problemei 25 $B$25=$F$9 Not Binding 0

$B$26 Restrictiile problemei 5 $B$26=$B$10 Not Binding 0

$B$27 Restrictiile problemei 10 $B$27=$C$10 Not Binding 0

$B$28 Restrictiile problemei 20 $B$28=$D$10 Not Binding 0

Page 117: mao

Modele şi algoritmi de optimizare

116

$B$29 Restrictiile problemei 15 $B$29=$E$10 Not Binding 0

$B$15 Solutia pr Binding 0 oblemei 0 $B$15>=0

$C$15 B2 0 $C$15>=0 Binding 0

$D$15 B3 0 $D$15>=0 Binding 0 $E$15 B4 10 $E$15>=0 Not Binding 10

$B$16 Solutia problemei 0 $B$16>=0 Binding 0

$C$16 B2 10 $C$16>=0 Not Binding 10

$D$16 B3 5 $D$16>=0 Not Binding 5

$E$16 B4 0 $E$16>=0 Binding 0

$B$17 Solutia problemei 5 $B$17>=0 Not Binding 5 $C$17 B2 0 $C$17>=0 Binding 0

$D$17 B3 15 $D$17>=0 Not Binding 15

$E$17 B4 5 $E$17>=0 Not Binding 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 Final Reduced Objective Allowable Allowable

Cell Name Value Cost Coefficient Increase Decrease

$B$13 x11= Solutia

problemei 0 8 8 1E+30 8

$B$14 x21= Solutia

problemei 0 1.00 4.00 1E+30 1.00

$B$15 x31= Solutia

problemei 5 0 1 1.00 1E+30 $D$13 x12= B2 0 5 3 1E+30 5 $D$14 x22= B2 10 0 1 5 1E+30 $D$15 x32= B2 0 10 9 1E+30 10 $F$13 x13= B4 0 2 5 1E+30 2 $F$14 x23= B4 5 0 6 1.00 5 $F$15 x33= B4 15 0 4 2 1.00 $H$13 X14= 10 0 2 2 1E+30 $H$14 X24= 1E+30 2 0 2 7 $H$15 X34= 2 2 5 0 3

Constraints

Final Shadow Constraint Allowable Allowable Cell Name Value Price R.H. Side Increase Decrease

$B$18

x11+x12+x13+x14= Restrictiile problemei 1 10 5 0 0 −3

Page 118: mao

5. Problema de transport 117

$B$19

x21+x22+x23+x24= Restricproblemei 15 0 1E+30

tiile 0 15

$B$20

x31+x32+x33+x3Restrictiile problemei 25 25 5 0

4=

−2

$B$21

x11+x21+x3Restrictiile problemei 5 3 5 0 5

1=

$B$22 rictiile

problemei 10 1 10 0 10

x12+x22+x32= Rest

$B$23

x13+x23+x33= Restrictiile problemei 20 6 20 0 5

$B$24 Restrictiile problemei 15 5 15 0 5

x14+x24+x34=

Tabelul 5.8

M oso xcel 10.0 Limheet: [Problema d rt.xls]Limits Report 1 Re C 7/11/2002 8:23:41 AM

rget

icr ft E its Report Works e transpo

port reated:

TaCell Name Value

$D$3 Functia de optimizat 140 Adjustable Lower Target Upper Target

Cell Name Value Limit Result Limit Result

0 $B$13 x11= Solutia

problemei 0 0 140 0 14

$B$14 x21= Solutia

problemei 0 0 140 0 140

$B$15 problemei 5 5 140 5 140 x31= Solutia

$D$13 x12= B2 0 0 140 0 140 $D$14 x22= B2 10 10 140 10 140 $D$15 x32= B2 0 0 140 0 140 $F$13 x13= B4 0 0 140 0 140 $F$14 x23= B4 5 5 140 5 140

Page 119: mao

Modele şi algoritmi de optimizare

118

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

Page 120: mao

5. Problema de transport 119

5.5. Problema atribuirii sarcinilor

Să se determ ă: • 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 .

Trebuie să determinăm xij ,

ine atribuirea optimă a n sarcini la n specialişti ştiind c

Atribuirea este optimă dacă profitul obţinut este maxim (Luenberger, 1989). njni ,1,,1 == astfel încât

⎪⎪⎪⎪

⎪⎪⎪⎪ ∑∑

= =

xcj

ijijmax1 11

==≥

==

==

=

=

ninix

njx

nix

ij

n

jij

n

jij

n n

,1,,1,0

,1,1

,1,1

1

1 (5.1)

Î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

Page 121: mao

Modele şi algoritmi de optimizare

120

Costuri (u.m.) Ofertă Staţie Rampă

S1 S2 S3 (tone) R1 7 2 5 17 R2 3 6 3 21 R3 4 5 6 23

Necesar (tone) 19 28 14

Să se precizeze planul de transport care să conducă la costul minim de transport şi cât este acest cost.

R. Transportând de la R1 pentru S2 17 tone, de la R2 pentru S1 7 tone şi pentru S3 14 tone, de la R3 pentru S1 12 tone şi pentru S2 11 tone, se obţine costul minim Cmin=200 u.m. 2. O firmă textilă are două fabrici, doi furnizori de materii prime şi trei centre de desfacere. Costurile de transport pentru o tonă de încărcătură între furnizor şi fabrici şi între fabrici şi centrele de desfacere sunt date în Tabelul 5.10 .

Sunt disponibile 10 tone de la furnizorul 1 şi 15 tone de la furnizorul 2. Cele trei centre de desfacere necesită 8, 14 respectiv 3 tone de produse finite. Cele două fabrici au capacitate de producţie nelimitată. 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. b) Dacă fabrica A are o capacitate de producţie de 8 tone şi fabrica B de 7 tone, să se descompună problema în două probleme de transport şi să se rezolve. 3. O firmă are nevoie să angajeze în trei posturi vacante trei persoane cu calificări diferite. Pentru aceste posturi sunt trei pretendenţi, fiecare putând ocupa oricare loc vacant cu acelaşi salariu, dar datorită deosebirii de aptitudini, studii şi experienţă, utilitatea fiecărui candidat pentru firmă depinde de postul pe care este angajat. Veniturile anuale ale firmei de a fiecărui candidat, angajat pe unul din cele trei posturi vacante, sunt trecute în Tabelul 5.11.

Fabrică

Furnizor A B

Centru de desfacere 1 2 3

Tabelul 5.10

Fabrică 1 1 4 2 1 1.5 A 2 2 1.5 B 3 4 2

pe urm

Page 122: mao

5. Problema de transport 121

Funcţie Candidat

1 2 3

Tabelul 5.11

1 5 4 7 2 6 7 3 3 8 11 2

Să se decidă cea mai bună repartizare pe funcţii a candidaţilor, astfel încât âştigurile firmei să fie maxime.

R. Repartizând candidatu ul 2 pentru funcţia 1 şi andidatul 3 pentru funcţia 2, firma obţine un câştig maxim de 24 .

4. Un centru de proiectare are de realizat trei contracte pentru trei beneficiari (câte unul pentru fiecare beneficiar în parte) şi timpii necesari realizării acestor proiecte (în săptămâni) pentru cele trei echipe de proiectare sunt trecuţi în Tabelul 5.12.

Tabelul 5.12

Client

c

l 1 pentru funcţia 3, candidatc

Echipa de proiectare A B C

1 10 15 9 2 9 18 5 3 6 14 3

Dacă fiecărei echipe i se atribuie un singur proiect, 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. Echipei 1 i se va repartiza proiectul 2, echipei 2 i se va repartiza proiectul 3, echipei 3 i se va repartiza proiectul 1, iar timpul minim necesar realizării celor trei proiecte este de 26 săptămâni. 5. O firmă care organizează mese festive trebuie să servească în fiecare seară câte un banchet, timp de 4 zile. Pentru fiecare zi i sunt necesare ri feţe de mese curate, r1=100 , r2=130 , r3=150 , r4=140 . Feţele de mese murdare se trimit la curăţătorie, care le poate spăla rapid (de pe o zi pe alta) cu un preţ c1=6 u.m., sau normal (la două zile), cu un preţ c2=4 u.m. Firma poate şi să cumpere feţe de mese la un preţ c0=12 . Stocul iniţial de feţe de mese este s=200. Să se determine costul minim pentru a asigura feţe de mese curate în fiecare seară.

Page 123: mao

6. PROGRAMARE PĂTRATICĂ

e conduc la programare pătratică

optimă a re

la dispoziţie m resurse

6.1. Exemple de probleme car

6.1.1. Utilizarea surselor Considerăm, ca şi în cazul programării liniare, că avemîn cantităţile bi , mi ,1= . Cu ajutorul acestor resurse se pot desfăşura n activităţi de producţie ş ni să notăm cu xj , j = fiecărei activităţ,1 , nivelul i j. Fie aij

ucerea unei unităţi din produsul j, ci preţul de desfacere şi di costul de

de lucru astfel încât profitul obţinut să fie maxim. Pentru a obţine profitul maxim trebuie ca toată producţia realizată să se vândă la preţurile c , ceea ce este greu de acceptat. Este natural să

o dată cu creştpreţului de vânzare yj , astfel:

⋅ xj ( αj≥0 , βj Dependenţ ului yj de nivelu j

a realităţii, dar mai realisse obţine următorul model (Maliţa şi Zidăroiu, 1971):

cantitatea din resursa i necesară pentru prod producţie.

Se pune problema determinării unui program

j presupunem că volumul de producţie xj care se vinde descreşte erea

yj=βj−αj ≥0 ). (6.1) a liniară a preţ l de producţie x vândut este de

asemenea o simplificare tă decât faptul că preţurile jy nu depind de xj . Astfel

( )

⎪⎪⎪

⎪⎪⎪

=≥

≤≤≤⋅

=⎥⎦

⎤⎢⎣

⎡⋅+−+⋅−

∑∑

=

==

,n jx

mi bxa

xfxdx

j

i

m

jjij

n

jjjj

n

jjj

10

1

)(max

1

11

2 βα

(6.2)

uncţia obiectiv a acestui model este o formă pătratică. Modelul (6.2) poate fi stul unitar de produc i poate depinde de nivelul de

producţie xj , astfel cu

Fextins în sensul că şi co ţie d

jjjj xdd ⋅−=′ γ 0≥jγ , iar preţul unitar de vânzare yj ai multe produse

.

depinde de volumul de producţie constituit din m

∑=

⋅−=n

kkjkjj xy

1αβ

Page 124: mao

6. Programare pătratică 123

6.1.2. Problema investiţiei

Să presupunem că există mai multe domenii în care se pot face investiţii, anume D1, ..., Dn . Presupunem că investind suma xj în domeniul Dj se obţine un venit cj(xj) care depinde liniar de suma investită xj

jjjj xc ⋅+= βα . Să notăm cu f venitul total adus de planul de investiţii adoptat

şi astfel se obţine modelul

( )∑=

⋅⋅+=n

jjjjj xxxf

1)( βα

( )

⎪⎪⎪

⎪⎪⎪

=≥

≤≤≤⋅

=⎥⎦

⎤⎢⎣

⎡⋅⋅+

=

=

,n jx

mi bxa

xfxx

j

i

m

jjij

n

jjjjj

10

1

)(max

1

1βα

(6.3)

Am obţinut din nou o problemă de optimizare în care funcţia obiectiv este o formă pătratică, iar restricţiile sunt liniare.

6.1.3. Regresii liniare

Presupunem că avem o mărime y care depinde liniar de variabilele x1, ..., xn , astfel

y=a1⋅ x1+ ...+ an⋅ xn. Se pune problema estimării parametrilor a1, ..., an , presupunând cunoscute k observaţii asupra lui y şi xi ,

mi ,1= ,kjxx j

mj 1 , ,...,1 =

în sensul minimizării sumei pătratelor abaterilor eventual

ponderat cu nişte factori b >0

.

Asupra parametrilor a , ..., an se impun condiţii suplimentare, de tipul

sau .

⎟⎟⎠

⎞⎜⎜⎝

⎛⋅− ∑ j

iij xay

j2

1 1min ∑ ∑

= =⎟⎟⎠

⎞⎜⎜⎝

⎛⋅−⋅

m

j

n

i

jiijj xayb

1

+− ≤≤ iii aaa ∑=

≤≤≤⋅n

iriri prca

11 α

Page 125: mao

Modele şi algoritmi de optimizare

124

Se obţine din nou o problemă de programare cu funcţia obiectiv o formă pătratică şi cu restricţii liniare

.

Mai înainte de a trece la rezolvarea problemei de programare pătratică să amintim câteva noţiuni referitoare la formele pătratice.

6.2. Definiţii. Proprietăţi Fie f o funcţie de gradul al doilea în x , ..., x

nde: x=(x1, ..., xn)’ , şi Cij=Cji (în caz contrar, adică dacă Cij≠Cji,

⎪⎪⎩

⎪⎪⎨

≤≤≤≤≤⋅

⎟⎟⎠

⎞⎜⎜⎝

⎛⋅−⋅

+

=

= =

∑ ∑

ii-ir

n

iiri

m

j

n

i

jiijj

aa aprca

xayb

sau 1 ,

min

1

2

1 1

α

1 n

∑∑ ∑= = =

+⋅+⋅⋅=n

i

n

j

n

jjjjiij cxcxxCf

1 1 10)(x

)(, RnnM∈C u

definim ( )jiijij CCd +=2

şi atunci ∑∑∑∑= == =

⋅⋅=⋅⋅i j

jiiji j

jiij xxdxxC1 11 1

şi

d

1 nn n n

ij=dji ) , iar ( )ncc ,...,1=′c .

Fie xxCx ′=⋅⋅= ∑∑= =

ă funcţia Q(x) se poate pune sub formă de sumă algebrică de pătrate de

Gauss). Dacă notăm cu n şi cu n numărul pătratelor care au coeficienţii pozitivi şi respectiv negativi, atunci avem n+ + n−

≤ n .

itiv definită dac

Definiţia 6.2. Q(x) se numeşte formă pătratică pozitiv semidefinită dacă n+<n şi n−=0 . Definiţia 6.3. Q(x) se numeşte formă pătratică negativ definită dacă n− = n şi n+= 0 . Definiţia 6.4. Q(x) se numeşte formă pătratică negativ semidefinită dacă n−< n şi n+ = 0 .

n−> 0, atunci forma pătratică este nedefinită.

n

i

n

jjiij xxCQ

1 1)( grupul termenilor de gradul al doilea. Se

ştie cexpresii liniare, omogene şi independente (reducerea la forma canonică a formelor pătratice cu metoda lui + −

Definiţia 6.1. Q(x) se numeşte formă pătratică poz ă n+ = n şi n–= 0 .

Dacă n+ > 0 şi

Page 126: mao

6. Programare pătratică 125 Propoziţia 6.1. Dacă Cxxx ′=)(Q este pozitiv semidefinită, atunci Q(x)=0 dacă şi numai dacă Cx=0 . Demonstraţie. Arătăm că Q(x)=0 implică Cx=0 . Fie ( ) ny R∈∀ şi ( ) R∈∀ λ , atunci

. Cum inegalitatea are loc pentru

022)()()( 2 ≥′+′=′+′+′=+′+=+ CxyCyyCxxCxyCyyxyCxyxy λλλλλλQ( ) R∈∀ λ , rezultă că 0=′Cxy . Dar cum

această egalitate are loc pentru orice y , rezultă că Cx=0. Implicaţia inversă este evidentă ! Proprietăţi 1. Dacă Q este pozitiv definită, atunci

det(C)>0 şi Q(x)>0, ( ) 0\nR∈∀ x , iar Q(0)=0 . . Dacă Q este pozitiv semidefinită, atunci

0 şi Q(x)=0, pentru o mulţime de vectori x≠0 . 3. Dacă Q este negativ definită, atunci

det(C)<0 şi Q(x)<0,

2det(C)=

( ) 0\nR∈∀ x , iar Q(0)=0 4. Dacă Q este negativ semidefinită, atunci

det(C)=0 şi Q(x)=0, pentru o mulţime de vectori x≠0 .

ţie n

ii

1

2ξ cu

Demonstra

1. Q fiind pozitiv definită se poate reduce la forma canonică ∑= iQ )( λξ=

nii ,1,0 =>λ . Atunci . Afirmaţia a doua rezultă din

Propoziţia 6.1 , astfel

0)det(1

>= ∏=

n

iiλC

00 =⇒=′= CxCxxx)(Q . Dar, C este nesingulară şi unica soluţie este x=0.

2. Dacă Q este pozitiv semidefinită cu ∑+

=

=n

iiiQ

1

2)( ξλξ +=> nii ,1,0λ ,

nnii ,1, ∏n

oziţia 6.1 rezultă 0 +== +λ . Atunci =i

iλC . Din Prop

. Dar, C este singulară şi soluţia x=0 nu este unică. Analog se demonstre 3 şi 4. Observaţia 6.1. Pentru şi

0)det(1

==

00 =⇒=′= CxCxxx)(Qază afirmaţiile

( ) yxyx ≠∈∀ , , nR ( ) ( )1,0∈∀ λ avem ( )[ ] ( ) ( ) )()(1)(1 2 yxyxyx −⋅−+⋅−+⋅=⋅−+⋅ QQQQ λλλλλλ .

Deci, dacă Q este pozitiv definită avem

( )[ ] ( ) )(1)(1 yxyx QQQ ⋅−+⋅<⋅−+⋅ λλλλ şi dacă Q este pozitiv semidefinită avem

Page 127: mao

Modele şi algoritmi de optimizare

126

( )[ ] ( ) )(1)(1 yxyx QQQ ⋅−+⋅≤⋅−+⋅ λλλλ . Prin urmare, orice formă pătratică pozitiv defin ă este o funcţie strict conveorice formă pătratică pozitiv semidefinită este o funcţie convexă. O problemă de programare pătratică este acea problemă în care trebuie determinat un vector x* care minimizează o formă pătratică convexă sau 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.

Forma generală a problemei de programare pătratică este

it xă şi

⎪⎪ ≥ 0x j

⎪⎪⎪

≤≤

≤≤≤⋅

⋅+⋅⋅=

∑∑ ∑

=

= = =

)semn de restric(1

1

21min)(min

1

1 1 1

nj

mi bxa

xcxxCf

n

jijij

n

i

n

ji

n

iijiijx

sau matriceal

iiþ

⎪⎩ ∈∈∈ )(,)(, RRRR nmn MM Cbx n⎪∈

≥,m A

x 0

(6.4)

unde

⎪⎪⎪

⎨ ≤⎭⎬⎫

⎩⎨⎧ ′+′=

21min)(min xf

bAx

xcCxx

xcCxx ′+′=21)(xf

este convexă. Numim această formă a problemei de programare pătratică forma canonică. În inegalităţile (6.4), valorile bi sunt strict pozitive (dacă ar fi negative,

egalităţile respective se înmulţesc cu –1).

Exemplu. În două variabile o formă pătratică pozitiv definită este paraboloidul eliptic,

in

0,,),( 2

22

2

21

21 ≠+= babx

ax

xxf ,

şi admite un minim unic (Figura 6.1), iar o formă pătratică semidefinită este cilindrul parabolic,

cu concavitatea îndreptată în sus (în acest caz nu avem un punct de extrem unic, ci 0,),( 2

12

21 ≠= axaxxf ,

o dreaptă paralelă cu planul x1Ox2) (Figura 6.2).

Page 128: mao

6. Programare pătratică 127

Figura 6.1 Figura 6.2

6.3. Fundamentarea algoritmului lui Wolfe

În ce rmit trecerea de lde program iniară

cu cele două forme ale sale : scurtă şi lungă. Teorema 3.5 (care dă condiţiile Kuhn-Tucker) pentru această problemformularea următoare.

r).

le ce urmează sunt prezentate teoreme ce pe a problema

are pătratică la o problemă de programare l echivalentă, fiind astfel posibilă utilizarea algoritmului simplex pentru obţinerea soluţiei problemei de programare pătratică. Algoritmul care se obţine este cunoscut sub numele de algoritmul lui Wolfe,

ă are

Teorema 6.1. (Condiţiile Kuhn−Tucke Vectorul ( )**1

* ..., , nxx=x es ţia

problemei de pro

te solu

gramare pătratică (6.4) dac ă există ă şi numai dac( )**

1* ..., , muu=u , ( )**

1* ..., , nvv=v şi ( )**

1* ..., , myy=y astfel încât

⎪⎪⎧

==

≥≥≥≥

≤≤=+

∑∑

==

=

=

00

0 , 0 , 0 , 0

1

11

****1

*

1

**

n

i

*i

*i

n

j

*j

*j

m

ii

n

k

n

jijij

yu , vx

u

mibyxa

yvux

sau matriceal

(6.5)

⎪⎪⎪⎪

⎪⎪⎨

≤≤−=−∑=

1**

1jjij

kjk njcvaxC

Page 129: mao

Modele şi algoritmi de optimizare

128

⎪⎪⎩

≥≥=′=′

=+

0u0x0yu0,vx

byt

** , ,

⎪⎪⎧

≥≥

=

0yv0

-cv-uA-CxAx

** ,

Observaţia 6.2. yi sunt variabilele ecart care apar în Ax+y=b, vi sunt variabilele ecart în C⋅x−ATu−v=−c .

cond şi uiyi= , adică din cele 2⋅m+2⋅n necunoscute care apar în sistemul

ibile de bază ale sistemului (6.5) . Fie problema de programare pătratică

Din iţiile de nenegativitate rezultă că xjvj=0 0 , minj ≤≤≤≤ 1 , 1

(6.5) de m+n ecuaţii, interesează numai soluţiile nenegative, care au cel mult m+n componente nenule, adică soluţiile admis

⎪⎪⎪⎨

≤≤≥=

njx j

jijij

1 01

⎪⎪⎪⎧

≤≤=

+=

∑∑ ∑= = =

mi bxa

xcxxCf

n

n

i

n

ji

n

iiiiij

1

21min)(min

1 1 1x

⎪⎪ ≥⎩

⎪⎨ =

⎭⎪⎧

⎬⎫

⎩⎨⎧ ′+′=

bAx

xcCxxx21min)(min f

(matriceal)

Numim această formă a problemei de programare pătratică forma standard. Teorema 6.2. Problema (6.4’) admite soluţie optimă x* dacă şi numai dacă

astfel încât

0x (6.4’)

( ) mR∈∃ u

( ) ( ) 000 =−+′

≤−+=≥ uACxcxuACxcbAxx t***t*** ;;; . Demonstraţie. Din Teorema 6.1 rezultă că x* este soluţie a problemei (6.4’) dacă şi numai dacă ( ) mR∈∃ *u , astfel încât

, 0≥*x 0=∇ )(u** u,xL , 0≤∇ )(x

** u,xL , ( ) 0=∇′ )(x** u,x*x L .

a problemei (6.4’) dacă şi numai dacă

∈ *u , aCorolar 6.2. x* este soluţie

m( ) nR∈∃ , *v stfel încât ( )*** u,v,x este soluţie pentru sistemul

−. , 0 0uvx

uACx

R

⎪⎩

⎪⎨

≥≥=′=+

=

, 0x-cv

bAxt (6.6)

Demonstraţie. În Teorema 6.2 luăm . 2. Dacă Rn A⋅x=b ; x≥0 ≠φ, unci (6.4’) are optim

infinit dacă şi numai dacă sistemul

uACx--cv t+=Propoziţia 6. R = x∈ at

Page 130: mao

6. Programare pătratică 129

≥≥

=

, 0 , 0 ** ux

bAx*

(6.7)

⎪⎩

⎪⎨ =+− * -cvuACx *t*

este incompatibil. Demonstraţie. Presupunem −∞=)(min xf şi să arătăm că sistemul (6.7) este incompatibil. Fie x∈ R . Prin absurd, presupunem că sistemul (6.7) are soluţia (x*, u*, v*). Deoarece f este convexă avem

( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( ) *****

**t*****

xvAxu-xv-Axu

xxvuAxxcCxxxxxx′

+′′′

=

=−′

−=−′

+=−′

∇≥− )()()( fff x

Dar

şi bAxAx* == ( ) 0≥′ ** xv ,

e unde rezultă că d

( ) xv-xx ** ′≥ )()( ff ,

adică minf(x) nu poate fi - ∞ . Contradicţie! Să arătăm că dacă sistemul (6.7) este incompatibil atunci minf(x)= – ∞. Sistemul fiind incompatibil, rezultă că problema (6.4’) nu are soluţii. Da, cum R≠φ, rezultă că . Să considerăm o partiţie,

−∞=)(min xf

( ) 31 ≤≤iiI , a mulţimii indicilor n,...,2,1 astfel

( ) iIjj

ii xjI

∈== x , i=1,2,3 şi să rescriem vectorii x şi v sub forma

.

blemă de programare liniară

admite soluţie optimă (x*, v*, u*, z*) cu x*1>0 , v*3>0 , atunci există

ncât Demonstraţie. Rearanjând restricţiile, problema (6.8) se poate pune sub forma

⎟⎟⎟

⎜⎜⎜

=3

2

xxx

x

1

, ⎟⎟⎟

⎜⎜⎜

=3

2

vvv

v

1

Lema 6.1. Dacă următoarea pro

⎪⎪⎩

⎪⎪⎨

==≥∈∈=++−

=

000 13,,

min

v,xzv,x,hu,gz,v,x,

-hDzvuACxbAx

zg

mn

t

RR (6.8)

nR∈∗µ

**2*** hzg,CA µµµµ ′=′≥== 000 ,, .astfel î

Page 131: mao

Modele şi algoritmi de optimizare

130

[ ]

⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪

=+⎥⎥⎥

⎢⎢⎢

⎡+−

⎥⎥⎥

⎢⎢⎢

⎟⎟⎟

⎜⎜⎜

=⎥⎥⎥

⎢⎢⎢

0

0

0

0

z,v,v,x,x

hDzvvuAx

x

CCCCCCCCC

bxx

AAA

zg

t

3221

3

22

1

333231

232221

131211

2

1

321

min

(6.9)

blemei (6.9) este problema de programare liniară Duala pro

⎪⎪

⎪⎪

≥≥=≤

≤+++≤+++

′+′

.,0,AgD

CCCACCCA

hb

00

00

32

333

222

1122

331

221

1111

max

µµµµ

µµµλµµµλ

µλ

t

tttt

tttt

(6.10)

Din Teorema fundamentală a dualităţii (§4.13) există o soluţie optimă ( )∗∗ µ,λ pentru problema duală (6.10) astfel încât . Deoarece

, restricţiile corespunzătoare variabilelor sunt verificate cu egalitate de către soluţia optimă a problemei duale (din Teorema ecarturilor complementare, §4.13), adică

(6.11)

Înmulţind prima relaţie (6.11) cu , iar pe cea de-a doua cu şi adu d

*zghb ′=′+′ ∗∗ µλ

0>31 ** v,x 31 v,x

⎪⎪⎩

⎪⎪⎨

=≥=≤++

=++

∗∗∗

∗∗∗

∗∗∗

,,,ACCA

CCA

0000

0

32

222

1122

221

1111

µµµµµλ

µµλttt

ttt

1∗µ 0≥3*µ nân u-le, avem

( ) ( ) ( )′ ′+++ 21111

µµµµλµ CCA ′

∗∗∗∗∗∗ 1111 ttt 2

( ) ( ) ( ) 0≤′

+′

++ ∗∗∗∗∗∗22122 µµµµλµ ttt CCA .

Ţinem seama că 0=∗µA şi atunci putem scrie relaţiile de mai sus sub forma

′ 22122

( ) ( ) 0≤⎟⎟⎠

⎜⎜⎝

⎟⎟⎠

⎜⎜⎝

⎥⎦

⎢⎣ ∗

∗∗2

2212

1211

µµµ

CC.

⎞⎞⎛⎤⎡ ∗121 µCC ⎛′′

Page 132: mao

6. Programare pătratică 131

oDe arece 0=∗3µ , relaţia de mai sus se mai poate scrie ( ) 0≤′ ∗∗ µµ C . Cum C

( ) 0=′ ∗∗ µµ C , iar din Propoziţeste semidefinită, rezultă că pozitiv ia 6.2 avem

şi Ţinem seama de aceste

relaţ

0= . Relaţiile (6.11) devin∗µC 0=∗λt1

A 0≤∗λt2A .

ii în evaluarea produsului λb′ şi avem

( ) ( ) ( ) 0=′

=′

+′

==′ ∗∗∗∗ 22

22

11

**** xAxAxAAxb λλλλλ ,

adică 0=′λb şi ** hzg µ′=′ . Astfel, lema este demonstrată. Propoziţia 6.3. Dacă φ≠R , atunci problema (6.4’) are optim infinit dacă şi numai dacă soluţie a sistemului

⎪⎧

=

0

0

µ

µA

Demonstraţie. Dacă

( ) nR∈∃ ∗µ

⎪⎪⎩

⎪⎨ <′

≤00

µµ

cC

(6.12)

−∞=)(min xf , atunci sistemul (6.7) este incompatibil, adică problema de programare liniară

(6.13)

unde

⎪⎪⎪

⎪⎪⎪

≥≥=++−

=

, 0 , 0

min

ux-cDzvuACx

bAxze

t

( )njiijdD

≤≤=

,1 , , iar

⎪⎩

⎪⎨

>=−≤=

≠=

0,dac10,dac1

dac0

i

iij

cjicji

jid

ããã

( )11 ...,,=′e are optim

nenul. Fie (x*, v*, u *, z*) o soluţie optimă pentru (6.13). Sistemul (6.12) compatibil, aşa cum rezultă din Lema 6.1, în care luăm

este

( ) φ===== 31,...,1,1 II 1,-ch,eg şi ţinând seama că e’z>0. Dacă soluţie a sistemului (6.12) şi ( ) nR∈∃ ∗µ R∈x , atunci pentru ( ) 0≥∀ α , astfel încât avem 0≥+ *µαx ( ) bAAxxA =+=+ ** µµ αα . De aici rezultă că pentru R∈+ *µαx ( ) 0≥∀ α . Calculăm

( ) ( ) ***2** )(2)( µµµµµµ cxcCCxxx ′+=′+′

+′+=+ ∗ ααααα fff

şi pentru că , rezultă că 0* <′µc ( ) −∞⎯⎯ →⎯+ ∞→αα *µxf .

Page 133: mao

Modele şi algoritmi de optimizare

132

6.4. Forma scurtă a algoritmului lui Wolfe

≥=−++−

=

021

21*

, zzv,x,-czzvuACx

bAxt (6.14)

unde , iar , împreună cu următoarea regulă ă: Pentru

Algoritmul lui Wolfe în forma scurtă constă din două etape. În etapa întâi se rezolvă următoarea problemă de programare liniară (Ştefănescu, 1989):

⎧ + 21min zz

⎪⎪⎩

⎪⎪⎨

nR∈21, zzv,x, mR∈usuplimentar

( ) ni ,1=∀ , xi i nu pot fi simultan nenuli (6.15) Teorema 6.3. Prin aplicarea algoritmului simplex problemei (6.14) împreună cu regula suplimentară (6.15) se ajunge la una din situaţiile: a) problema (6.14) nu are soluţii admisibile,

, v

φ=R ; b) se obţine soluţia optimă (x*, v*, u *, z*1, z*2) pentru problema (6.14); c) se obţine o soluţie de bază a problemei (6.14) care nu mai poate fi îmbunătăţită fără încălcarea regulii (6.15). Demonstraţie. Se aplică algoritmul simplex, faza I, problemei (6.14), ţinându-se seama de regula (6.15) . Întrucât nu s-au pus condiţii de semn asupra vectorului u,

vom descompune în u= u 1- u 2 , Semnul pentru se alege acelaşi cu cel al termenului liber . De aceea aceste variabile

elor m ecuaţii. Fie

00 ≥≥ 21 u,u . 2i

1 zz ,iîlastfel încât să fie i

sunt iniţial variabile de bază. Se completează baza cu variabilele artificiale xc

a, adăugate prim mrangr <= )(A şi se consideră că primele r

⎡A

Faza I se aplică problemei

∈∈∈

⎭⎩⎨⎧

mrmr

iix

RRR 2121

2121

,,,,,,

uux,zzv,x,zz,uuv,xx,

a

a 0

(6.16)

unde

,

coloane ale matricei ⎥⎦

⎢⎣C

sunt primii r vectori unitari din R⎤ m+n.

⎪⎪ ~~⎪⎧

⎬⎫amin

⎪⎪⎪

⎨=−+++−

=2121 -czzvuAuACx

bxAtt*

( ) ⎟⎟⎠

⎞⎜⎜⎝

⎛== +

axx

xeeA,A ~,,...~ 1 mr

Page 134: mao

6. Programare pătratică 133 respectând regula (6.15). Baza iniţială este baza canonică din Rm+n , iar soluţia de bază iniţială este

jjjj

c,

ã

oincid, două astfel de variabile nu pot fi simultan în bază ş în această fază fără a se altera rezultatul. De fiecare dată ă are şansa să intre în bază o vom înlocui cu vi , păstrând astfel v=0 în faza I. Teorema 6.4 1. Dacă se realizează a) din Teorema 6.3, atunci problemma (6.4’) nu are soluţii admisibile. 2. Dacă se realizează b) din Teorema 6.3, adică , atunci x* este soluţie optimă a problemei (6.4’). 3. Dacă se realizează b) din Teorema 6.3 şi

⎪⎩ ≥−==⎪⎩ ≤≤=

⎩ ccz zmirbx

mjjjj

iai

. 0da , 0 21 (6.17) ⎪⎨⎧ ≤==⎪

⎧⎨⎧

≤≤+≤≤

= c z -czirib

x ii , 0 dac 0 ,

1r01 21 ã

Deoarece coeficienţii variabilelor iv şi 1iz c

i atunci regula (6.15) se poate aplica când o variabil 1

iz

0==21 ** zz

( ) 0>+′ 21 zze , problema (6.4’) are optim infinit. 4. Dacă se realizează c) din Teorema 6.3 şi dacă , atunci x* este soluţie optimă pentru problema (6.4’). Demonstraţie. Dacă se realizează a) din Teorema 6.3, atunci sistemul

este incompatibil deoarece nu s-au eliminat în faza I toate xa din bază. Dacă se realizează b) şi c) din Teorema 6.3,

ul este compatibil şi astfel rezultă concluziile 2, 3 şi 4 şi demonstraţia se încheie.

1. Variabilele se introduc doar dacă ci>0. 2. La încheierea fazei întâi s-au eliminat toate variabilele artificiale xa . În

faza a doua nu se mai introduc variabilele nebazice. 3. Nu se poate trage o concluzie în situaţia c) din Teorema 6.3, deoarece

ă. Ur rea teoremă stabileşte condiţii suficiente pentru cazul în care se poate aplica algoritmul simplex, completat cu regula suplimentară (6.15), pentru

Teorema 6.5. Pentru ca prin aplicarea algoritmului simplex, modificat cu regula (6.15), problemei (6.14) să se ajungă în una din situaţiile:

a) problema (6.14) nu are soluţii admisibile,

0==21 ** zz

0, ≥= xbAxvariabilele artificiale rezultă că sistem 0, ≥= xbAx

Comentarii

2iz

2*1* , ii zz

regula (6.15) nu face parte din algoritmul simplex. 4. Dacă A are o bază unitară, faza I nu mai este necesar

mătoa

rezolvarea problemei de programare pătratică (6.4’).

φ=R ; b) se obţine soluţia optimă (x*, v*, u *, z*1, z*2) pentru problema (6.14);

Page 135: mao

Modele şi algoritmi de optimizare

134

c) se obţine o soluţie de bază a problemei (6.14) care nu mai poate fi îmbunătăţită fără încălcarea regulii (6.15),

sunt suficiente următoarele condiţii: i) c=0 , ii) C este pozitiv definită, iii) C din problema (6.4) este pozitiv definită.

Demonstraţie. Dacă în urma aplicării fazei I se ajunge fie în cazul b), fie în cazul c), s-a obţinut o soluţie de bază (xb, vb, ub, zb1, zb2) pentru problema (6.14). Faza a II-a a metodei simplex va rezolva următoarea problemă de programare liniară

≥=++−

=

0zv,x,-cDzvuACx

bAxt

i

(6.14’)

unde este o matrice diagonală ale cărei elemente sunt date de relaţiile

altfel0bazic ariabilbazic variabileste dac1 1

ããããã b

iz,

pornind de la soluţia de bază (xb, vb, ub, zb) , u⎧

.altfel0baz de variabilestedacbaz de variabilestedac

22

11

ãããããã

bi

b

bi

b

zzz

Fie

⎪⎪

⎪⎪

⎧ ∑ zimin

( )niiidD

≤≤= 1`

⎪⎩

⎪⎨−= veste dac1 2ã b

iii zd

nde

⎪⎨=b

i zz

0*1 >= iiI x şi 0*

3 >= iiI v , unde (x*, v*, u*, z*) este soluţia finală a

problemei (6.14’), obţinută cu algoritmul simplex modificat cu regula suplimentară (6.15). Atunci (x*, v*, u*, z*) este soluţie optimă şi a problemei

≥==

=++−

⎪⎪⎪

⎪⎪ =

000

zv,x,vx

-cDzvuACx

zi

13 ,

mini

Presupunem că (x*, v*, u*, z*) nu este soluţie optimă a problemei (6.14’) şi atunci, la următorul pas, algoritmul simplex produce o nouă soluţie de bază îmbunătăţită pentru problema (6.14”). Deoarece ,

bAxt (6.14”)

0* =jx 32 IIi ∪∈ , ,

şi cum problema (6.14”) impune condiţiile , este posibil ca în noua soluţie de bază cu valori nenule, cel m

. În acest fel noua soluţie satisface condiţia (6.15) şi este o soluţie mai bună decât (x*, v*, u*, z*). Contradicţie !

0* =jv

21 IIi ∪∈ 00 == 13 , vxult una din variabilele

2,, Iivx ii ∈

Page 136: mao

6. Programare pătratică 135

m 1 luând ( )′În Le a 6. , =′ 11,g şi = – c ob e ex nţ cu proprietăţile Cµ ′= , .

Din i) rezult ă g’z at ci Din ii) şi Cµ rezult şi ’z= ş tu d no z

blema (6.4) poate fi adusă la forma .4” i la formei (6.4’ prin introducerea variabilelor ecart w, astfel

..., h , ţin m iste a vectorului *µ′nR∈µ *** czgAµ = =,0 0

ă c = 0 şi un z= 0 . *= ă că µ*0 g 0 = 0 i a nci in u = 0 .

Pro (6 ), s mi ră ),

⎪⎪

⎪⎪

≥=

⎭⎬⎫

⎩⎨⎧ ′+′

0~~

~m

xbA

xx

unde: , , ⎛ 0

C~ .

Ad u ea v riab lor art a tea că atricea d fu ia obiectiv este pozitiv definită n i este ozi sem ă ş pli d ma 1 p tru

~c~xC~~12

in

x (6.4”)

mn+∈⎟⎟⎠

⎞⎜⎜⎝

⎛= R

wx

x~ ⎟⎟⎠

⎞⎜⎜⎝

⎛=

0c

c~ ⎟⎟⎠

⎜⎜⎝

=00

C ⎞

ă g ra a ile ec nu fec ză faptul m C in ncţ.

Di ii) C~ C~A~ p t iv idefinit i a cân Le 6. en ,

rezu că există ⎜ ∗

∗∗ *µ

µµ

µ ~cu~ ă că Cµ 0 ca ai

sus, µ*=0 şi g şi atunci din nou 0. În toate cele trei situa sol a , v *, z ) are z teo ma este dem stra Observaţ .3 ă a algoritmului lui Wo se atunci când se verifică incluziunea

0=ltă ⎟⎟⎞

w⎠

⎜⎛

=⎝

C . De aici rezult *= şi, m

’z=0 z= *ţii uţi (x *, u * =0 şi re

on tă.

ia 6 a) Forma scurt lfe aplică

0c′0C == µµ nRR (6.18) b) Incluziunea (6.18) are loc dacă ve unul din următoarele cazuri: i) c=0 , ii) C e te p iv in iii) M icea

0=A ∈⊆∈µ µµn ,se rifică

s ozit def ită, atr [ ]tAC , are rangul n ,

iv) Sistemul + t a so , Pro ma tand d (6.4’) p te cri ă

c=uACx re luţiiv) ble s ar oa fi s să sub forma canonic

⎪⎪⎪x⎩

⎭⎬⎫

bxA

cxx*

** )21min

cu C* pozitiv definită.

⎪⎪⎪⎧

⎨ =⎩⎨⎧ ′x+ (′C

0

*

Page 137: mao

Modele şi algoritmi de optimizare

136

Demostraţie i) Incluziunea (6.18) este evidentă deoarece membrul drept coincide cu R n . ii) şi iii) au membrul stâng format numai din vectorul nul şi atunci incluziunea (6.18) este evidentă. iv) c este o combinaţie liniară a liniilor matricei [ ]tAC , şi incluziunea (6.18) este evidentă. v) Demonstraţia este dată în Teorema 6.5 . Comentarii. Faza I rezolvă problema (6.16) pentru eliminarea variabilelor auxiliare xa din bază, luând u=0 , v=0 . Dacă problema (6.4’) are optim, atunci minimul din problema (6.16) este zero şi variabilele au fost înlociute cu . Dacă nu s-au eliminat din bază toate variabilele (caz de degenerare), se înlocuiesc cu

, lucru posibil când

aix ix

aix a

ix

ix mrang =)(A . Dacă mrang <)(A , variabilele rămase în bază se elimină o dată cu liniile şi coloanele corespunzătoare din deoarece restricţiile corespunzătoare sunt consecinţe ale celorlalte. Baza cu care iese din faza I conţine numai una din variabilele , deoarece coloanele corespunzătoare acestor variabile sunt egale şi de semn şadar, din faza I se iese cu o bază formată din m variabile xi (dacă

aix

A, se

1iz 2

iz contrar. A

mrang =)(A ) şi n variabile sau .

Faza a II-a foloseşte programul obţinut în faza I pentru rezolvarea problemei (6.14’), ţinând seama de regula (6.15) care poate fi formulată şi astfel :

dacă una din variabilele xi şi vi este în bază, atunci cealaltă nu poate fi introdusă în bază la iteraţia respectivă.

Se asigură astfel respectarea condiţiei xivi=0. Exemplu. Să se rezolve următoarea problemă de programare pătratică :

1iz 2

iz

xc'Cxx' +=⎭⎬⎫

⎩⎨⎧ ++−+

21min32

21

21min 321

22

21 xxxxx

.

Rezolvare. Vom aplica algoritmul lui Wolfe în forma scurtă.

f(x)=

⎩⎨⎧

≥=+−0 , ,

42

321

321

xxxxxx

xc'Cxx' +21 ; .

Verificăm dacă se poate aplica algoritmul Wolfe, forma scurtă.

rang

( )121 , 132

, 000010001

−=⎟⎟⎟

⎜⎜⎜

⎛−=

⎟⎟⎟

⎜⎜⎜

⎛= AcC

[ ] 1100210

101 deoarece 320 =

⎟⎟−

1

1

00010

001=−

⎜⎜⎜

⎛= rangtAC .

Page 138: mao

6. Programare pătratică 137 Aşadar, se poate aplica algoritmul deoarece incluziunea (6.18) este verificată, fiind îndeplinită condiţia iii) din Com Introducem variabilele artificiale nenegative xa, z1, z2 şi condiţiile Kuhn−Tucker devin:

⎨≥≥≥

−=−+

oarecare , 1

121

uzx

czz

u a a , acestor variabile li se atribuie valori astfel:

dac

sau 0 ; 0 2

2 =≤

jj

jjj

cz

zc

ã

ţia de luăm: x v = 0 , u = xa = b Pentru ca şi asupra lui u s xiste condiţii de nenegativitate, îl desfacem în doi vec negati fel: u = −u2 (u corespunzând restricţiei cu egalitate, nu are resţricii de semn). ceal, r ile K r dev

=+− , , , 212

1

0zzuvxDzuuACx t

⎜⎜⎜

⎛=

0

ponente avem: ⎧

=+−=++−

242

11

321

uvxxxx

Faza I. Se aplică algoritmul simp obleme de programare liniară:

=++−=++

−+−=+−

∑=

. , , ,132

42

ca

2112

2133

21

222

11

111

32

1

n

i

aAi

x, , uuv

uuvzuv

xx

xx

zuv

În această faz 0, . Calculele sunt date în Tabelul 6.1 . Algo im ş c min xa=0.

Tabel l 6.1

entarii.

vea o bază

⎪⎩

⎪⎪ +− uAvCx t

⎧ =+ bxAx a

≥ , , 2 wz 00≥ , v 00 0

Pentr

. 0 ; 0 1 =≥ jz

d

= j

j

c

ac1 −= cz ã

În solu bază =0 , 0, . ă e

tori ne vi ast u1

Matri estricţi uhn−Tucke in:

( )⎪⎩

⎪⎨

≥− ,c unde D+− v

=+ bxAx a

, w , , 1u

2

⎟⎟− 010⎟⎞001

−10

Pe com⎠

x a

⎪⎩ ≥ 0,, 2121 w, z, z, u v, ux⎪⎪ −=−−+− 12

221

3 zuuv

⎪⎨ −=−−−− 322 2

121

22 zuuvx . ⎪⎪ +− 1

121 zu

lex următoarei pr

⎪⎪⎪

⎩x

⎪⎪⎨−

1

x

⎪1

x⎧x

≥ 0a

+ z+ 211 = 2 +2u

+ ax

= 0) ax= min (trebuiemin

23

,

222

zzu

ă u = ritmul s

v = 0, deci nu pot intra în bazplex se opre

ăteu

u

Page 139: mao

Modele şi algoritmi de optimizare

138

0 0 0 0 0 0 0 0 1 0 0 0 CVB VB VVB x xa

1 x2 x3 v1 v2 v3 u1 u2 11z 2

2z 32z

1 xa 0 1 4 1 −2 1° 0 0 0 0 0 0 0 0 2 1 0 0 0 1 0 0 −1 0 0 1 −1 1

1z

0 0 −1 0 0 −2 1 0 0 22z 3 0 1 2 0

0 1 0 0 0 1 1 1 0 1 0 0 0 − 0 32z

−2 1* 0 0 0 0 0 0 0 0 0 4 1 0 x 1 −2 0 0 0 0 0 4 1 0 0 0 3

0 11z 2 1 0 0 −1 0 0 1 −1 1 0 0

0 −1 0 22z 3 0 0 1 0 2 −2 0 1 0

0 32z 1 0 0 0 0 − 1 0 1 1 1 0 0

0 0 0 0 0 0 0 0 0 0 0 0

Tabelul 6 0 0 0 0 0 0 0 0 1 1 1

.2

CVB VB VVB x1 x2 x3 v1 v2 v3 u1 u2 11z 2

2z 32z

0 x 4 1 0 0 0 0 0 −2 1 0 0 0 3

1 11z 2 1 −1 1 −1 1 0 0 0 0 0 0

1 3 0 −1 0 0 1 0 2° −2 0 1 0 22z

1 32z 1 0 0 0 0 0 1 −1 1 0 0 1

6 1 −1 0 −1 1 1 2* −2 0 0 0 0 x 4 1 −2 1 0 0 0 0 0 0 0 0 3

1 1/2 1° 1/2 0 −1 −1/2 0 0 0 1 0 11z

0 u 3/2 0 −1/2 0 0 1/2 0 1 −1 0 0 1

1 5/2 0 −1/2 0 0 1/2 1 0 0 0 1 32z

3 1* −1 0 −1 0 1 0 0 0 0 0 x3 7/2 0 −5/2 1 1 1/2 0 0 0 0 0 x1 1/2 1 1/2 0 −1 −1/2 0 0 0 0 0 u 3/2 0 −1/2 0 0 1/2° 0 1 −1 0 1

1 5/2 0 −1/2 0 0 1/2 1 0 0 1 32z

5/2 0 −1/2 0 0 1/2* 1 0 0 0 0 x3 2 0 −2 1 1 0 0 1 0 0 x1 2 1 0 0 −1 0 0 −1 0 0 v 3 0 −1 0 0 1 0 −2 0 2

1 1 0 0 0 0 0 1 1° 1 32z

1 0 0 0 0 0 1 1* 0 0 x3 1 0 −2 1 1 0 0 0 0 x1 3 1 0 0 −1 0 0 0 0 v2 5 0 −1 0 1 0 0 00 u3 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0

Page 140: mao

6. Programare pătratică 139

I şi renunţând la oare vari , se aplică din nou algoritmul simplex

pentru minimizarea funcţiei

Faza a II-a . Folosind tabelul simplex rezultat din fazacoloana corespunzăt abilei xa

23

22

11min zzz ++ . Calculele sunt prezentate în

elul 6.2 . Faza a II−a se încheie cu eliminarea din bază a vectorilor z şi z2 şi Tab

1

23

22

11min zzz ++ =0.

21 Deci, soluţia este x1=3, x2=0, x3=1, şi f(x1, x2, x3) = − .

Multiplicatorii lui Lagrange sunt: v1=0, v2=5, v3=0; u=u1−u2=0−1= −1 . Vom considera, ca exemplificare a folosirii Solver-ului din Excel pentru rezolvarea problemelor de programare pătratică, problema de mai sus. Se creează foaia electronică de calcul cu datele problemei ca în Figura 6.1. Celula D4 conţine funcţia de minimizat =((1/2)*D7^2+(1/2)*D8^2−2*D7+3*D8+D9, celulele D7−D9 conţin necunoscutele problemei, iar restricţia D7−2*D8+D9 este depusă în celula B11. Condiţiile de nenegativitate ale necunoscutelor sunt D7:D9 ≥B7:B9. Selectând Solve se rezolvă problema, obţinându-se aceleaşi valori pentru funcţia de optimizat şi pentru necunoscute ca şi cele obţinute în urma aplicării algoritmului lui Wolfe forma scurtă, aşa cum se vede din rapoartele din Tabelele 6.3-6.5 .

Figura 6.1

Page 141: mao

Modele şi algoritmi de optimizare

140

Tabelul 6.3

Microsoft Excel 10.0 Answer Report

Report Created: 7/10/2002 8:09:27 PM Target Cell (Min)

Cell Name Original Value Final Value

Worksheet: [Programare patratica.xls]Sheet1

$D$4 Functia de optimizat 0 −0.5

Adjustable Cells

Cell Name Original Value Final Value

$B$15 x1= 0 3 $B$16 x2= 0 0 $B$17 x3= 0 1

Constraints

Cell Name Cell Value Formula Status Slack $A$12 x1−2x2+x3= 4 $A$12=$B$11 Not Binding 0 $B$15 x1= 3 $B$15>=$B$7 Not Binding 3 $B$16 x2= 0 $B$16>=$B$8 Binding 0 $B$17 x3= 1 $B$17>=$B$9 Not Binding 1

Tabelul 6.4 Microsoft Excel 10.0 Sensitivity Report

Worksheet: [Programare patratica.xls]Sheet1 Report Created: 7/10/2002 8:09:27 PM

Adjustable Cells Final Reduced

Cell Name Value Gradient $B$15 x1= 3 0 $B$16 x2= 0 5.000000477 $B$17 x3= 1 0

Constraints Final Lagrange

Cell Name Value Multiplier

$A$12 x1−2x2+x3= 4 1

Page 142: mao

6. Programare pătratică 141

Tab l 6.5 Microsoft Excel 10.0 Limits Report

Worksheet: [Programare patratica.xls]Limits Report 1 Report Created: 7/10/2002 8:09:27 PM

Target

elu

Cell Name Value

$D$4 Functia de optimizat −0.5

Adjustable Lower Target Upper Targe

t Cell Name Value Limit Result Limit Result

$B$15 x1= 3 3 −0.5 3 −0.5 $B$16 x2= 0 0 −0.5 0 −0.5 $B$17 x3= 1 1 −0.5 1 −0.5

6.5. Probleme propuse 1. Scrieţi condiţiile Kuhn-Tucker pentru următoarele probleme de programare pătratică:

a)

( )

⎪⎪⎪⎪ +− 2 21 xx

⎪⎪

≥≥

≤≤++≤−+

⎭⎬⎫

⎩⎨⎧ ++−−−+++

0x1

64223

434242521min

2

3

321

321

32132312123

22

21

xxxxxxx

xxxxxxxxxxxx

b)

2. Să se rezolve următoarele probleme de programare pătratică

⎪⎪2x

⎪⎪⎩

⎪⎪⎨

≥=+−=−+

−+−−+−++

0x842632

222232min

321

321

32132312123

22

21

xxxxxx

xxxxxxxxxxxx

a)

⎪⎩

⎪⎨

≥≤+

−+−

0x4

3min

21

12121

21

xxxxxxx

b)

⎪⎪⎩

⎪⎪⎨

≥=++=++

0x9362

421

321

112211

xxxxxx

⎧ −−+− 2422min 22 xxxxxx

Page 143: mao

Modele şi algoritmi de optimizare

142

arătând că se poate aplica algoritmul lui Wolfe în forma scurtă.

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

b) ′

⎟⎠⎞

⎜⎝⎛=′

1318,0,

1327,

1324x ,

′⎟⎠⎞

⎜⎝⎛=′ 0,

1310,0,0v ,

′⎟⎠⎞

⎜⎝⎛=′ 0,1310u .

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

Page 144: mao

7. PROGRAMARE DINAMICĂ

7.1. Generalităţi Să considerăm un sistem a cărui evoluţie în timp poate fi controlată, chiar şi parţial, de acţiunile unui factor de În orice m oluţiei, starea sistemului se poate descrie printr-un vector numit vectorul stărilor, sau vector de stare. Pe fiecare perioadă decizie

cident. oment i al ev six R∈

decidentul ia o iδ , care provoacă o modificare a stării sistemului, reflectată de un vector de decizie, . Vectorii de decizie di pot lua valori admisibile în domadmisibilitate ,

mid R∈eniile de

mi∆ R⊂ Ni ≤≤1 . Cei doi vectori, de stare şi de decizie de la

momentul i, determină starea sistemului de la momentul i+1, conform unei legi de evoluţie

. Programarea dinamică este o metodă de optimizare a sistemelor în care se perează pe faze sau secvenţe. Baza acestei metode o constituie Principiul de

O politică este alcătuită dintr-o succesiune de decizii. Multe fenomene sau probleme sunt de natură secvenţială, adică permit descompunerea lor în etape (faze), fiecare etapă depinzând de cele apropiate, de etapa anterioară şi cea următoare.

Vom introduce în continuare câteva concepte cu care se operează în teoria eciziilor (Zidăroiu, 1975). Considerăm s=1 şi m=1 şi atunci vectorul de stare

ele procesului e în care trebuie luate deciziile. În problemele secvenţiale ele formează un şir crescător, pe care îl vom nota cu 1, 2, ..., N . Spunem că avem o problemă de decizie cu orizont finit sau infinit, după cum N este finit sau nu. În cazul unui orizont finit de N etape, o politică este reprezentată de uformat din deciziile luate în cele N etape. Dacă orizontul este infinit, orice politică va fi reprezentată printr-un şir infinit,

n cazul finit. Schematic, cele prezentate mai sus se pot reprezenta astfel:

),(1ii dxx ii τ=+

ooptimalitate al lui Bellman, care se enunţă astfel (Kaufmann, 1967):

Orice politică optimă nu poate fi formată decât din subpolitici optime.

ddevine variabila de stare, iar cel de decizie devine variabila de decizie. Etap sunt momentel

n şir

având aceeaşi interpretare ca şi î

Page 145: mao

Modele şi algoritmi de optimizare

144

Etapa 0 1 2 ... N−1 N Starea sistemului x0→ x → x → ... x → x N1 2 N−1Decizia luată

1δ 2δ ... 1−Nδ Nδ

unde x0 este starea iniţială, xN este starea finală. O problemă de decizii secvenţiale constă în determinarea unui şir finit sau nu e decizii, după cum problema este cu orizont finit sau infinit. În urma luării unei ecizii se modifică starea sistemului conform cu o lege de evoluţie în funcţie de

starea actuală a sistemi i i-1 i

nde di este o variabilă de decizie având domeniul de admisibilitate ∆i, iar τi are dată, 1 ≤ i ≤ N.

Dacă ne interesează evoluţia sistemului din starea iniţială x0 până în starea finală x , atunci se observă că se poate scrie succesiv

dd

ului : x = τ (x , d )

ueste o transform

N

[ ] ),...,;(...);;();( 101211 NNNNNNNNNNN ddxTddxdxx ==== −−−− τττ TN reprezentând rezultatul final al înlocuirilor de mai sus. Se poate spune că politica (δ1, δ2,..., δN) are ca efect transformarea sistemului din starea iniţială x0 în starea finală xN :

xN = TN(x0; d1, ..., dN) . Această relaţie permite analiza prospectivă a procesului, deoarece se pleacă din starea x0 şi se ajunge în starea xN . Dacă funcţiile τi , 1 ≤ i ≤ N, sunt inversabile, se poate face şi o analiză retrospectivă a procesului, inversând schema precedentă, astfel

Etapa N N−1 N−2 ... 1 0

Starea sistemului x → x → x → ... x → x0 N N−1 N−2 1Decizia luată

Nδ 1−Nδ 2−Nδ ... 1δ

Dacă notăm cu iτ inversele transformărilor τ , putem scrie i

),...,,;(...]);;([);( 2112221110 NNNi dddxTddxdxx ==== τττ

NT se obţine înlocuind xi prin );( 111 +++ iii dxτunde: , 1 ≤ i ≤ N−1 . Această relaţie arată că starea finală xN şi politica aleasă δ1, δ2,..., δN determină starea iniţială x0 . Diferenţa dintre analiza prospectivă şi cea retrospectivă constă în modul în care se priveşte evoluţia sistemului (de la x0 către xN sau invers) . Există situaţii în care este mai eficientă folosirea analizei retrospective în rezolvarea unor probleme. Decidentul are preferinţe în ceea ce priveşte evoluţia sistemului, preferinţe ce pot fi descrise printr-o funcţie obiectiv. Problema cu care se confruntă decidentul

ât să optimizeze funcţia obiectiv cu restricţiile de admisibilitate şi starea iniţială (finală) date. este de a alege o evoluţie a variabilelor de decizie astfel înc

Page 146: mao

7. Programare dinamică 145 Să notăm ri(xi; di) câştigul parţial dobândit în urma luării deciziei δi în etapa a i-a, când sistemul trece din starea xi−1 în starea xi. Câştigul total pentru un orizont de N etape poate fi reprezentat ca o fude câştigurile parţiale r1, r2, ..., rN asociate diferitelor etape ale sistemAceastă funcţie se poate scrie sub forma

ncţie ului.

( ) ( ) ( )[ ]NNN dxrdxrdxrf ;,...,;,; 222111 şi constituie funcţia obiectiv ataşată procesului de decizii considerat.

efiniţia 7.1. O funcţie D [ )∞→ ,0: i

if R se numeşte decompozabilă prospectiv dacă există o funcţie [ )∞→ ,0:~ 2Rif monotonă (crescătoare pentru probleme de maxim şi descrescătoare pentru probleme de minim) în a doua variabilă astfel încât

)),...,(,(~),...,( 1111 −−= iiiiii rrfrfrrf . Definiţia 7.2. O funcţie [ )∞→ ,0: i

if R se numeşte decompozabilă retrospectiv ~ [ )∞dacă există o funcţie →: ,02R (cif monotonă rescătoare pentru probleme de

maxim şi descrescătoare pentru probleme de minim) în a doua variabilă astfel încât

~ )),...,(,(),...,( 111 NiiNiiNNii rrfrfrr +−+−+ = . Cu schimbarea de variabilă xx −

Nf −

i iN=′ se poate trece de la decompozabilitate ea retrospectivă

Cazul cel mai frecvent de decompozabilitate este cazul aditiv, când funcţia obiectiv este de forma

prospectivă la c şi invers.

( ) ( ) ( )[ ] ( )∑=

=i

iiiNNN dxrdxrdxrdxrf1

222111 ;;,...,;,; . (7.1)

Se întâlnesc şi probleme în care funcţia obiectiv se exprimă multiplicativ

N

( ) ( ) ( )[ ] ( )∏=N

=iiiNNN dxrdxrdxrdxrf 222111 ;;,...,;,; .

În cazul analizi 1

ei retrospective se pot scrie succesiv egalităţile ( ) ( ) ( )iNiiiiiiiiii ddxrddxrdxr ,...,;...];,[, 111 ′==τ= +++

( ) Ni ,1 =∀ , obţinându-se pentru funcţia obiectiv forma pentru( ) ( ) ( )[ ] ( )NNNNNNNNN ddxRdxrdxrdxrf ,...,;;,...,;,; 1111111 ′=−−− (7.2)

adică funcţia obiectiv depinde de starea finală xN şi de variabilele de decizie dN , dN—1 , ... , d1 . Astfel, cunoscând starea finală şi politica aleasă se poate calcula câştigul asociat politicii considerate.

În cazul analizei prospective, câştigul total se exprimă în funcţie de starea iniţială x0 şi de variabilele de decizie d1 , d2 , ... , dN , astfel

Page 147: mao

Modele şi algoritmi de optimizare

146

( ) ( ) ( )[ ] ( )NNN ddxRdxrdxrf ,...,;;,...,; 101111 NNN dxr ;, =NN 11 −−− . (7.3) Printre politicile posibile care fac ca e din starea x0 în starea xN , există ulte) care optimizează funcţia obiectiv; aceste politici se numesc Vom nota politica optimă cu

sistemul să evoluez una (sau mai m politici optime.

( )Nδ..,δ ,.1 , iar variabilele de decizie

corespunzătoare cu

ˆˆ

( )Nd.,d ,..ˆ1 . Mulţ s ˆ,. ,

corespunzătoare deciziilor

imea tărilor x ,..ˆ Nx0 , )ˆ,ˆ(ˆ 11 −−= iiii dxx τ

Ni ≤≤1 ( )Nˆ cd onstituie toria optimă.

Deoarece câştigul tota epinde de a a al de politica aleasă ste necesar să se considere mai multe valori posibile pentru starea iniţială x0 sau

ă x N (spunem că simulăm evoluţia sistemului în mai multe situaţii ). În aceste cazuri politicile optime sunt funcţii de x sau xN , adică

d ,...,ˆ1 traiec

l d stare iniţi lă (fin ă) şi estarea final

0

( )0ˆˆ xdd ii = sau ( )Nii xdd ˆˆ = , 1 ≤ i ≤ N .

Teorema de optimalitate a lui Bellman. Date stările iniţială x0 şi finală xN , traiectoria x0,…, xN este optimă dacă traiectoria x0,…, xN-1 este optimă şi xN-1

)este astfel încât

( ));(),...,;((),;(~1111111 −−−− NNNNNNNN dxrdxr

este optimă. Demonstraţie. Notăm V(x ,x ) valoarea câştigului optim global. Din decompozabilitate avem că

fdxrf

0 N

)),(),;((~101 −− NNNNNN xxVdxrf este optimă dacă xN =

τ (xN-1, dN) . Optimalitatea subpoliticii x0,…, xN-1 rezultă din monotonia funcţiei N

Nf~ şi demonstraţia se încheie.

are vom prezenta rela de recurenţă şi rezolvarea prob de ică în cazul analizei retrospectiv prospectivă

fiind imediată atunci nversabile.

7.2. Analiza retrospectivă

Presupunem că avem a ptimă

În continu ţiile lemei programare dinam e, trecerea la analiza

când legile de evoluţie a sistemului analizat sunt i

de rezolvat următoarea problemă: Să se afle decizi ( )Nddd ˆ ., . . ,ˆ,ˆ

21 astfel încât

)

o

( ) ( ) ( )( ) ( ) ([ ]

⎪⎪

⎪⎪

≤≤=

==

−−−

≤≤∆∈

−−−

Nidxx

dxrdxrdxrfdxrdxrdxrf

iiii

NNNNNNNi

d

NNNNNN

i

1,);(

,, . . .,,,,max]ˆ,, . . .,ˆ,,ˆ,[

1

1111111

111111

τ

(7.4)

sau dacă ţinem seama de (7.2),

Page 148: mao

7. Programare dinamică 147

( ) ( ) ( ) ( )NNN

NidNNNNNN ddxRdxrdxrdxrf

ii

,...,;'max]ˆ,, . . .,ˆ,,ˆ,[ 1

1

111111

≤≤∆∈

−−− = . (7.5)

În formularea (7.5) intervin efectiv numai xN şi variabilele de decizie d1, d2 , ... , dN, deoarece variabilele x0, 1 xN−1 se determină cu ajutorul precedentelor, ţinând seama de relaţiile

x , ..., );(1 iiii dxx τ=− , 11 −≤≤ Ni .

7.2.1. Rezolvarea în cazul aditiv Considerăm funcţia obiectiv în cazul aditiv (7.1) şi, înlocuind în (7.4), obţinem :

( )

( )⎪⎩

⎪⎨

≤≤=−

=≤≤∆∈

∑.1 , ,

,xiimax

1

11

Nidxx

dr

iiii

N

ii

Niii

τ

d (7.6)

Notând cu fN(xN) valoarea maximului (7.6) obţinem

( ) ( ) ( ) ( )[ ]

( ) ( ) ( ) ( )

( )⎪⎪⎪

⎪⎪⎪

≤≤=

++++=

=+++=

−−−−−−

−≤≤∆∈∆∈

−−−

≤≤∆∈

Nidxx

dxrdxrdrdxr

dxrdxrdxrxf

iiii

NNNNNNNi

NNN

NNNNNNNi

NN

iiNN

ii

1 , ,

], . ,,[max,max

, . . .,,max

1

11122211111

1111111

τ

dd

d

litate a lu ellman

x . .

sau, prin aplicarea Teoremei de optima i B( ) ( ) ( )[ ]

( )

.,

,max

1

111

⎪⎩

⎪⎨⎧

=

+=

−−

≤≤∆∈

NNNN

NNNNNNi

dNN

dxx

xfdxrxfii

τ (7.7)

Dacă notăm ( ) ( ) ( )[ ] ,,, 1 NNNNNNNNN dxfdxrdxQ τ+= − , putem scrie ( ) ( )NnNdNN dxQxf

NN

,max∆∈

= (7.8)

şi maximul nu se mai ia după restricţii (restricţiile fiind incluse în expresia funcţiei QN) . Relaţia (7.7) poate fi justificată astfel: dacă ( )Nδδ ˆ,...,1

ca stare final este o politică optimă

pentru un orizont de N etape şi cu xN ă, atunci subpolitica ( )11

ˆ,...,ˆ−Nδδ este optimă pentru un orizont de N−1 etape cu ( ) ,1 NNNN dxx τ=− ca

are final Relaţia (7.8) permite determinarea funcţiei fN(xN) în ipoteza că se cunoaşte funcţia fN−1(xN−1) . Pornind de la relaţia (7.8), procedând analog, obţinem:

st ă.

Page 149: mao

Modele şi algoritmi de optimizare

148

( ) ( ) ( )

( ) ( ) ( ) ( )[ ]

( ) ( ) ( ) ( )[ ] ⎪⎪⎪

⎪⎪⎪

+==

−≤≤+==

==

−∆∈∆∈

−∆∈∆∈

∆∈∆∈

.,,m,max...........................

12,,, max,max...........................

max,max

1

1

11111111111

NNNNNNNdNNNdNN

iiiiiiidiiidii

d

dxfdxrdxQxf

NidxfdxrdxQxf

rdxQxf

NNNN

iiii

τ

τ

d

(7.9)

Aceste relaţii se numesc ecuaţiile de recurenţă ale programării dinamice. Rezolvarea problemei iniţiale înseamnă calcularea funcţiilor

f1(x1), f2(x2 N(xN) şi

,1 dx

ax

( )NNN xdd ˆˆ =), ..., f . Funcţiile fi(xi) , , se determină din relaţiile de recurenţă (7.8), iar

din ultima din aceste relaţii. Algoritmul pentru rezolvarea problemei de programare dinamică în cazul aditiv Pas 0. Se determină cu

1 Ni ≤≤

( )NNN xdd ˆˆ =

( ) ( )NxNx xffN

max= Nx ;

Se determină ( )NNN xdd ˆˆ = ; Pas 1. Pentru i:=N ,2 determină ( ) ˆ,ˆˆ 1 iiii dxx τ=− ; ( )111 ˆˆ

−−− = iii xdd ;

Pas 2. Reţine: . Stop ! Procedeul de mai sus presupune cunoaşterea expresiilor analitice ale funcţiilor fi , di . Vom prezenta câteva situaţii în care metodele programării dinamice conduc la obţinerea optimului fără a se apela la a tuturor soluţiilor posibile.

7.2.2. Problema reparti i inve ţiilor Având o sumă de 5.109 lei cu care trebuie cumpăra iuni la 4 soc care în fu ie de su vesti asig rofituri conf u T lul 7.1, să se stabilească o reparti a sum investite la fiecare societate, astfel încât profitul ob ut ma aplicării tei p tici de inve fie maxim (Kaufmann, 1967). Se cere să se determine repartiţia optimă investiţiilor în acţiuni la cele 4

ofitul total maxim.

; ˆ , ... , ˆ ,ˆ21 Nddd ; ˆ , ... , ˆ ,ˆ 21 Nxxx )ˆ( NN xf

evidenţiere

ţie sti

te acţ ietăţi,ncţ ma in

ţie optimtă ă

ură pelor

orm c abe

ţin în ur aces oli stiţii să

asocietăţi, adică acea repartiţie care dă pr

Page 150: mao

7. Programare dinamică 149

Tabelul 7.1

Profitul în procente Societatea Suma investită

(în miliarde de lei) S1 S2 S3 S4

0 0 0 0 0 1 0.28 0.25 0.15 0.20 2 0.45 0.25 0.33 0.41 3 0.65 0.40 0.42 0.55 4 0.78 0.65 0.50 0.48 5 0.90 0.75 0.62 0.53

xi –numărul total de miliarde investite în acţiuni la primele i societăţi, .

x4 – mărime S=5·109. ri(di)− profit a societatea i. roblema are următoarea formulare:

⎨ ≤≤∑ Sxd

Precizarea funcţiilor f (suntem în cazul analizei retrospective). Pentru orice

Rezolvare Modelarea problemei Notaţii : di –numărul de miliarde investite în acţiuni la societatea i.

41 ≤≤ i a totală a investiţiilor, care este de cel mult

ul adus de suma d P

i investită în acţiunile l

⎪⎪⎪

≤≤≥=

4104

1idi

ii

⎪⎪⎪⎧ ∑

=

)(max4

4

1dr

iii

i

40,41 xxi i ≤≤≤≤ şi 42 ),,(1 ≤≤=−=− idxdxx iiiiii τ şi 41,0 ≤≤≤≤ ixd ni . Am precizat astfel domeniul de admisibilitate:

iiii dx ∆∈=∆ ,],0[ . Pentru analiza prospectivă 31 ),,(1 ≤≤== ++ idxdxx iiiiii τ .

Deoarece −

4 4

41)( iiii xxxxd luând x0=0, cu notaţiile din modelul ∑ ∑ ≤=−== =1 1i i

teoretic obţinem ecuaţiile de recurenţă: ;)(max)( 11011

11

drxfxd ≤≤

= coloana S1 din tabel este crescătoare şi reprezintă r1

( ) ( ) ( )[ ] ( ) ( )[ ] 222222112222 0;maxmax xddxfdrxfdxf r ≤≤−+=+= ( ) ( ) ( )[ ] 333323333 0;max xddxfxxf r ≤≤−+=

[ ] Sxxddxrxf ( ) ( ) (xf ) ≤≤≤−+= 44444444 0;max . Determinarea valorilor funcţiilor fi :

, r1 fiind crescătoare

43 ;

)()(max)( 111111 drxrxf == 110 xd ≤≤ deci: . 111 )(ˆ xxd =

Page 151: mao

Modele şi algoritmi de optimizare

150

x =0 2

[ ] 0)0()(max)0( 21222 =−+= dfdrf cu 00 2 ≤≤ d . Deoarece r2(0)=0 şi f1(0)=0

cu

rezultă d2=0. x2=1

[ ])1()(max)1( 21222 dfdrf −+= 1,0,10 22 ∈≤≤ dd . [ ] [ ] 28.002. 50;28.00max)0()1(;)1()0(max)1( 12122 =++=++= frfrf

valoare obţinută pentru x =2

cu

0)1(ˆ2 =d .

2

[ ])2()(max)2( 21222 dfdrf −+= 2,1,0,20 22 ∈≤≤ dd [ ])0()2();1()1(;)2()0(max)2( 1212122

[ ] 53.0041.0;28.025.0;45.00max= =+++=+++= frfrfgf

valoare obţinută pentru d=1; rezultă 1)2(ˆ2 =d .

x =3 cu

2

[ ])3()(max)3( 21222 dfdrf −+= 3,2,1,0,30 22 ∈≤≤ dd [ ][ ] 70.0055.0;28.041 +.0;4.0 525.0;65.00max

)0()3(2((;)3()0(max)3( 1222122

=+++=;)1());2)1( 11 + =+++= frrgfrf

rezultat obţinut pentru d=1 şi astfel =d x =4

cu

ff

1)3(ˆ2 .

2

[ ])4()(max)4( 21222 dfdrf −+= 4,3,2,1,0,40 22 ∈≤≤ dd [ ][ ] 90.065.0;83.0;86.0;90.0;78.0max

)0()4();1()3(;)2()2();3()1(;)4()0(max)4( 12121212122

===+++++= frfrfrfrfrf

valoare obţinută pentru d , rezultă )4ˆ =d

1 . (2=1 52 =x

( ) ( ) ( )[ ] 5,...1,0;max5 2221222 ∈−+= dxfdrf d ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )( ) ( ) =+

++++=]05

;13;32;1;50max[

12

12121212

frfgfrfrfr

+ 4;2 21 rf4

[ ]=++++++= 075.0;28.065.0;45.055.0;04.78.025.0;9.00max 67.0;93.;00.1;06.1;03.1;9.0max

65.10;0[ ] 0.15 == d2=2 . Astfel

)0()(max)0( 32333 dfdrf −+= cu

obţinut pentru

2)5(ˆ2 =d .

03 =x [ ] 030 ≤≤ d . Deoarece r3(0)=0 şi f3(0)=0

rezultă d3

cu

=0. 0)0(ˆ3 =d .

13 =x [ ])1()(max)1( 32333 dfdrf −+= 1,0,10 33 ∈≤≤ dd . [ ] [ ] 28.0015.0;28.00max)0()1(;)1()0(max)1( 23233 =++=++= frfrf

0)1(ˆ3 =d . obţinută pentru

Page 152: mao

7. Programare dinamică 151 x3=2

()(max)2( 2333 dfdrf += [ ])32 − cu 2,1,3 0,20 3 ∈≤≤ d d [ ] [ ] 53.025.0;43.0;53.0m)0(2 ax)2();1()2()0(max)2( 3233 =(2)1; 3 =+++= frf

obţinută pentru x3=3

3()(max)3( 32333 dfdrf −+= cu

frfr

0 . )2(ˆ3 =d

[ ]) 3,20 3 ,1,0,3 3 ∈≤≤ dd [ ][ ] 70.040.0;53.0;68.0;70.0max

)0()3();1()2();2()1(;)3()0(max)3( 232323233

===++++= frfrfrfrf

Aşadar, pentru d=0 s-a obţinut valoarea maximă şi rezultă x3=4

()(max)4( 2333 fdrf += cu

0)3(ˆ3 =d .

[ ])d4 − 3 4,3,2,1,33 0,40 ∈≤≤ dd

.05.;78.0;85.0;90.0max)1()3();1()2()3((4()0(max)4( 23223233

==+[ ]

[ ] 900;68.0)3();2( 32; 3)1;)

=++++= frffrfrf

valoare obţinută pentru d=0; u )4d x3=5

cu

rfr

rez ltă 0= . (ˆ3

[ ])4()(max)4( 32333 dfdrf −+= 4,3,2,1,0,40 33 ∈≤≤ dd

[ ] 06.160.0;78.0;93.0;95.0;05.1;06.1max)]0()5( );1()4();2()3();3()2();4()1(;)5()0(max[)5(

23

23232323233

==++++++=

frfrfrfrfrfrf

obţinut pentru d=0; rezultă

Analog, găsim pentru f4 valorile f4 ş , f4(1)=0.28 şi ,

f4(2)=0.53 şi f4( =0 , f4(4)=0.9 şi

, f4(5)=1.1 şi . Centralizăm în Tabelul 7.2 alorile găsite pentru f şi d .

Tabelul 7.2

x f1(x) f2(x) f3(x) f4(x)

0)5(ˆ3 =d .

: (0)=0 i 0)0(ˆ4 =d 0)1(ˆ

4 =d

0)2(ˆ4 =d , 3) .73 şi 1)3(ˆ

4 =d

1)4(ˆsau0)4(ˆ44 == dd 1)5(ˆ

4 =dv

)(1 xd )(2 xd )(3 xd )(4 xd

0 0 0 0 0 0 0 0 0

1 1 0.28 0 0.28 0 0.28 0 0.28

2 2 0.45 1 0.53 0 0.53 0 0.53

3 3 0.65 1 0.70 0 0.70 1 0.73

4 4 0.78 1 0.90 0 0.90 0 sau 1 0.90

5 5 0.90 2 1.06 0 1.06 1 1.1

Page 153: mao

Modele şi algoritmi de optimizare

152

Culegerea rezultatelor. Se observă că 1.1)5()(max 44450 4

==≤≤

fxfx

şi 5ˆ4 =x , iar .

Atunci .

Dar şi atunci .

)ˆ( 222 == dxd , iar ˆˆ 2221 =−= xdxx ;

Astfel, politica optimă este

1)(ˆ44 =xd

4)(ˆˆˆ 4443 =−= xdxx

0)4(ˆ)ˆ(ˆ333 == dxd 4)(ˆˆˆ 3332 =−= xdxx

În continuare avem: ˆˆ ˆ1)4( 3)( 3)3(ˆ)ˆ(ˆ

111 == dxd .

( ) ( )1,0,1,3,ˆ4321d ceea ce înseamnă că din

cele 5 m rde or i sti 3 miliarde în acţ i la a societate, 1 la cedo şi 1 la cea de-a patra. Nu se vor achiziţiona acţiuni de la societatea a treia.

7.2.3. Problema gestiunii stocului Principiul de optimalitate al lui Bellman poate fi enunţat şi sub următoarea formă, aşa cum va fi folosit în rezolvarea problemei ce urmează. Într-un şir optimal de decizii, oricare ar fi prima decizie luată, deciziile următoare formează un subşir care este optimal, ţinând seama de rezultatele primei decizii.

În continu b numele de roblema gestiunii stocului.

Trebuie ca la începutul fiecărei perioade să dispună de suficiente produse pentru a face faţă cererii, începe şi oc nul. Cum trebuie să organizeze aceste cump

Tabel 3 Perioada i 1 2 3 4 5

ˆ,ˆ,ˆ =dddilia se v nve iun prim a de-a

ua

p

are vom rezolva următoarea problemă cunoscută su

Tabelul 7.3 dă pentru cinci perioade cantităţile unitare de produs di pe care un vânzător le va furniza, precum şi preţurile ci cu care el poate achiziţiona aceste produse pe care le va revinde la preţ constant. El cumpără la începutul perioadei un număr întreg de produse, dispune de o capacitate de stocare gratuită de 5 unităţi.

termină cu stărături astfel încât profitul său să fie maxim ?

ul 7.

Cererea bi 2 3 4 3 2 Preţul c 13 15 20 11 12 i

Rezolvare. Notăm :

Page 154: mao

7. Programare dinamică 153 di = cantitatea de produs cumpărată la începutul perioadei i , are rol de variabilă de decizie ; xi = cantitatea de produs rămasă în stoc la sfârşitul perioadei i , xi este în acest caz variabila de stare, pentru că permite cunoaşterea perfectă a stării situaţiei la sfârşitul fiecărei perioade. Restricţiile sistemului sunt

51

=⎪⎧

−+=≤+≤ −

jbdxxdxb jjj

5,1.0;0 50⎩ == xx

Funcţia de optimizat este ∑=5

)(df

1⎪⎨ − jjjj

1jjj dc .

S-a obţinut astfel o problemă de programare în numere întregi Ţinând seama de cererea de la perioada întâi, se vede (Tabelul 7.4) că perioada întâi se poate termina cu 0 ; 1 ; 2 sau 3 unităţi în stoc.

1 x1 d1 f(d) min

=

.

Tabelul 7.4 b

3 5 65 2 4 52 1 3 39

2

0 2 26 Perioada a doua (Tabelul 7.5) se poate termina cu 0 , 1 sau 2 unităţi în stoc (x1+d2=b2=3).

Tabelul 7.5 b2 x2 x1 d2 f(d) min

0 3 26+45=71 1 2 39+30=69 2 1 52+15=67

0

3 0 65+0=65 * 0 4 26+60=86 1 3 39+45=84 2 2 52+30=82

1

3 1 65+15=80 * 0 5 26+75=101 1 4 39+60=99 2 3 52+45=97

3

2

3 2 65+30=95 * Perioada a treia (Tabelul 7.6) se poate termina cu 0 sau 1 unităţi în stoc (x2+d3=b3=4).

Page 155: mao

Modele şi algoritmi de optimizare

154

Tabelul 7.6 b3 x3 x2 f(d) mind3

0 4 65 =14+80 5 1 3 80+60=140

0

2 95+4 =1352 0 * 0 5 65+100=165 1 4 80+80=160

1

2 3 95+60=155 *

4

unităţi în stoc

3+d4=b4=

Tabelul 7.7 x4 x3 d

Perioada a patra (Tabelul 7.7) se poate termina cu 0, 1 sau 2 (x 3).

b4 4 f(d) min 0 3 135+33=168 * 0 1 2 155+22=177 0 4 135+44=179 * 1 1 3 155+33=188 0 5 135+55=190 *

3

2 1 4 155+44=199

La sfârşitul perioadei a cincea (Tabelul 7.8) avem x5=0 şi, deoarece x4+d5=b5=2, rezultă

Tabel l 7.8 b5 x4 min

ud5 f(d)

0 2 168+24=192 1 1 179+12=191

2 0 0 2

19 * Politica optimală de cumpără i este

=

⎪⎪⎪

⎪⎪

==

⎪⎪⎪

==

⎪⎩

===

⇒=⇒=

⇒=

15

135(2

95)(2

65)(53

02

0

3

2

1

1

3

4

5

fd

dfd

dfd

dfdx

xx

d

sau: d5=0 4 d3 d2=2 ; c os inim, f 0× 5 2× +2 +5 =1

tur

⎪⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪⎪

⎪⎪

⎪⎪⎪ ⎪

⎨⇒= 22x

⎪⎩ )

=4

90)(d ; d =5 ; =2 ; d1=5 u c tul m

(d)= 12+ ×11+ 20 ×15 ×13 90 .

Page 156: mao

7. Programare dinamică 155 Generalizare Clasa de probleme Pk(x). Să se determine o politică optimală de

turi pe primele rioade, putând cele k perioade cu x produsţial ă fie considerată ca P5(0). Vrem să punem în

evidenţă o rela ţă între aceste diferite probleme şi să le rezolvăm de o m i economică în timp. m z ului func Pk(x). Avem

relaţia )(min)( dbxzdcxz

cumpără k pe termina e în stoc. Problema ini ă poate s

ţie de recurenmanieră a Notă (x), valoarea optim ţiei obiectiv a problemei k

1)( kkkkkxdkk

−++= , −

unde kkkkkk bxdxbbdxd +≤≤−++= − 5)( 1 . Rezumăm calculele precedente în Tabelul 7.9.

Tabelul 7.9 x z1(x) d1(x) d2(x) d2(x) d3(x) d3(x) d4(x) d4(x) d5(x) d5(x) 0 26 2 65 0 135 2 168 3 190 0 1 36 3 80 1 155 3 179 4 * * 2 52 4 95 2 * * 190 5 * * 3 65 5 * * * * * * * *

În acest tablou coloanele au fo de la stânga la dreapta, calculând d1(x) apoi . d. Culegerea solu optim e se face de dreapta la stânga. Ştiind că 5=0 şi b5 dic 2, tăm ţia tru ) . Găsim d4=5, adică x3=0 şi atunci ) . Din Tabelul 7.9 avem şi, cum

3=4, rezultă x2=2. Căutăm a s P2 2=3 d2=2, rezultă că x1=3, şi acum ne interesează P1(3) . Din Tabelul 7.9 rezultă că d1=5 şi astfel am ajuns la soluţia finală.

7.2.4. Problema alocării optime a resurselor Trei echipe de cercetători A, B, C lucrează la un acelaşi proiect folosind abordări diferite. Echipele au probabilităţile de eşec : P(A)=0.4 ; P(B)=0.6 ; P(C)=0.8. Se decide alocarea a 2 noi cercetători la proiect în scopul minimizării probabilităţii de eşec a proiectului. Pentru a decide alocarea cercetătorilor

border 995).

Noile probabilităţi de eşec pentru echipe

st completateţz1(x) ş. a. m

diei al la

=2, a ă x4= cău solu pen P4(2 căutăm

cum P3(0oluţia pentru

d3=2şi din tabel b (2) . Cum b

suplimentari s-a stabilit Tabelul 7.10 (Henry-La e, 1

ul 7.10 Tabel

Nr. cercetători noi alocaţi A B C

0 0.4 0.6 0.8 1 0.2 0.4 0.5 2 0.15 0.2 0.3

Care este alocarea optimală a cercetătorilor suplimentari astfel încât împreună să aibă probabilitatea de eşec minimă ?

Page 157: mao

Modele şi algoritmi de optimizare

156

Rezolvare Fie dA, dB, dC numărul de cercetători afectaţi echipelor A, B, C , rA(dA), rB(dB), rC(dC) funcţiile care dau probabilităţ e de eşec pentru fiecare echipă, xA numărul cercetătorilor alocaţi proiectului A ; xB numărul cercetătorilor alocaţi proiectelor A şi B , şi xC numărul cercetătorilor alocaţi proiectelor A, B şi C. Probabilitatea de eşec – toate echipele eşuează – este

il

2,)()()()( ≤++⋅⋅= CBACCBBAA ddddrdrdrxf . Fie , probabilitatea minimă atunci când se utilizează x cercetători suplimentari pentru proiectele A, B, C.

( )xfi

( ) ( ) ( ) iiiipredi drdxfxf ⋅−= )(min , CBAi ,,∈ , unde , iar

rtiţiei investiţiilor. Să determinăm valorile funcţiilor ,

=CBAi

i xd,,

1)( =Apredf .

Soluţia este analoagă soluţiei problemei repa if CBAi ,,∈ .

)(min)( xrxf A A= , deoarece este descrescătoare, aşa cum se vede din coloana

A T lu .10 u xd A =)(ˆ

x=0 , atunci şi

Ar

a abelu i 7 şi at nci x . 00 ≤≤ dB

44.6mi0)0(min)0 2.00.0n)(( =⋅=⋅ f= Br , iar . x=1 , atunci B i

A

dB )0(ˆ =Bdf 0

0 ≤1≤ ş ) .00(1(1((i)((min)1 )0m n1)( ); ) 12⋅ =⋅=−⋅ ABBBABB frrdfd ,

B .

= AfBf r

d 0)1( =

x=2 , atunci 20 ≤≤ Bd şi

.1sau2)2(ˆiar,08.0

)0()2();1()1();2()0(min)2()(min)2(

==

=⋅⋅⋅=−⋅=

B

ABABABBABBB

d

frfrfrdfdrf

x= i 0 , atunci 00 ≤≤ Cd ş

192.024.08.0min)0()0(min)0( =⋅=⋅= BCC frf , iar . i

0)0(ˆ =Cd10 ≤≤ Bd ş x=1 , atunci

096.0)0()1(;)1()0(min)1()(min)1( =⋅⋅=−⋅= BBCCBCCB ffrdfdrf ,

. x=2 , atunci i

Cr

0)1(ˆ =Cd20 ≤≤ Cd ş

.1)2(ˆiar,06.024.03.0;12.05.0;8.08.0min

)0()2();1()1();2()0(min)2()(min)2(

==⋅⋅⋅

=⋅⋅⋅=−⋅=

C

BCBCBCCBCCC

d

frfrfrdfdrf

Datele obţinute sunt trecute în Tabelul 7.11 =

Page 158: mao

7. Programare dinamică 157

Tabelul 7.11 x fA(x)* )(ˆ xdA

fB(x)* )(xd B fC(x)* )(xdC

0 0.4 0 0 0.192 0 0.24 1 0.2 1 0 0.096 0 0.12 2 2 .0.15 0.08 2 sau 1 0 06 1

Valoarea soluţiei te fC ( ) =0.06 pentru alocarea amoptimale es x bilor cercetători, astfel: şi , adică se alocă un cercetător la proiectul C ;

, dar , adică la proiectul B nu se mai alocă alt cercetător;

însă , adică se alocă un cercetător la proiectul A.

7.3. Probleme propuse

Tabelul 7.12

Suma investită (mil) B1 B2 B3

2ˆ =Cx 1ˆ =Cd

1ˆˆˆ =−= CcB dxx 0)1(ˆ == BB dd

1ˆˆˆ =−= BBA dxx , 1)1(ˆ == AA dd

1. O firmă de construcţii are 4 000 000 euro pe care vrea să-i investească în construirea a 3 tipuri de locuinte B1, B2, B3. Profitul adus de fiecare tip de locuinţă ste dat de Tabelul 7.12. e

0 0 0 0 1 35% 28% 26% 2 43% 32% 34% 3 47% 45% 40% 4 49% 47% 51%

Să se precizeze care este profitul maxim şi cum se obţine.

R. Trecem rezultatele calculelor în Tabelul 7.13

Tabelul 7.13

x r r r f f f

1 2 3 1 1 2d d d2 3 3

0 0 0 0 0 0 0 0 0 0 1 35 28 26 35 1 35 0 35 1

49 4 80 3 97 2 sau 3

2 43 32 34 43 2 63 1 63 2 3 47 45 40 47 3 71 1 89 2 4 49 47 51

Page 159: mao

Modele şi algoritmi de optimizare

158

Culegerea rezultatelor: a) , , , ,

11 = ddb) = 222 == xdd ,

1)ˆ(ˆ111 =xd .

Profitul maxim este de 97% , dacă se investeşte suma astfel: a) (1, 1, 2) , adică 1 milion în primul tip de locuinţe, 1 milion în al doilea tip de

locuinţe şi 2 milioane în al treilea tip de locuinţe; b) (1, 0, 3) , adică 1 milion în primul tip de locuinţe şi 3 milioane în al treilea

uinţe.

Perioada (i) 1 2 3 4 5 6

2ˆ3 =d 4ˆ3 =x 2ˆˆˆ 332 =−= dxx 1)ˆ(ˆ

222 == xdd 1ˆˆˆ 221 =−= dxx , ˆ 1)ˆ( 1 =x ;

3d , 4ˆ , 1ˆˆˆ , ˆ3 3 =x 332 =−= dxx 0)ˆ( 1ˆˆˆ 221 =−= dxx ,

d =

tip de loc 2. Problema achiziţionărilor de carburant Serviciul de aprovizionare al municipalităţii trebuie să asigure motorina pentru încălzirea oraşului, timp de 6 luni – noiembrie-aprilie. Preţurile de cumpărare prevăzute pe tonă şi nevoile lunare sunt date de Tabelul 7.14 (Henry-Labordere, 1995):

Tabelul 7.14

Necesarul (bi) 800 500 300 200 700 400 Preţul tonei (ci) 3300 5400 3900 5100 6000 3000

Stocul iniţial la 1 noiembrie este de 200 t. Nu se poate depăşi capacitatea

cul la sfârşitul perioadei i−1, începutul perioadei i, înainte de cumpărarea cantităţii di , di cantitatea cumpărată la data de întâi a lunii i , bi necesarul pe perioda i. Notând costul politicii optimale care lasă la sfârşitul perioadei i un stoc xi+1, atunci : • să se stabilească o relaţie între

rezervorului care este de 900 t. Se doreşte minimizarea cumpărăturilor, dar cu satisfacerea cererii pe întreaga perioadă. Fie: ci costul unei tone pe perioada i , xi sto

( )1+ii xf

( )1+ii xf şi ( )ii xf 1− , • să se găsească soluţia optimală folosind programarea dinamică. Să se precizeze cumpărăturile lunare şi stocul final.

are liniară (vom renunţa la două zerouri la

ţ⎪

≥≤+

=

0,9

21

ii

ii

dxdx

x

Rezolvare 1) Formularea problemei în program

pre uri şi cantităţi) are restricţiile : ⎪⎨

∀−+=+ )(1 iiii ibdxx

⎪⎪⎩

Page 160: mao

7. Programare dinamică 159 Ţinând seama de relaţiile de mai sus, funcţia obiectiv se poate scrie ca funcţie de d

ema obţinută este astfel: f=33d1+54d2+39d3+51d4+60d5+30d6 , iar probl

∑=

p

iiidc

1 ( )dpf =min

⎪ ≥ .0, dx⎪⎨ ≤+ 9ii dx

⎩ ii

⎪⎪ =−+=

=

+ 6,12

1

1

iiii ibdxx

Funi)+cidi).

Tra oretrosp

) Calculele sunt rezumate în Tabelul 7.15.

Tabelul 7.15 xi f1(d) f2(d) f3(d) f4(d) f5(d) f6(d)

⎧x

cţia de minimizat se scrie : ( )1+ii df =min(fi−1(xi+1+bi−d

nsf rmările τi fiind inversabile se poate aplica atât analiza prospectivă cât şi ectivă.

2

)(ˆ1 xd )(ˆ

6 xd )(ˆ2 xd )(ˆ

3 xd )(ˆ4 xd )(ˆ

5 xd

0 198 6 447 4 564 3 642 0 951 0 1071 4 1 231 7 501 5 603 4 681 0 1011 1 1101 5 2 555 6 642 5 720 0 1071 2 1161 6 3 609 7 681 6 759 0 1191 7 4 663 8 720 7 798 0 1221 8 5 759 8 849 1 9 6 798 9 900 2 7 951 3

Culegerea rezultatelor din tabel:

)4(1071)ˆ(min 676 fdf == , 4)0()ˆ(ˆ6766 === dxdd , 0ˆ7 =x ,

044ˆˆˆˆˆ 6666667 =−=−=⇒−+= dbxbdxx .

Cum 0)0()ˆ(ˆ5655 === dxdd , rezultă

7070ˆˆˆˆˆˆ 55655556 =−+=−+=⇒−+= dbxxbdxx şi Analog obţinem:

şi

şi

şi ,

. Politica optimală de cumpărături este :

f6(4)=1071 cu cantităţile .

3)7()ˆ(ˆ4544 === dxdd .

6327ˆˆˆˆˆˆ 44544445 =−+=−+=⇒−+= dbxxbdxx 9)6()ˆ(ˆ3433 === dxdd ,

0936ˆˆˆˆˆˆ 33433334 =−+=−+=⇒−+= dbxxbdxx 4)0()ˆ(ˆ2322 === dxdd ,

1450ˆˆˆˆˆˆ 22322223 =−+=−+=⇒−+= dbxxbdxx 7)1()ˆ(ˆ1211 === dxdd

2781ˆˆˆˆˆˆ 11211112 =−+=−+=⇒−+= dbxxbdxx

7ˆ1 =d , 4ˆ

2 =d , 9ˆ3 =d , 3ˆ

4 =d , 0ˆ5 =d , 4ˆ

6 =d

Page 161: mao

Modele şi algoritmi de optimizare

160

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 .

Tabelul 7.16 Luna Octombrie Noiembrie Decembrie

Necesar (m ) 40 3 80 30 C u.m.) 5 ost ( 4 3

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

, H are lungimea 13 şi costul minim este Cmin=3.4⋅13=44.2 u.m.

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

80ˆ1 =d , 70ˆ

2 =d , 0ˆ3 =d

ţe

R. Traseul minim A, D, G

5. Construirea unei autostrăzi. (Kaufmann, 1967) Folosind analiza prospectivăse rezolve problema 3 din §2.5.

2

Figura 7.1

H

G

F

E

C

D

B

A 4

8

2

5

4 3 6

1 8 7 3

1

Page 162: mao

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

tru a solicita servicii. Modul de de aşteptare

constituie topologia sistemului. Astfel, staţiile pot fi în serie sau în paralel sauserviciu 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, num şi disciplina serviciului (de exemplu: FIFO (First−In First−Out) – primul sosit – primul servit, sau o ordine

ităţ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

ă, adică numărul maxim de clienţi ce pot exista la un ivalent, lungimea maximă a cozii.

Elementele necunoscute ale modelului de aşteptare sunt: • timpul de aşteptare

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

finit) care servesc clienţii ce sosesc în sistem pendispunere sau condiţionare a staţiilor de serviciu dintr-un sistem

acest

ită

bazată pe prior

sistemului presupusă cunoscutmoment dat în sistem, sau, ech

• timpul de neocupare a staţiilor • lungimea cozii • numărul de clienţi din sistem N(t) existen

Page 163: mao

Modele şi algoritmi de optimizare

162

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,

Exemplu. Notaţia Exp(λ) / Exp(µ) / 1: (∞, FIFO) caracterizează un model cu: − veniri cu repartiţia exponenţială negativă de parametru λ,

servicii cu repartio singur

− coada care poate creşte indefinit ( L=∞), − disciplina de serviciu care este primul sosit−primul servit (First−In

First−Out).

ş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

î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

efiniţia 8.1. Procesul stochastic cu creşteri independente N(t) se numeşte proces e naştere şi deces dacă satisface urmă arele c diţii:

1) P [ N ( t + ∆t ) = n + 1 N(t) = n ] λn ⋅ ∆t + O (∆ ; ) P [ N ( t +∆t ) = n −1 N(t) = n ] = µn ⋅∆t + O (∆t ) ; ) P [ N ( t + ∆t ) = n ± i N(t) = n ] = O (∆t ),

c – numărul de staţii (canale) de serviciu, L – lungimea maximă a cozii, d – disciplina de serviciu.

− ţie exponenţială negativă de parametru µ, − ă staţie ( c=1 ),

Numărul N(t) de clienţi din sistem ia valori întregi 0,1,2,...,

variaţii mari pe intervalul de timp (t, t + ∆t) depinde de valoarea lui N(t) şi este,

numeşte proces de naştere şi deces (Văduva, 1977). Dd to on

= t )2

( ) 1>∀ i 3unde P ( AB ) 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

( )funcţii care satisface: ( ) ( ) ( ) ( ) R∈∀===→∆→∆

c∆t∆tc∆t

∆ttt

,,0lim ,0lim00

OOO . ∆tO

Page 164: mao

8. Elemente de teoria aşteptării 163

ndente stochastic, adică evoluţiile procesului pe două intervale de timp disjuncte sunt independente. Constantele λn , se numesc intensităţi de natalitate, iar µn , se numesc intensităţi de deces.

r 1t

Procesul este cu creşteri independente în sensul că, oricare ar fi t1<t2<t3<t4 variabilele N(t2− t1), N(t3− t4) sunt indepe

0≥n , 1≥n ,

Dacă pent u 2t< avem )()()( 1212 tNtNttN −=− , 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:

( ) ( )( )

( )(

( )(

( )

( )∑

>−

>+

+++

−−−

∆−⋅∆+

+∆⋅∆−+

+∆+∆∆+∆−+

+∆+∆−∆+∆+

+

)

)

∆+∆−∆+∆−=∆+

n

iii

in

iii

in

nnn

nnn

nnnn

tttP

tttP

tttttP

tttttP

tttttPttP

1indivizi de

plecare o loc arenu indivizi de

venireo loc are

1indivizi de

plecare o loc areindivizi de

venireo loc arenu

plecare o

1

venireo nici

11

plecare o nici

1

venireo

11

plecare o nici venireo nici

)(1)()(

)()(1)(

)()(1)(

)(1)()(

)(1)(1)(

43421321

32143421

44 344 21444 3444 21

444 3444 2144 344 21

444 3444 21444 3444 21

OO

OO

OO

OO

OO

µλ

µλ

µλ

Ţinând seama de proprietăţile funcţiilor ∆t) avem: O (( )

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

11

11

tttPttPttPtPttP

nn

nnnnnnn

∆+∆++∆+∆+−=−∆+

++

−−

Oµλµλ

, n ≥ 1 .

Împărţim la ∆t , trecem la limită pentru ∆t → 0 şi obţinem ecuaţiile gorov−Feller care guvernează procesul de naştere şi deces:

)()()( 111 ≥Kolmo

( ) 1 , )(1+++−=′ ++−− ntPtPtPtP nnnnnnnn µλµλ (8.1) Asemănător deducem

)()()( 1100 tPtPtP o µλ +−=′ (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ă

(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 ş Pn ( 0 ) = 0, n ≠ i (condiţiile

ttPn

n )( , 1)(0

∀=∑∞

=

i

Page 165: mao

Modele şi algoritmi de optimizare

164

iniţiale sunt date), atunci condiţia necesară şi suficientă ca soluţia sistemului de e de probabilităţi este ca cuaţii diferenţiale (8.1) şi (8.2) să fie un sistem complet

∞=∑∞

=0

1k kλ

.

T iile iniţiale ca în Teorema 8.1, atunci o condiţie suficientă ca sistemul de ecdiferenţiale (8.1) şi (8.2) să aibă ca soluţie un sistem complet de probabilităţc

eorema 8.2. Dacă pentru procesul de naştere şi deces N ( t ) sunt date condiţ uaţii

i este a

∞=∑∏∞ k

= = −1 1 1k i i

i

λµ

.

Ipotez ţionar, adică Pn ( t ) = pn = constant, ipoteză justificată de faptul că, după ari de tim

≥=++− 1 , 0)( nppp µλµλ

ă simplificatoare. Procesul N ( t ) se presupune sta perioade m p de

funcţionare, sistemele se stabilizează. În caz staţionar, sistemul (8.1) – (8.2) devine:

⎧ =+− 01100 pp µλ(8.4)

⎩ + ++−− 1111 nnnnnnn

otăm

N11 +++−= kkkkk ppz µλ

şi din ultima ecuaţie avem zn = zn−1 ,

z0 = 0. Astfel, în cazul staţionar

zn = 0, n ≥ 0, sau

iar din prima ecuaţie

0 , 1

1 ≥=+

+ npp nn

nn µ

λ.

Deducem că

1 , 0

1

0 1

≥⎟⎟⎠

⎞⎜⎜⎝

⎛= ∏

= +

nppn

k k

kn µ

λ.

Din condiţia (8.3) rezultă că

∑∏∞

=

= +

+=

1

1

0 1

0

1

1

n

n

k k

k

p

µλ

.

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 ,

[ ] ∑∞

=

=0

)(n

nnptNM

Page 166: mao

8. Elemente de teoria aşteptării 165 b) lungimea medie a cozii

,

c)

[ ] ∑=

−=L

cnnc pcnLM )(

(nu poate fi coadă pentru n ≤ c, adică mai puţini clienţi decât numărul staţiilor de serviciu),

timpul mediu de aşteptare la coadă

[ ] [ ]cLMp

WTM)1(

1

0−=

µ,

)1(1

0p−µunde este timpul mediu de servire şi se presupune cunoscut.

Observaţia 8.1. µ (1 − p0) reprezintă numărul mediu de clienţi (unităţi) serviţi în unitatea de timp. Atunci:

) d timpul mediu de aşteptare în sistem

[ ] [ ])()1(

1

0

tNMp

WM−

,

e) numărul mediu de staţii neocupate

,

de lenevire (neocupare) a unei staţii între două servicii consecutive

[ ] ∑=

−=c

nnpncSLM

0)(

f) timpul mediu

[ ] [ ] [ ]cATMSLMTLM ⋅= ,

unde M[AT] este media intervalelor de timp dintre două veniri consecutive. Aşadar, pentru a rezolva un model folosind procese de naştere şi deces trebuie cunoscute intensităţile procesului λn , n ≥ 0, µn , n ≥ 1. Pe baza acestor intensităţi se calculează probabilităţile

pn , n ≥ 0, şi apoi elementele necunoscute ale modelului, conform cu formulele precedente.

8.3. Modelul Po(λ)/Exp(µ)/1:(∞,FIFO) În acest model intrările se fac după repartiţia Poisson

0,!)())(( ≥== − ne

ntntNP t

nλλ ,

iar intervalul de timp dintre două sosiri consecutive are o repartiţie exponenţială de parametru λ , cum se poate constata uşor.

Page 167: mao

Modele şi algoritmi de optimizare

166

Serviciile se fac după repartiţia exponenţială, adică durata serviciului ca variabilă aleatoare are repartiţia exponenţială,

. ⎩⎨⎧

<≥−

=−

0pentru , 00pentru ,1

)(xxe

xFxµ

Raportul µλρ = se numeşte intensitate de trafic sau factor de serviciu. El

reprezintă, în medie, numărul de clienţi care vin în perioada unui singur timp de serviciu.

nţii care îl solicită în unitatea se va produce o aglomerare.

Dacă ρ < 1, numărul clienţilor din şirul de aşteptare va creşte necontenit. Dacă ρ = 1, nu se va produce o coadă imensă – durata serviciilor coincide cu unitatea de timp, însă evident în anumite momente va fi aglomeraţie.

În modelul precedent λn =λ şi µn = µ , (∀) n ∈ N * . În acest caz, ecuaţiile Kolmogorov−Feller (8.4) devin, pentru cazul staţionar

(8.5)

Ultima ecuaţie dă

Dacă ρ > 1, atunci durata serviciului pentru cliede timp este mai mică decât unitatea de timp, deci nu

⎩⎨⎧

=+−≥∀=++− +−

01 )( , 0)(

10

11

ppnppp nnn

µλµµλλ

001 ppp ⋅== ρµλ

şi înlocuind în prima, avem 0

22210 0)( ppppp ρµµλλ =⇒=++− .

Rezultă prin inducţie că pn = ρ n p0 .

Dar 1 1 0 =ρ⇒= ∑∑

∈∈ NN n

n

nn pp ,

însă

01 1

1 pn

n =ρ−⇒ρ−

=ρ∑∈N

când ρ < 1 şi atunci pn = ρ n( 1 − ρ) . (8.6)

Se pot determina elementele necunoscute ale modelului în funcţie de ρ. De asemenea, se pot găsi: − pn maxim

[ ]1

0)1(+

=⇒=−n

ndd n ρρρρ

şi atunci

11

1)(

+⋅⎟

⎠⎞

⎜⎝⎛

+=

nnntp

n

n .

Page 168: mao

8. Elemente de teoria aşteptării 167 Aşadar, putem determina: − ţi din sistem la momentul t numărul mediu de clien

[ ]ρ−∈ 1Nn

nρ (8.7)

− de aşteptare – lungimea medie a cozii

=ρ−ρ== ∑∑ − )1()()( 1nntnptNM

numărul mediu al clienţilor din şirul

[ ] ∑∑ =−−=−= )1()1()1( nnpnLM ρρρ (8.∞ 2

8)

−== 22 nn

−1 1n ρ timpul mediu de aşteptare la coadă

[ ] [ ])1()1( 0 ρµµ −− p

11

ρ== LMWTM (8.9)

− timpul mediu de aşteptare în sistem

[ ] [ ])1( ρµµ −

11=+= WTMWM . (8.10)

lt de m persoane şi

(8.11)

Pr un moment dat să fie

(8.12) De e notaţiile de mai

a

Dacă este interesantă probabilitatea ca în sistem să fie mai mudorim ca ea să nu depăşească o anumită valoare ε, atunci

ερερρρρρ <⇒<−−−−−−− − mm 1 )1(...)1()1(1Se pot determina astfel ε şi µ încât să nu existe aglomeraţie.

opoziţia 8.1. Probabilitatea ca numărul clienţilor din sistem la mai mare ca un număr dat k este

P( N( t ) > k ) = ρ k+1 . monstraţie. Calculăm această probabilitate, ţinând seama dinte, şi avem în

( ) 11

11 1)1()1()()( +

+∞

+=

+=

=−

−=−==> ∑∑ kk

kn

n

knn tpktNP ρ

ρρρρρ .

Se poate determina probabilitatea ca un client să aştepte la rând un timp superior unui timp dat t0 . Deoarece timpul de aşteptare la coadă este o variabilă aleatoare continuă, vom determina repartiţia complementară a acestei variabile aleatoare, adică P(WT >t0 ) (funcţia de repartiţie F(t0) = P(WT ≤ t0 )). Determinăm această repartiţie prin intermediul unei probabilităţi elementare de forma P( t < WT < t + dt ), care reprezintă probabilitatea evenimentului ca timpul de aşteptare al unui client la coadă să fie cuprins în intervalul (t, t+dt). 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, t+dt) condiţionat de faptul că la sosirea lui în sistem există deja n > 0 clienţi. Observaţia 8.2. Dacă n = 0 la sosirea în sistem a clientului, acesta nu aşteaptă şi

intră direct în serviciu. .

Cum se calculează Pn( t < WT < t + dt ) ?

∑∞

=

+<<=+<<1

)()(n

n dttWTtPdttWTtP

Page 169: mao

Modele şi algoritmi de optimizare

168

Fiind o probabilitate condiţionată, se scrie ca un produs de probabilităţi pentru următoarele trei evenimente: a) evenimentul ca, la sosire, în sistem să existe n unităţi, Pn(0). Se ia momentul

sosirii clientului ca fiind t = 0 ; b) evenimentul ca în intervalul de timp t să fie serviţi şi să plece din sistem n−1

clienţi, cu condiţia să fi existat iniţial n clienţi în sistem. Probabilitatea acestui

eveniment este ( )( )

tn

et µµ −−1

;

c) evenimentul ca în intervalul de timp dt să fie servit şi să plece un client, condiţionat de evenimentele de la a) şi b). Probabilitatea acestui eveniment este µ dt . Prin urmare,

n − !1

( )( ) dten

tPdttWTtP tn

nn µµ µ ⋅

−⋅=+<< −

!1)0()(

1

.

Sistemul este presupus în regim staţionar şi atunci avem: ( )( ) =

−−=+<< WTtP( −

=

∑ dten

tdtt t

n

nn µ

µρρ µ

1

1

!1)1()

( )( )dte

ntde t

n

nt ρµµ µρρ

ρµρµρ −−

=

−− −=

−−= ∑ 1

1

1

)1(!1

)()1( .

Aşadar,

=−−

−=−=>∞−−∞ −−−∫0

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

)1()1(

0t

t

edetWTPρµ

µρρτµρρρτµ

ρτµ

= )1(0 ρµρ −− te , pentru ρ < 1. Am obţinut P( WT > t0 ) = şi astfel am demonstrat

o t să aştepte la rând un timp superior unui timp dat t0 este

P( WT > t0 ) = . Exemplu. La o bază de aprovizionare sosesc în medie 30 de autobasculante pe oră pe care trebuie să le încarce un singur excavator. Timpul mediu necesar încărcării unei autobasculante este de 1 min şi 30 s. Să se stabilească elementele modelului de aşteptare care rezultă, dacă se consideră că sosirile sunt poissoniene, iar servirile, exponenţiale. Să se determine probabilitatea ca în sistem să fie 3 sau mai mult de 3

Rezolvare. Presupunem că prin observaţiile din teren ne situăm în cazul modelului Po(λ)/Exp(µ)/1:(∞,FIFO) . Pentru acest caz intensitatea intrărilor este λ=30 , iar

)1(0 ρµρ −− te următoarea propoziţie. Pr poziţia 8.2. Probabilitatea ca un clien

)1(0 ρµρ −− te

autobasculante.

Page 170: mao

8. Elemente de teoria aşteptării 169

cea a ieşirilor (serviciilor) din sistem este s30min1

min60=µ . Intensitatea de trafic

este 43

=ρ . Din relaţia (8.6) avem 25.010 =−= ρp , p1=0.1875 ş.a.m.d.

Se pot determina acum conform cu relaţiile (8.7)−(8.11) elementele necunoscute ale modelului: − numărul mediu de autobasculante din sistem M[N(t)]=3. − numărul mediu de autobasculante din şirul de aşteptare M[L1(t)]=2.25.

[W]=6 min. − timpul mediu de aşteptare în şirul de aşteptare M[WT]=4 min şi 30 s. Din relaţia (8.12) avem P( N( t ) > 2) = ρ 2+1=0.42187 .

Comentariu. Dacă s-ar pune problema ca în sistem să fie în medie 2 autobasculante în

− timpul mediu de aşteptare în sistem M

21

=− ρρ şi

µλρ ==

32

edie a

loc de 3, atunci din relaţia (8.7) obţinem . Cum λ=30

este o dată exterioară sistemului, trebuie modificată durata m serviciilor, şi nume . Pentru noile valori ale parametrilor ρ , µ se pot determina

8.1.

a s45=µelementele necunoscute ale modelului.

Să rezolvăm modelul pentru valorile iniţiale ale parametrilor λ şi µ cu pachetul de programe Management Scientist. După lansarea pachetului de programe selectăm modulul Waiting Lines şi din acesta Poisson Arrivals / Exponential Service (Figura 2.4). Introducem datele de intrare ca în Figura

Figura 8.1

Selectând Solve obţinem soluţia modelului care, aşa cum se vede din Tabelul 8.1, coincide cu cea obţinută mai sus.

Page 171: mao

Modele şi algoritmi de optimizare

170

Tabelul 8.1 WAITING LINES ************* NUMBER OF CHANNELS = 1 POISSON ARRIVALS WITH MEAN RATE = 30 EXPONENTIAL SERVICE TIMES WITH MEAN RATE = 40 OPERATING CHARACTERISTICS ------------------------- THE PROBABILITY OF NO UNITS IN THE SYSTEM 0.2500 THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE 2.2500 THE AVERAGE NUMBER OF UNITS IN THE SYSTEM 3.0000 THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE 0.0750 THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM 0.1000 THE PROBABILITY THAT AN ARRIVING UNIT HAS TO WAIT 0.7500 Number of Units in the System Probability ----------------------------- ----------- 0 0.2500 1 0.1875 2 0.1406 3 0.1055 4 0.0791 5 0.0593 6 0.0445 7 0.0334 8 0.0250 9 0.0188 10 0.0141 11 0.0106 12 0.0079 13 0.0059 14 0.0045

15 0.0033 16 0.0025 17 OR MORE 0.0075

8.4. Modelul Po(λ)/Exp(µ)/1:(m, FIFO)

Pentru acest model, lungimea maximă a cozii este m<∞. În acest caz, probabilitatea ca în intervalul de timp de lungime ∆t>0 să sosească un client în sistem este proporţională cu mărimea intervalului; coeficientul de proporţionalitate depinde de numărul n de unităţi aflate în sistem la momentul respectiv şi rămâne λn ; analog, coeficientul legat de servicii rămâne µn . În ecuaţiile de stare (8.4) facem presupunerea că probabilitatea ca în intervalul de timp ∆t să sosească în sistem un client este cu atât mai mică cu cât numărul clienţilor rămaşi din numărul total este mai mic,

( ) t∆t∆nm nλλ =− şi atunci ( )λλ nmn −= . Coeficientul µn nu depinde de numărul de clienţi din sistem la un moment dat, deoarece există o singură staţie, şi îl notăm cu µ . În ecuaţiile de stare (8.4), înlo şi µn şi considerând µn+1 = 0,

bţinem ecuaţia cuind λn

o

0110 0 pmpppmµλµλ =⇒=+− .

Page 172: mao

8. Elemente de teoria aşteptării 171 În cea de-a doua ecuaţie din (8.4 1 şi obţinem ) luăm n =

[ ] 0)1( 210 ⇒=++−− ppmpm µµλλ

⇒=+⋅−⋅−−⇒ )1( 0 pmmpm λλ 0200 ppm µµλµ

µλ

)1( 02 mmp =⇒

2

p⎟⎞

⎜⎛

−λ . ⎟

⎠⎜⎝ µ

Luând n = 2, obţinem [ ] ⇒=++−−− 0)2()1( ppmpm 321 µµλλ

−+⎟⎟⎞

⎜⎜⎛

−−−⋅−⇒ 300 )1()2()1( ppmmmpmm µλλλλ ⎠⎝ µµ

2

)2)(1( 0)1( 30 mmmppmm −−=⇒=⎟⎟⎜⎜−− µ 0

3

p⎟⎟⎠

⎞⎜⎜⎝ µ

λ .

2⎛

⎠⎝ µ⎞⎛ λ

Prin inducţie rezultă

0pAp mn ⎟⎟⎜⎜= n

n ⎞⎛ λ

⎠⎝ µ

⎟⎟⎜⎜:)(tN şi ∑ )(k tp⎠⎝ )()()()( 210 tptptptp mK

⎞⎛ 210 mK m

⇒==

1 0k

. 1 , 1 1 0

0

00

0 =

⎟⎟⎠

A⎞

⎜⎜⎝

⎛=⇒=⎟⎟

⎞⎜⎜⎝

⎛⇒

∑∑

=

=m

m

n

nnm

m

n

nnm AppA

µλµ

λ

alculul elementelor necunoscute ale modelului C• numărul mediu de clienţi din sistem

=⎟⎠

⎜⎝

⎟⎠

⎜⎝ === n

mn

mn

n0

00

00 µµ

⎟⎜−−=⎟⎜== ∑∑∑ nn pAnmmpnAtnptN )]([)()]([ ⎞⎛⎞⎛ m nm nm

M λλ

=

⎟⎟⎠⎝⎠⎝⎠⎝ === 444 3444 2144 344 21 0

00

00

1n

mn

mn µλµµ

⎞⎛⎞⎛−⎟⎟

⎞⎜⎜⎛

= ∑∑− +1 1

0 (pAmm nm nm n

nm

λµλλ⎜⎜−=⎟⎟⎜⎜− ∑ +

0

1

1

)

p

pAmpAnm nn

)1()]([ deci ; )1( 00 pmtNMpm −−=−−=λµµ

λ ,

.

• numărul mediu de clienţi serviţi la un moment dat

00000

110)]([ )(1)(

10:)( ppptnM

tptptn ss −=−+=⇒⎟⎟

⎞⎜⎜⎝

⎛−

Page 173: mao

Modele şi algoritmi de optimizare

172

Dacă µ este numărul mediu de clienţi ce pot fi serviţi pe unitatea de timp, dacă staţia este ocupată tot timpul, atunci numărul mediu de clienţi serviţi efectiv într-o unitate de timp este µ ( 1 − p0 ). • 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 − p ) = 0

= )1(][ )1()1( 000 pmLMppm c −+

−=⇒−−−−λ

λµλµ .

• timpul mediu de aşteptare la coadă

, 1

1][

1

1][)1(

1][

0

01

0

⎥⎦

⎤⎢⎣

⎡ +−

−=⇒

⇒⎥⎦

⎤⎢⎣

⎡ +−

−=

−=

λλµ

µ

λλµ

µµ

pmWTM

pmLM

pWTM

• timpul mediu de aşteptare în sistem

⎥⎦

⎤⎢⎣

⎡−

−=⇒⎥

⎤⎢⎣

⎡−

−=+=

λµ

µλµ

µµ 00 11][

111][][

pmWM

pmWTMWM .

Exemplu. O firmă de taximetre are 12 autoturisme şi un singur mecanic de întreţinere. Ştiindu-se că repartiţia de probabilitate a timpului de funcţionare

m între două defecţiuni este exponenţială cu media de 6 zile, iar repartiţia necesar reparaţiei defecţiunii este exponenţială cu media 4 ore, să se

determine: • probabilitatea ca la un moment dat toate autoturismele să funcţioneze, • timpul mediu de aşteptare a unui autoturism defect până la momentul când

începe să fie reparat, i autoturism până în momentul în care

părăseşte atelierul de reparaţii, • numărul mediu de autoturisme la coadă şi • numărul mediu de autoturisme din atelier. Se consideră ziua de lucru de 8 ore. Rezolvare

a unui autoturistimpului

• timpul mediu de aşteptare a unu

41 ;

481

681

==⋅

= µλ maşini pe oră , 121

1481

==µλ , atunci

4

, 19857.003607.5112

012

0 ==

⎟⎞

⎜⎛

=

1

12

1

⎠⎝=n

nnA

p

Page 174: mao

8. Elemente de teoria aşteptării 173 reprezintă probabilitatea ca la un moment dat toate autoturismele s funcţioneze. ă

58141.1)19857.01(

481

41

481

12)1(][ 01 =−+

−=−+

−= pmLMλ

λµ ,

38284.2)19857.01(

8610λ41

12)1()]([ =−

−=−−= pmtNM µ ,

89294.7

4840

⎥⎥⎦⎢

⎢⎣

1481

41

19857.0112

11

11][ ⎥

⎥⎤

⎢⎢⎡ +

−−

=⎥⎦

⎤⎢⎣

⎡ +−

−=

λλµ

µ pmWT , M =

. 89294.11

48141

19857.0112

411

11

⎤⎡⎡ m][

0

=

⎥⎥⎥⎥

⎦⎢⎢⎢⎢

−−

=⎥⎦

⎤⎢⎣

−−

=λµ

µ pWM

ă lansarea

Waiting Lines ew şi din fereastra care apare selectăm Poisson Arrivals/Exponential Service (Finite Pop.), (Figura 2.4). În fereastra care apare introducem datele de intrare

Pentru rezolvarea acestei probleme cu Management Scientist, dupprogramului, selectăm , apoi din meniul File alegem N

25.0,02083.086

1==

⋅= µλ

ca în Figura 8.2, apoi selectăm Solve

Figura 8.2

şi rezultatele sunt afişte pe ecran sub următoarea formă (Tabelul 8.2).

Page 175: mao

Modele şi algoritmi de optimizare

174

Tabelul 8.2

WAITING LINES ************* NUMBER OF CHANNELS = 1 POISSON ARRIVALS WITH MEAN RATE = 0.02083

EXPONENTIAL SERVICE TIMES WITH MEAN RATE = 0.25 FINITE CALLING POPULATION OF SIZE = 12

OPERATING CHARACTERISTICS ------------------------- THE PROBABILITY OF NO UNITS IN THE SYSTEM 0.1986 UNITS UNITS THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE 7.8907

THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM 11.8907 ING UNIT HAS TO WAIT 0.8014

Number of Units in the System Probability ----------------------------- ----------- 0 0.1986 1 0.1986 2 0.1820 3 0.1517 4 0.1137 5 0.0758 6 0.0442

0.0221 0.0092

10 0.0008 11 0.0001 12 0.0000

THE AVERAGE NUMBER OF IN THE WAITING LINE 1.5808 THE AVERAGE NUMBER OF IN THE SYSTEM 2.3822

THE PROBABILITY THAT AN ARRIV

7 8 9 0.0031

8.5. Modelul Po(λ)/Exp(µ)/c:(∞, FIFO) Aceste modele generalizează modelele de aşteptare cu o singură staţie de servire, 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 . Atunci avem: • probabilitatea unei veniri în intervalul ( t , t + ∆t ) este λ∆t + O (∆t), iar venirile

sunt independente între ele, dintr-o staţie de servire în intervalul de timp (t , t +

+ ∆t) este µ∆t + O (∆t) , • probabilitatea rămânerii unui client în sistem este 1 − µ∆t + O (∆t) , • în staţiile de servire este

− nµ∆t + O (∆t), deoarece ieşirile din sistem sunt independente, • probabilitatea ca în intervalul de timp ( t , t + ∆t ) un client să părăsească sistemul

atunci când n staţii de servire lucrează simultan este nµ ∆t + O(∆t) .

• probabilitatea unei ieşiri

probabilitatea ca n ≤ c clienţi să rămână( 1 − µ ∆t+ O (∆t) )n = 1

Page 176: mao

8. Elemente de teoria aşteptării 175 Notăm En evenimentul care constă în prezenţa a n clienţi în sistem şi cu pn(t) probabilitatea producerii evenimentului En la momentul t. Vom calcula Pn( t + ∆t ). a) 0 < n < c . Vom neglija probabilităţile de ordin de mărime mai mic ca O (∆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

lecare în/din sistem în intervalul de timp (t, t + ∆t). Probabilitatea corespunzătoare este nici o p

( )( ) =∆+∆−∆+∆− )()(1)(1 tpttntt nOO µλ [ ] , )())()(1 tpttn n∆+∆+−= Oµλ

2) sistemul se găseşte la momentul t în starea En−1 ş şi nici o plecare. Probabilitatea corespunzătoare este

i au loc o venire

( )( ) ttptpttt nn ∆=∆−∆+∆ −− )()(1)( 11 λµλ O , şte la momentul t în starea En+1 şi au loc o ieşire din

ătoare este 3) sistemul se găse

sistem şi nici o venire. Probabilitatea corespunz( )( ) =∆+∆+∆+∆− + )()()1()(1 1 tpttntt nOO µλ

[ ] . )())()1( 1 tpttn n+∆+∆+= Oµ Aşadar,

[ ][ ] )()()1(

)()()()(1)(

1

1

tpttnttptpttnttp

n

nnn

+

∆+∆+++∆+∆+∆+−=∆+

OO

µλµλ

(8.13)

b) 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, t + ∆t). Ieşirile nu pot avea loc decât din cele c staţii ocupate.

Probabilitatea corespunzătoare este ( )( ) =∆+∆−∆+∆− )()(1)(1 tpttctt nOO µλ

[ ] , )())()(1 tpttc n∆+∆+−= Oµλ întrucât toţi cei c clienţi din staţiile de servire rămân în sistem (n-au terminat serviciul).

2) sistemul se găseşte la momentul t în starea En−1 , are loc o intrare în sistem şi nu se produce nici o ieşire. Probabilitatea corespunzătoare este

( )( ) ttptpttctt nn ∆=∆+∆−∆+∆ −− )()()(1)( 11 λµλ OO . 3) sistemul se găseşte la momentul t în starea En+1 , nu are loc nici o intrare

în sistem, dar are loc o ieşire. Probabilitatea corespunzătoare este ( )( ) pctpttctt n ttn ∆=∆+∆∆+∆− + )()()(1 1 + )(1µµλ OO ,

unde )( ttc ∆+∆ Oµ este probabilitatea ca un client ărăsească sistemul atunci când c staţii lucrează simultan.

să p

Aşadar,

Page 177: mao

Modele şi algoritmi de optimizare

176

[ ]. )(

)()()()(1)(

1

1

ttpcttptpttcttp

n

nnn

∆++∆+∆+∆+−=∆+

+

µλµλ O

(8.14)

tualităţ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, t + ∆t). Probabilitatea

2) sistemul se găseşte la momentul t în starea E1 , are loc o ieşire din sistem şi nu se produce nici o intrare. Probabilitatea corespunzătoare este

c) n = 0 . Evidenţiem următoarele even

corespunzătoare este ( 1 − λ ∆t + O (∆t ) ) p0 ( t ).

( )( ) [ ] )()()()()(1 11 tptttptttt ∆+∆=∆+∆∆+∆− OOO µµλ . Am obţinut

[ ] [ ] )()()()(1)( 100 tptttpttttp ∆+∆+∆+∆−=∆+ OO µλ (8.15) Din relaţiile (8.13), (8.14), (8.15), prin împărţire la ∆t şi ţinând seama de

roprietăţilep funcţiilor O (∆t) , trecând la limită (∆t → 0), obţinem ecuaţiile de acest model:

+−=

+−

. )()1()(

)()()

11 tpntptptp

nn µλµλ

În cazul staţionar , ecuaţiile de stare (8.16) devin

(8.17)

Pentru rezolvarea sistemului (8.17) vom nota

zn = −λ⋅pn−1 + n⋅µ⋅pn . Prima ecuaţie din (8.17) devine

z1 = −λ⋅p0 + µ⋅p1 = 0 . Prelucrăm a doua ecuaţie din (8.17)

−λ⋅pn + ( n + 1)⋅µ⋅pn+1 = −λ⋅pn−1 + n⋅µ⋅pn , de unde rezultă că

z = z = ... = z = 0 .

stare pentru⎧ ′ (tp

⎪⎩

⎪⎨

≥+++−=′<≤+−=′

+− , )()()()()(1 , )()()(

11

100

cntpctptpctpcntpntp

nnnn

nn

µλµλµλ (8.16) +++

0 , 0)( ≥=′ ntpn

⎪⎩

⎪⎨

≥+=+<≤++=+

=

+−

+−

.)(1)1()(

11

11

10

cnpcppccnpnppn

pp

nnn

nnn

µλµλµλµλ

µλ

n+1 j 1

µλρρ

µλ

µλ

µλ

==⎟⎟⎠

⎞⎜⎜⎝

⎛=⇒⋅== − ;

!1

!1 1 ; 00101 p

np

npp

nppp n

n

nnn .

Astfel,

. 1 , !

10 cnp

np n

n <≤= ρ

Din ultima ecuaţie a sistemului (8.17) rezultă că −λ⋅pn + c⋅µ⋅pn+1 = −λ⋅pn−1 + c⋅µ⋅pn .

De unde

Page 178: mao

8. Elemente de teoria aşteptării 177

zn = zn+1 , iar zc = −λ⋅pc−1 + c⋅µ⋅pc = 0. Astfel

=⋅= −11

cc pc

pµλ 00 !)!1(

1 pc

pcc

cc ρρ=

−⋅ .

Aşadar,

0 , ! 0 ≥⎟

⎠⎞

⎜⎝⎛=+ kp

ccp

ck

kcρρ .

Pentru acest model notăm cρρ =* intensitatea de trafic a sistemului de

aşteptare. Am obţinut soluţia sistemului (8.17)

⎪⎩ −! 0cc cnn

Deoarece 10

=∑

⎪ ≥= . , cnpp (8.18)

⎪⎪⎨

⎧<≤= 1,

! 0 cnpn

pn

n

n

ρ

ρ

=nnp , rezultă că

( ) 1!!

*1

00 =⎟

⎟⎠

⎞⎜⎜⎝

⎛+ ∑∑

=

= cn

nc

n

n

cc

np ρρ ,

de unde obţinem

( ) ∑−

=

+−

=1

0*

0

!1!

1c

n

nc

nc

ρρ

.

Cunoscând repartiţia variabilei aleatoare N( t ), se poate determina repartiţia variabilei aleatoare Lc( t )

⎞⎜⎛ 10

:L .

Calculul elementelor necunoscute ale modelului • lungimea medie a cozii

)(0][k

kccc tkptptpLM .

Notăm c + k = n ⇒ k = n − c . Atunci

⎟⎠

⎜⎝ ++ ++ L)()()(...)( 210 tptptptp ccc

c

L2⎟

[ ] ∑∞

=++++⋅=

10 )()(...

=−=−= ∑∑∞

+=−

+= 10

1 !)()(][

cncn

n

cnnc p

cccnpcnLM ρ

Page 179: mao

Modele şi algoritmi de optimizare

178

=⎥⎥⎦

⎢⎣!c⎢= 10p⎡

+⎟⎟⎠

⎞⎜⎜⎝

⎛+⎟⎟

⎠⎜⎜⎝

+⎟⎟⎠

⎞⎜⎜⎝

⎛++

...3231 ccc

cccc

µλ

µµλ ⎞⎛

+2cλ

. ...321 ⎥⎤

⎢ ⎟⎟⎞

⎜⎜⎛

+⎟⎟⎞

⎜⎜⎛

+⎟⎞

⎜⎛

= pc λλλ ! ⎢⎣⎠⎝ cc µ

2

⎥⎦⎠⎝⎠⎝ cc µµ

1 ⎡+cc

0 ⎟⎜

Se ştie că

1 , 1 <=∑ − xkx k . )1( 2− x

11

=k

Aplicând în relaţia de mai sus, obţinem

2! ⎞⎛⎠⎝ λµcc

1+c

0][ ⎟⎟⎜⎜= pLM c ,

1 ⎟⎟⎜⎜ −

1⎞⎛ λcc

⎠⎝ µcde unde rezultă că

02][ pLM c ⎟⎟⎜⎜= . )()!1( cc ⎠⎝−− µλµ

c⎞⎛ λλµ

• , vom considera este acelaşi lucru atoare discretă cu

++ +− ...)()()()()()(:

11210 tptptptptptpn

cccs K

.

Pentru determinarea numărului mediu de clienţi din sistemnumărul de clienţi aflaţi în serviciu la un moment dat, carecu numărul de staţii ocupate n , ca fiind o variabilă ales

repartiţia

⎟⎟⎠

⎞⎜⎜⎝

⎛ −1210 ccK

( )

. )(!

1)(!

1

)()(...)()()(][

00

00

101

0

∑∑

∑∑∑∞

=−

=

+==+

=

⎟⎟⎠

⎞⎜⎜⎝

⎛+⎟⎟

⎞⎜⎜⎝

⎛=

=+=+++=

n

n

cn

c

n

ncn

n

c

nncc

c

nns

tpcc

ctpn

n

tpctnptptpctnpnM

µλ

µλ

De aici rezultă că

µλ

=][ snM ,

iar cum M[N( t )] = M[Lc] + M[ns],

obţinem că

µλ

µλ

λµµλ

+⎟⎟⎠

⎞⎜⎜⎝

⎛−−

= 02)()!1()]([ p

cctNM

c

.

• numărul mediu de servicii făcute efectiv în unitatea de timp

λµµλµ =⋅=][ snM .

• timpul mediu de aşteptare la coadă

Page 180: mao

8. Elemente de teoria aşteptării 179

)()()!1(

][][ 02 tp

ccLM

WTMc

c⎟⎟⎠

⎞⎜⎜⎝

⎛⋅

−−==

µλ

λµµ

λ .

• timpul mediu de aşteptare în sistem

µ1][][ += WTMWM .

• numărul mediu de staţii de servire care lenevesc (neocupate) −

=

ctpjcc

jj

1

0)() .

Exe ă în medie 6 autoturisme pe oră. Un lucător foloseşte pentru spălatul unui autoturism în medie 15 minute. Să se determine elementele sistemului pentru cazurile în care se folosesc 2 şi respectiv 3 lucrători. Rezolvare

avem

ρ−=−= ∑SLM (][

mplu. La o spălătorie auto se prezint

146 , 4

1560 , 6 >==== ρµλPentru acest exemplu . Cum ρ > 1 , nu este

suficient un singur lucrător. Vom considera următoarele situaţii: a) c = 2 (2 lucrători)

21429.023 , 14286.0

231

431!2

123

10120 ===

++⎟⎠⎞

⎜⎝⎛ −

⎟⎠⎞

⎜⎝⎛

= ppp ,

16072.0!2

123

0

2

2 =⎟⎠⎞

⎜⎝⎛= pp etc

92861.1

431

12!2

12314286.0][ 2

3

2 =

⎟⎠⎞

⎜⎝⎛ −

⎟⎠⎞

⎜⎝⎛⋅=LM ,

21

232][ =−=−= ρcSLM ,

4261.323

231

12!2

12314286.0)]([ 2

3

=+

⎟⎠⎞

⎜⎝⎛ −

⎟⎠⎞

⎜⎝⎛⋅=tNM ,

. s17min1932143.06

92861.1][][ ====λ

cLMWTM

b) c = 3 (3 lucrători)

Page 181: mao

Modele şi algoritmi de optimizare

180

21053.013313

1230 =

⎞⎛⎞⎛=p ,

!2221

231!32

⎟⎠

⎜⎝

+++⎟⎠⎞

⎜⎝⎛ −

⎟⎠

⎜⎝

etc 3158.023

01 == pp .

; 73685.1)]([ ; 23685.0][ 3 == tNMLM . s22min2ore03946.0][ ; 5.1][ === WTMSLM

Concluzie. Din punctul de vedere al clienţilor, serviciul la spălătorie este mult mai atractiv cu 3 lucrători, deoarece numărul mediu al autoturismelor care stau la rând în acest caz este 0.23 şi aşteaptă în medie doar 2 min şi 22 s, faţă de cazul în care ar fi doar 2 lucrători şi ar aştepta în medie 19 min şi 17 s. În cazul b) 21% dintre solicitanţi au şansa să nu stea la rând.

ăm modulul Waiting Lines, apoi modelul Poisson Arrivals / Exponential Service. Introducem datele de intrare pentru cazul cu 2 lucrători în fereastra corespunzătoare modelului selectat (Figura 8.3).

Apelăm Management Scientist pentru rezolvarea acestui model. După lansarea pachetului de programe, select

Figura 8.3

abelul 8.3.

8.6. Modelul P0(λ)/Exp(µ)/c:(m,FIFO) Acest model reprezintă cazul sistemului de aşteptare cu sosiri poissoniene, servicii exponenţiale, mai multe staţii de servire în paralel (identice în ceea ce priveşte timpul de servire), număr limitat de clienţi, m, şi disciplina de servire FIFO.

Selectând Solve se obţin rezultatele prezentate în T Analog se rezolvă şi cazul cu c=3.

Page 182: mao

8. Elemente de teoria aşteptării 181

elul 8.3 WAITING LINES ************* NUMBER OF CHANNELS = 2

EAN RATE = 6 ES WITH MEAN RATE = 4 PER CHANNEL

OPERATING CHARACTERISTICS ------------------------- THE PROBABILITY OF NO UNITS IN THE SYSTEM 0.1429 THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE 1.9286 THE AVERAGE NUMBER OF UNITS IN THE SYSTEM 3.4286

GE TIME A UNIT SPENDS IN THE WAITING LINE 0.3214 THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM 0.5714 THE PROBABILITY THAT AN ARRIVING UNIT HAS TO WAIT 0.6429 Number of Units in the System Probability ----------------------------- ----------- 0 0.1429 1 0.2143 2 0.1607 3 0.1205 4 0.0904

6 0.0509

8 0.0286 9 0.0215 10 0.0161 11 0.0121 12 0.0091 13 0.0068 14 0.0051 15 0.0038 16 0.0029 17 OR MORE 0.0086

Tab

POISSON ARRIVALS WITH M EXPONENTIAL SERVICE TIM

THE AVERA

5 0.0678 7 0.0381

Pentru prezentarea modelului (schematizat în Figura 8.4) vom considera următorul exemplu. La o balastieră vin m autobasculante pentru a fi înc rcate de c excavatoare. Autobasculantele formează o singură coadă şi sunt încărcate după metoda FIFO. S-a observat că venirile autobasculantelor la coadă sunt repartizate P0(λ) , iar timpii de încărcare sunt repartizaţi după legea Exp(µ).

Figura 8.4

ă

Veniri O O ... O

coada

staţie de servire 1

staţie de servire 2

şir de aşteptare

numărul zilelor lucrăt

M

Page 183: mao

Modele şi algoritmi de optimizare

182

Determinarea ecuaţiilor de stare Notăm En evenimentul care constă în prezenţa a n autobasculante la balastieră, iar pn( t ) probabilitatea producerii evenimentului En la momentul t . Dacă n ≤ c , nu există coadă de aşteptare. Dacă n> c , se formează coadă de aşteptare. Fie Pn( t + ∆t ) probabilitatea ca la momentul t + ∆t să fie n autobasculante la balastieră. La intervalul de timp t + ∆t pot avea loc următoarele situaţii: 1) sistemul este în starea En , nu vine şi nu pleacă nici o autobasculantă

ătoare este: .

Probabilitatea corespunz( )( ))()(1) mt(1 ttntn ∆+∆−−∆+∆− OO λµ ,

dacă 1 ≤ n < c , sau ( )( ))()(1)(1 c ttnmtt ∆+∆−−∆+∆ OO− λµ ,

2) re în ătoare este

dacă n ≥ c . sistemul se află în starea En+1 , nu are loc nici o venire

bilitatea corespunz, dar are loc o pleca

intervalul de timp ( t , t + ∆t ). Proba[ ] [ ] )()1()()(1)()1( ttnttnmttn ∆+∆+=∆+∆−−⋅∆+∆+ OOO µλµ ,

dacă 1 ≤ n < c , sau [ ] [ ] )()()()(1 ttcttcttnm ∆+∆=∆+∆⋅∆+∆−− OOO µµλ ,

dac3) în intervalul de

ă n c . ≥sistemul se află în starea En 1− şi au loc o venire şi nici o plecaretimp ( t , t + ∆t ). Probabilitatea corespunzătoare este:

[ ] [ ]=∆+∆−−⋅∆+∆+− ()(1)()1( tnmttnm )tOO µλ )()1( ttnm ∆+∆+−= Oλ ,

dacă 1 ≤ n < c , sau [ ] [ ] )1()(1)()1( nmttcttnm )( tt ∆+∆+−=∆+∆−⋅∆+∆+− OO Oλµλ ,

dac a)

ă n ≥ c . Aşadar, pentru n < c , avem:

[ ] ()()(1)( pttnmnttp nn ∆+∆−+−=∆+ Oλµ[ ][ ] )()()1 tnm +∆+− Oλ(

)()()1()

1

1

tpttpttn

t

n

n

+

∆++∆+∆++

+Oµ

b) pentru n ≥ c , avem [ ]

[ ])()()(1)( tpttnmcttp nn

[ ] )()()1()()( 11 tpttnmtpttc nn −+ ∆+∆+−+∆+∆++∆+∆−+−=∆+

OO λµOλµ

c) pentru n = 0 , avem [ ][ ]( )

[ ] [ ] )()()()(1)()()(1

)()(1)(

10

1

00

tptttpttmtptttt

tpttttp

∆+∆+∆+∆−=∆+∆∆+∆−+

+∆+∆−=∆+

OOOO

O

µλµλ

λ

Page 184: mao

8. Elemente de teoria aşteptării 183

ece la limită pentru ∆t → 0 , şi se obţin ecuaţiile de stare ale

≤≤+−++−+−=′<≤

−+

−+

. )()1()()()()(

1

11

11

mnctpnmtpctpnmctp

cn

nnnn

nnn

λµλµ

În cazul staţionar, ecuaţiile de stare sunt

−+=⋅<≤+−−−+=⋅+

⋅=

+

−+

mncpnpnmcpccnpnmpnmnpn

pmp

n

nnn

1

11

10

)1)(1)1()()1(

λµµλλµµ

µλ

deoarece pm+1( t ) = 0 , sis ând de m autobasculante la un moment dat. Pentru rezolvarea sistemului, aplicăm acee todă ca la modelul din § 8.5 şi, prin inducţie, avem

Relaţiile a), b), c) le împărţim la ∆t , ţinem seama de proprietăţile funcţiilor )( t∆O când se tr

modelului ′

[ ]⎪⎪⎪⎧

+−+++−+−=′−=

)()1()()1()()()()()()( 010

tpnmtpntpnmntptpmtptp

n λµλµλµ

[ ]⎪⎪⎪

[ ][ ]⎪

⎪⎨

<≤+−− m(λ −n 1

avea multn

temu eputl n mai

aşi me

⎪⎩ !

Ac

n⎪⎨c⎧C

≤≤⎟⎠⎞

⎜⎝⎛

<=

.

,0

mncpc

cnpp n

nm

c

nnm

ρρ

,0

Înlocuind pn de mai sus în (8.3) rezultă

∑∑=

=⎟⎠⎞

⎜⎝⎛+

=m

cn

nnm

cc

n

nnm c

AccC

pρρ

!

11

0

0 .

Aici pn este probabilitatea ca, la un moment dat, să existe în sistem n autobasculante, p0 este probabilitatea ca în sistem să nu existe nici o

autobasculantă la un moment dat, iar 1<cρ pentru evitarea supraaglomerării.

Calculul elementelor necunoscute ale modelului După calcule laborioase se obţin pentru elementele necunoscute ale modelului următoarele rel• numărul mediu de clienţi din sist

aţii: em

ρρ

ρρ

ρρρ

ρ C∑ρ cCcmccptNMcm

cnn

m−

⎢⎣

⎡+

++−+ −

1)1(([

1

0

• numărul mediu de clienţi de la co

m+⎥

⎤c−1

n=0 ⎦=)]

adă

01Cm

c−ρ1

0][ pcCccmM c

c

n

nnm

=

+⎥⎦

⎣⎥⎦

⎤⎢⎣

⎡−−= ∑ ρ

ρ

• numărul mediu de staţii în lucru

01 p⎢⎡

−⋅Lc

Page 185: mao

Modele şi algoritmi de optimizare

184

M[ns] = M[N(t)] − M[Lc] • timpul mediu de aşteptare la coadă

][][

][s

c

nMLM

WTMµ

=

• timpul mediu de aşteptare în sistem

µ1][][ += WTMWM .

Aplicaţie numericBalastiera are 2 excavatoare care trebuie să încarce 20 autobasculante. S-a constatat că sosirile autobasculantelor sunt poissoniene cu parametrul λ = 0.3 autobas ante pe pul de încărcare ste expon ţial de para tru µ = 4 autobasculante pe oră pentru fiecare excavator. Să se determine elementele necunoscute ale fenomenului de Rezolva

ă

cul oră, iar tim e en me

aşteptare.

re

20 ; 2 ; 075.043.0

===== mcµλρ

18756.0

2075

⎟⎞.0

!22)750(

1

220

21

020

=

⎜⎝⎛+

=

∑== n

nn

n

nn AC

0.20

∑0p

+⎥⎦

⎤⎢

2

⎡ ⋅+

⋅⋅+

= ∑−

= 07.1)075.0(2

075.0(75075.0

075.002075.0)]220

200ptMn

n 5

)n

0.12([N

1C1

0C

08595.2075.0

2075.0 20=

−⋅+

+⎥⎦

⎤⎢⎣

⎡−⋅⎥⎦

⎤⎢⎣⎡= −− ∑

=

1

0202 )075.0(12

.020][

n

nnCpLM 2 220

1+ pC

)](][ 2

00752 74239.0)075.0( 0 =

[[ 34355.1] =−= LMtNnM s M

s 1n 7mi 813814.0][4

]][ 2 ==⋅

=sn

MWT [LM

M

. s 17min 2338814.041] +[] === WTM

Rezolvăm modelul de mai sus şi cu Management cientist. D lansarea pachetului de programe selectă modulul Waiting Lines, apoi modelul Poisson Arrivals/Exponential Service (Finite Pop.) ş ntroduce atele ca în igura 8.5. Du păsarea butonului Solve obţinem rezultatele din Tabelul 8.4 care coincid cu cele determinate anterior.

[WM

S upăm

i i m d Fpă a

Page 186: mao

8. Elemente de teoria aşteptării 185

Figura 8.5

Tabelul 8.4

WAITING LINES ************* NUMBER OF CHANNELS = 2 POISSON ARRIVALS WITH MEAN RATE = 0.3 EXPONENTIAL SERVICE TIMES WITH MEAN RATE = 4 PER CHANNEL FINITE CALLING POPULATION OF SIZE = 20 OPERATING CHARACTERISTICS ------------------------- THE PROBABILITY OF NO UNITS IN THE SYSTEM 0.1876 THE AVERAGE NUMBER OF UNITS IN THE WAITING LINE 0.7424 THE AVERAGE NUMBER OF UNITS IN THE SYSTEM 2.0859 THE AVERAGE TIME A UNIT SPENDS IN THE WAITING LINE 0.1381 THE AVERAGE TIME A UNIT SPENDS IN THE SYSTEM 0.3881 THE PROBABILITY THAT AN ARRIVING UNIT HAS TO WAIT 0.5311 Number of Units in the System Probability ----------------------------- ----------- 0 0.1876 1 0.2813 2 0.2005 3 0.1353 4 0.0863

0.0518 0.0291

0.0153

11 0.0005

5 6

7 8 0.0075

9 0.0034 10 0.0014

12 0.0002 13 0.0001 14 0.0000

8.7. Simulare Modelele matematice corespunzătoare sistemelor reale sunt folosite pentru a

atele deciziilor plementare. Simularea nu deter ă

urmăreşte evoluţia situaţia în care modelul matematic poate fi rezolvat analitic, această metodă este preferabilă simulării, deoarece se obţine soluţia optimă. Simularea se foloseşte în

analiza rezult înainte de im minsoluţia optimă a modelului matematic, ci compară rezultatele mai multor alternative predefinite cu scopul de a o reţine pe cea mai avantajoasă. Modelul de simulare

în timp a sistemului real şi ţine seamă şi de factorul aleatoriu. În

Page 187: mao

Modele şi algoritmi de optimizare

186

cazurile ă a modelului matematic este imposibilă sau destul d Simulare probabilistă

în care rezolvarea analitice dificilă.

Vom ilustra această metodă printr-un exemplu de model de aşteptare adaptat

ele dintre ele mân să fie descărcate în ziua următoare. S-a constatat că numărul de vagoane

în oricare altă noapte.

Tabel 8.5 Nr. vagoane Probabilitatea

după Bonini et al. (1997). Considerăm un depozit care are o rampă de descărcare a vagoanelor. Vagoanele sosesc noaptea şi descărcarea unui vagon durează o jumătate de zi. Dacă sunt mai mult de două vagoane la rând pentru descărcare, atunci unrăcare sosesc noaptea urmează repartiţia din Tabelul 8.5 şi este independent de numărul de vagoane sosite

0 0.23 1 0.30 2 0.30 3 0.10 4 0.05 5 0.02

cel puţin 6 0.00 Numărul mediu de sosiri pe noapte este de 1.5 vagoane. Suntem în cazul unui model de aşteptare cu o singură staţie de servire, FIFO, coadă infinită, cu rata serviciilor µ=2 şi rata sosirilor λ=1.5 . Se poate arăta că sosirile nu sunt poissoniene şi din acest motiv nu se poate aplica nici unul din modelele clasice. În ederea simulării avem nevoie de un eşantion de sosiri aleatoare pentru un număr

Tabelul 8.6

Număr de sosiri

Număgenerat

ţrelativă

vde nopţi. Pentru aceasta se poate folosi o tabelă de numere aleatoare sau un generator de astfel de numere. Vom folosi generatorul de numere aleatoare din Microsoft Excel pentru a genera numere uniform repartizate între 0 şi 99, pe care le vom asocia cu un număr de sosiri ca în Tabelul 8.6.

r aleatoriu

Frecven a

0 0-22 0.23 1 23-52 0.30 2 53-82 0.30 3 83-92 0.10 4 93-97 0.05 5 98-199 0.02

Vom considera comportarea sistem ş pta pe er dăPentru că simularea începe fără vagoane la descărcare, este necesară o perioad

ului de a te re o p ioa de 30 zile. ă de

Page 188: mao

8. Elemente de teoria aşteptării 187 iniţializare (o consid m ul să s pro d sit ie normală. Au fost gene te d u re re n ec în bel 8.7 preună

umăr Număr Total de

eră de 5 zile) pentru ca sistem e a pie e o uaţra 35 e n me , ca su t tr ute Ta ul , îm

cu rezultatele simulării.

Tabelul 8.7.

Ziua Naleatoriu sosiri descărcat Amânate Descărcate

x 99 5 0 0 0 x 6 0 0 0 0 x 15 0 0 0 0

3 1 2 1 12 0 1 0 1 2 39 1 1 0 1 3 39 1 1 0 1 4 16 0 0 0 0 5 24 1 1 0 1 6 45 1 1 0 1 7 88 3 3 1 2 8 81 2 3 1 2 9 53 2 3 1 2

10 26 1 2 0 2 11 56 2 2 0 2 12 77 2 2 0 2 13 31 1 1 0 1 14 34 1 1 0 1 15 94 4 4 2 2 16 11 0 2 0 2 17 15 0 0 0 0 18 92 4 4 2 2 19 38 1 3 1 2 20 14 0 1 0 1 21 36 1 1 0 1 22 9 0 0 0 0 23 56 2 2 0 2 24 84 3 3 1 2 25 12 0 1 0 1 26 79 2 2 0 2 27 25 1 1 0 1 28 81 2 2 0 2 29 1 0 0 0 0 30 65 2 2 0 2

Total 40 9 41

x 62 2 2 0 2 x 86 3

Media 1,33 0,3 1,36

Page 189: mao

Modele şi algoritmi de optimizare

188

Observăm că a fost descărcat şi un vagon în plus faţă de cele sosite în cele 30 de zile care constituie perioada de simulare, deoarece atunci când începem simularea pentru 30 de zile mai era un vagon de descărcat. Cunoscând care este penalizarea pentru amânarea descărcării unui vagon, se poate calcula pierderea cauzată pe perioada simulată. Se pot reface calculele pentru o capacitate de descărcare sporită, de exemplu 3 vagoane pe zi, şi se compară pierderea cauzată de vagoanele amânate, putând decide care este cea mai avantajoasă configuraţie

tru acest sistem simulării m odel de

şteptare, urmând ca pentru un eşantion mare să se folosească simularea cu

tistic datele culese la acest sistem de aşteptare, s-a constatat că osirile clienţilor sunt poissoniene, iar serviciile, exponenţiale. 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.

pen de aşteptare. Rolul anuale este de a înţelege în ce constă simularea unui macalculatorul. Există multe pachete de programe specializate în simulare, 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. Se poate folosi şi EXCEL pentru realizarea simulării modelelor de aşteptare sau de stocuri.

8.8. Probleme propuse 1. La un magazin de decoraţiuni interioare sosesc în medie 80 de clienţi pe oră, iarsolicitările unui client sunt satisfăcute în medie într-un minut şi jumătate. Analizând stas

R. Se consideră unitatea de timp minutul şi atunci, numărul mediu de sosiri într-un

inut este m 333.160

a) Intervalul mediu dintre două sosiri consecutive este de

80==λ .

75.080601

==λ

minute.

b) Numărul mediu de persoane ce pot fi servite pe oră este de 405.1

60==µ .

c) Deoarece !n)()( tetP

nt

nλλ−= , rezultă că 1054.0

!0)75.03()3(

075.03

0 =⋅

= ⋅−eP .

ire (un singur vânzător), d) Dacă sistemul de aşteptare are o singură staţie de serv

1280>===

λρ şi se creează aglomeraţie. Considerând sistemul cu mai multe 40µ

staţii 1~ <=ρρ şi alegem c ca c

fiind cel mai mic întreg pentru care este

Page 190: mao

8. Elemente de teoria aşteptării 189 atisfăcută această inegalitate. Obţinem c=2. Ca să nu se creeze aglomeraţie, este

R. În următoarea secvenţă MathCAD, care rezolvă această problemă, se consideră unitatea de timp minutul.

snevoie de 2 vânzători. 2. La ieşirea dintr-o staţie de betoane, sosesc pentru a li se spăla roţile în medie 15 autobasculante pe oră. Dacă repartiţia sosirii autobasculantelor pentru a li se spăla roţile este poissoniană, să se determine timpul maxim în care, cu probabilitatea de cel puţin 0.95, cel mult 3 autobasculante aşteaptă să li se spele roţile.

Media sosirilor λ1560

:=

Probabilitatea ca in intervalul de timp t sa soseasca n autobasculante

P n t,( ) e λ− t⋅ λ t⋅( )n

n!:= f t( )

0

3

n

P n t,( )∑=

:=

f(0)=1 f(1)=0.99987 f(2)=0.99825 f(3)=0.99271

f(4)=0.98101 f(5)=0.96173 f(6)=0.934

or

. La o staţie de betoane sosesc bene care sunt încărcate şi părăsesc imediat staţia. adă de o săptămână

şi timpiabelul 8.9 .

Tabelul 8.8

Nr bene sosite/ora (xi) 0 1 2 3 4 5 6 7

În maximum 5 minute, cu probabilitatea 0.95, cel mult 3 autobasculante vaştepta să li se spele roţile. 3S-a constatat că la intervale de o oră pe o perio benele au sosit conform cu Tabelul 8.8 . În aceeaşi perioadă s-au notat i de încărcare a benelor, iar rezultatele sunt trecute în T

Frecvenţa (Ni) 8 23 24 21 14 6 3 1

Tabelul 8.9

Minute/benă (tj) 5 10

15

20

25

30

35

40

45

50

55

60

Frecvenţa(Nj) 50

34

29

19

14

13 8 6 4 6 3 3

Minute/benă (tj) 65

70

75

80

85

90

95

100

105

110

115

120

Frecvenţa(N ) 4 2 0 0 2 0 0 0 0 2 0 1 j

a) Să se testeze că sosirile la staţia de betoane sunt repartizate Poisson.

numărul zilelor lucrătoare din an

Page 191: mao

Modele şi algoritmi de optimizare

190

b) Să se testeze că timpii de servire sunt repartizaţi exponenţial. c) Să se determine numărul mediu de bene din sistemul de aşteptare care este dat de

re aşteaptă să fie încărcate. .

g) Să se determine numărul punctelor de încărcare necesare pentru a evita aglomerarea în perioada de vârf.

ezolvare

staţia de betoane. d) Să se determine numărul mediu de bene cae) Să se determine timpul mediu de aşteptare la rând pentru a fi încărcate benelef) Să se determine timpul mediu petrecut de o benă în sistemul de aşteptare dat de staţia de betoane.

Ra) Vom folosi testul 2χ pentru a verifica ipoteza H0 : „Sosirile sunt repartizate

Po(λ)” , cu 45.2

8

1 ==∑

=iii Nx

λ . Determinăm ∑=

=2 iiχ , ′−8 2)( NN

statistica 1i i

c N8

∑ N1=i

i

unde ( ) 8,1, =∀=′ − ieNN ixii

λ . Obţinem 52657.02 =χ . Din tabela repartiţiei c2χ găsim, pentru pragul 05.0=α şi numărul gradelor de libertate,

61)18( =−−=l (deoarece avem un parametru λ , media sosirilor), 592.122 =χ . Cum 22 χχ < admitem ipoteza H c6;05.0 6;05.0c 0 u pragul de

semnificaţie 0.05 ; b) Vom folosi testul Kolmogorov pentru a verifica ipoteza H0: „Timpii de servire sunt repartizaţi Exp(µ)”. Pentru aceasta calculăm un estimator pentru media

5.19)5.2(

24

1

24

1 =−

=

∑timpilor de servire

=i

intervalului de referinţă). Atun

=

i

iii

N

Ntt minute (am considerat mijlocul

ci 05128.0=µ . Calculăm funcţia de repartiţie

teoretică iti eF 05128.01 −−= , funcţia de repartiţie empirică

∑=

== 24

1

1

jj

jj

i

NFe ,

( )

∑i

N

24,1=∀ i şi determinăm 0283.0max1

=−=≤i

FeFd . Pentru pragul de 24≤

semnificaţie 01.0=ii

α , în tabela funcţiei )(uK (testul asimptotic al lui

Kolmogorov) găsim u=1.63 . Deoarece 332.0=<ud 72 se admite ipoteza H0 23

cu pragul de semnificaţie 01.0=α ; c) Numărul benelor servite într-o oră 0768.35128.060 =⋅ . Suntem în cazul modelului Po(2.45)/Exp(3.07)/1:(∞,FIFO) şi atunci M[N(t)]=3.9;

Page 192: mao

8. Elemente de teoria aşteptării 191 d) M[L ]=3.11 ; e) M[WT]=3.7 min ; f) M[W]=23.24 min ;

)

1

g 107.345.2

<==µλρ şi astfel este suficient un singur punct de încărcare.

4. La o carieră, care are un singur utilaj de încărcare a autobasculantelor, sosesc în medie 15 autobasculante pe oră. În medie, utilajul poate să încarce 20 autobasculante pe oră. Din analiza statistică a datelor culese la faţă locului s-a constatat că sosirile sunt poissoniene, iar servirile, exponenţiale. 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. R. Se consideră unitatea de timp minutul. Modelul corespunzător acestei probleme

este Po(λ)/Exp(µ)/1:(∞,FIFO) cu λ=10, µ=20 şi 43

=ρ .

a) p0=0.25, b) M[N(t)]=3, c) M[L1]=2.25, d) M[WT]=0.15 min, e) M[W]=0.2 min, f) P(N(t)>2)=1-p0-p1-p2=1-0.25-0.1875-0.1406=0.4219, g) P(M[WT]>2)=0.0067 (extrem de rar se întâmplă ca autobasculanta să aştepte mai mult de 2 minute la rând pentru a fi încărcată!). 5. La o cantină a unei firme de construcţii, cu autoservire, cu un singur ghişeu, sosesc salariaţii la masă după legea Poisson cu rata 0.75 salariat/minut. Un funcţionar ia comanda, stabileşte preţul şi încasează contravaloarea comenzii. Până i se pregăteşte meniul, funcţionarul ia comanda următorului client aşezat la rând. S-a constatat că timpul mediu de servire este de 1 min/salariat. Se apreciază că în medie cei ce aşteaptă să ia masa sunt plătiţi cu 10 u.m./oră, iar funcţionarul de la ghiseu cu 7 u.m./oră. Conducerea firmei este interesată să cunoască: a) probabilitatea ca nici un salariat să nu fie în cantină, b) numărul mediu de salariaţi aşteptând să dea comanda, c) timpul mediu petrecut la rând de un salariat, aşteptând să dea comanda, d) probabilitatea ca un salariat care vine în cantină să aştepte să dea comanda şi e) costul orar al serviciului în cantină. R. a) p0=0.25 , b) 2.25 , c) 3min , d) 0.75 , e) 37 u.m. 6. Proprietarul unui service auto doreşte să înfiinţeze propria spălătorie auto, astfel ca în atelierul de reparaţii să intre autoturismele care au fost spălate. Ştiind că sosirile autoturismelor pentru service care trebuie şi spălate sunt poissoniene, cu rata medie de 3 autoturisme pe oră, iar un muncitor are nevoie în medie de 20 de

Page 193: mao

Modele şi algoritmi de optimizare

192

minute pentru spălarea unui autoturism şi probabilitatea de aşteptare pentru spălare să u depăşească 0.2, câţi muncitori pentru spălarea autoturismelor ar trebui angajaţi?

R. Tr

n

ebuie ca P(N[t]>c)<0.2 , adică 2.0)][(1 <≤− ctNP . Deoarece =λ şi 3

32060

==µ , atunci 1==µλρ ş ţin 2 muncitori, c=2.

ste cazul modelului Po(λ)/Exp(µ)/c:( ∞, FIFO). Luând pentru început c=2, bţinem P(N[t]>c)=1–(p0+p1)=1–(0.3333+0.3333+1.6667)=0.1666<0.2

Aşadar, ar trebui angajaţi 2 muncitori.

secţie de poliţie de constatări accidente uşoare sosesc în medie 15 automobile pe oră, repar . Într-o oră, un poliţist onstatator întocmeşte actele pentru 6 autom pul necesar acestei peraţii este repartizat exponenţial. Secţia are rezervate 5 locuri de parcare, iar dacă

ceperea întocmirii actelor

i astfel sunt necesari cel pu

Eo

7. La otiţia sosirilor fiind poissoniană

obile, iar timcosunt ocupate aceste locuri, celelalte automobile parchează în alte locuri din vecinătate. 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ă îne) timpul mediu de aşteptare la rând până când un poliţist vine să înceapă constatarea.

. λR =15 automobile/oră , µ=6 automobile/oră, 15.26

>===µ

ρ şi dacă ar fi un 15λ

singur poliţist ar fi supraaglomerare.

a) Alegem numărul c de poliţişti astfel încât 1<cρ , adică c=3 . Modelul de

aşteptare devine Po(λ)/Exp(µ)/3:( ∞, FIFO) ; pb) 0=0.0449;

c) 1)5(1)5(5

=−=≤−=> ∑nPnP

4065.0)0813.00975.01170.01404.01124.00449.0(10

=+++++−==

) M[L ]=3.5112 automobile ; e) M[WT]=14 minute .

de transporturi 4 camioane pentru a se aproviziona sau pentru a transporta marfa la clienţi. Depozitul are 2 rampe de încărcare/descărcare care încarcă/descarcă un camion în medie în 20 minute. La depozit sosesc în medie 4 camioane pe oră. S-a constatat că intervalele dintre sosiri şi timpii de încărcare au repartiţia exponenţială. 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ă

i ip

d 3 8. Un depozit închiriază de la o firmă

Page 194: mao

8. Elemente de teoria aşteptării 193

ş

R. a) p =0.0246 , b) M[N(t)]=2.6351 , c) P(M[N(t)]>2)=1-(p0+p1+p2)=0.5823 ,

d) tiind că pentru o oră chiria pentru un camion este de 20 u.m., care este suma medie orară plătită pentru nefolosirea unui camion?

0d) 986.220][ =⋅= WTMS u.m.

. La o dană din port, proprietatea unei companii petroliere, sosesc pentru escărcare tancuri petroliere la intervale de timp repartizate exponenţial, cu media

1.4 zile. Timpul mediu necesar descărcării este de asemenea presupus repartizat xponenţial, cu media 0.8 zile. Să se determine: ) numărul mediu de tancuri petroliere care aşteaptă la rând pentru descărcare

sosirii şi până la plecarea

curile petroliere se duc la dana liberă pentru descărcare, în ordinea sosirii

ntru descărcare compania pierde 4000 u.m. ? R. a) M[L1]=7.4098 ; b) M[WT]=10.3779 ; c) M[W]=11.6279 ; d) M[WT]=0.3108 ; e) M[L2]=0.2219 ; f) Pierderea pentru primul caz

9d

eab) timpul mediu de aşteptare în port înainte de a începe descărcarea c) timpul mediu de aşteptare în port din momentul tancului petrolier d) dacă se închiriază o dană cu 1500 u.m./zi, la care se lucrează la fel ca la prima şi dacă tanlor, 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 pe

6.41511][4000 1 =⋅ LM , iar pentru cel de-al doilea

10. O firmă are 30 de instalaţii de aer condiţionat şi frigidere şi pentru întreţinerea lor a angajat 2 specialişti. Ştiind că solicitările pentru intervenţii sosesc în medie una pe zi şi sunt repartizate Poisson, iar un specialist reuşeşte să depaneze un aparat (aer condiţionat sau frigider) în medie în 20 minute, timpul necesar depanării fiind

b) nc) p cei doi specialişti

e) ti

R. e) 2

caz 6.23871500][4000 2 =+⋅ LM . Da.

repartizat exponenţial, să se determine: a) numărul mediu de aparate care aşteaptă să fie depanate

umărul mediu de aparate care nu funcţionează la un moment dat robabilitatea ca să nu aibă de lucru

d) timpul mediu de aşteptare până când un specialist începe depanarea unui aparat mpul mediu de nefuncţionare a unui aparat

a) M[L2]=0.5037 , b) M[N(t)]=1.6836 , c) p0=0.2524 , d) 8 min 32 s , 8 min 32 s .

Page 195: mao

9.1. Introducere în teoria stocurilor

9.1.1. Punerea problemei În desfăşurarea unei activităţi de producţie intervin valori materiale care intră în procesul de prelucrare (materii prime, fonduri băneşti etc.) şi valori care rezultă

urma acestui proces (produse finite). Pentru ca procesul de producţie într-o întreprindere să se desfăşoare

eîntrerupt, este necesar ca întreprinderea să dispună de un stoc de materiale care poată alimenta în mod sistematic producţia.

Există astfel o cerere din stocul de materiale care vine din partea producţiei. treprinderea trebuie să investească o sumă de bani în aceste materiale pentru a fi

apabilă să satisfacă necesităţile procesului de producţie. Imobilizarea unor sume mari de bani în stocurile de materiale poate să conducă

pierderi pentru întreprindere. Pe de altă parte, dacă investiţia în stocul de materiale va fi mică, adică, stocul

ste subdimensionat, vor exista perioade când procesul de producţie încetează şi treprinderea înregistrează din nou pierderi datorate nefolosirii maşinilor şi

ţie. 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. Problemele care constau în dimensionarea optimă a stocurilor de materii prime şi materiale se numesc probleme de stoc aprovizionare. Produsele rezultate din procesul de producţie sunt cerute în afara întreprinderii în diferite cantităţi care variază în timp. Pentru ca întreprinderea să poată asigura întotdeauna satisfacerea cererii pe un interval de timp dat, este necesar să se realizeze un stoc de produse rezultate în urma procesului de producţie. Dacă întreprinderea menţine un stoc prea mare de produse, poate apărea o pierdere, constând din imobilizarea fondurilor băneşti investite în aceste produse, precum şi în eventuala depreciere a produselor sau recondiţionarea lor periodică. Dacă stocul nu ar putea să satisfacă cererea

satisfacerea comenzilor.

9. ELEMENTE DE TEORIA STOCURILOR

în nsă Înc la eînutilajelor în procesul de produc

înregistrată de întreprindere pe o perioadă de timp, ar apărea din nou pierderi datorate penalizărilor plătite, pentru ne

Page 196: mao

9. 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, precum şi pierderile rezultate din nesatisfacerea cererilor (penalizările) să fie minime. 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, II, 1974).

9.1.2. Concepte utilizate în teoria stocurilor Rezolvarea problemelor legate de determinarea stocurilor optime se face cu ajutorul unor modele matematice ale teoriei stocurilor. Stocul sau inventarul este o resursă de orice fel care are o valoare economică şi care se caracterizează prin intrări în resursă (reaprovizionarea stocului) şi ieşiri din resursă. Valoarea resursei I = I (t) este o funcţie de timp. Scopul menţinerii unui stoc este acela de a satisface o cerere. În urma satisfacerii cererii stocul se micşorează şi,

evoia reaprovizionării lui.

tdeauna cu ieşirea, deoarece există situaţii în care t în timp şi atunci la ieşirea din stoc la cerere se

în acel interval de timp. De cele mai multe ori însă )

Variaţia stocului este dată de relaţia

i şi/sau cererea, r(t), pot fi deterministe sau aleatoare, iar ţă dorită.

tea pot fi: • rezultă din imobilizarea fondurilor băneşti în materii

ieli de producţie) şi din cheltuielile pentru asigurarea

• din cheltuielile pentru lansarea comenzilor de lor în stoc sau lansarea fabricaţiei,

de lipsa din stoc a materiilor prime sau produselor (inclusiv

cde forma

de aici, n Fie a(t), rata intrărilor în resursă la momentul t şi b(t), rata ieşirilor din resursă, iar r(t), rata cererii la momentul t. Cererea nu se confundă întoma erialele din stoc se depreciazăadaugă şi materialele depreciate b(t = r(t) . Fie I(0) = I0, nivelul stocului la momentul t = 0, considerat momentul iniţial de la care se urmăreşte evoluţia stocului.

( )−t

dttbta )()( . ∫+= ItI0

0)(

Ieş rile din stoc, b(t), func ă astfel încât să se realizeze un obiectiv sau o eficien Eficienţa se defineşte în funcţie de costuri şi aces

ţia a(t) trebuie aleas

costul de depozitare, ce prime sau produse (cheltudepozitării şi conservării stocului, costul de lansare, care rezultă reaprovizionare şi introducerea

• costul lipsei de stoc, care se determină în funcţie de toate cheltuielile şi pierderile cauzate penalizările rezultate din nelivrarea la timp a produselor fabricate).

Efi ienţa unui stoc de-a lungul unui interval de timp este dată de o funcţională

Page 197: mao

Modele şi algoritmi de optimizare

196

C(t) = C[a(t), b(t), r(t)]. În general, r(t) este o funcţie cunoscută şi uneori se cunoaşte şi funcţia b(t). În acest caz, trebuie determinată funcţia a(t) astfel încât eficienţa să fie optimă.

ecanismul intrărilor în stoc. Din motive practice, se presupune că intrarea în stoc, reaprovizionarea, se face la

om e

reaprovi e timp [0,T*] pot avea loc mai multe reaprovizionări.

În F stocului este reprezentată prin segmentele oblice, rata cereexist li i

oc la mo i omente de timp au loc numai ieşiri din stoc,

ot fi egale sau nu, pot fi constante sau aleatoare. În ceea ce priveşte mărimea loturilor de reaprovizionare a(ti), acestea pot fi egale sau nu, pot depinde sau nu de Ti. În unele modele ale teoriei stocurilor din optimizarea funcţiei de eficienţă se poate deduce ciclul optim de reaprovizionare, Topt.

oria stocurilor determină mărimea lotului de , Topt.

rea şi a altor

Dacă C este o variabilă aleatoare, atunci se determină funcţiile necunoscute din condiţia ca valoarea medie a lui C să fie optimă. Pentru determinarea optimului lui C pot să intervină uneori şi anumite restricţii legate de elementele necunoscute. În modelele de teoria stocurilor intervin şi variabile sau parametri legate în special de mecanismul reaprovizionării, adică de m

m ente discrete de timp. Astfel, a(t) ia valori nenule numai la anumite momentde timp t0 < t1 < t2 < ... .

Intervalele de timp Ti = ti+1 − ti, i = 0, 1, 2, ..., se numesc cicluri de zionare. Într-un interval d

I(t)

S

t1 t2 t3

igura 9.1, variaţiarii fiind presupusă constantă. Se observă că pe intervalul de timp (t’, T *) ă psă de stoc. Cantităţile a(t ) reprezintă valorile comenzilor care intră în

mentele t , iar între aceste mstcare micşorează nivelul stocului. În diferite modele ale teoriei stocurilor, ciclurile de reaprovizionare Ti, i = 0, 1, 2, ..., p

Aşadar, modelele de tereaprovizionare optim, aopt, şi/sau ciclul de reaprovizionare optim Reaprovizionarea la anumite momente de timp impune utilizava abile care au importanţă practică. ri

P

T *

a(t1) a(t2) a(t3)

t0

T0 T1 T2 3

t t’

TL

Figura 9.1

Page 198: mao

9. Elemente de teoria stocurilor 197 Astfel, lotul de reaprovizionare optim nu intră în stoc în momentul când a fost

nsat, ci după un interval de timp L, numit timp de avans. Comanda a(t1) a fost lansată la momentul t1 − L, când stocul avea valoarea

P0 = I(t1 − L). i se observă că ea este

te satisface cererea

are, iar P0 este constant sau i 0 variabile de

ci decident în vederea realizării eficienţei optime. De intre aceste mărimi, cealaltă urmând a fi determinată cu

timp dintre două lansări de comenzi uccesive.

entul lansării comenzii este momentul când nivelul stocului scade la nivelul de reaprovizionare P0. Uneori, drept variabilă de decizie se consideră şi nivelul S până la care trebuie încărcat stocul prin introducerea comenzii (nivelul

• ciclurile de reaprovizionare,

Politica este optimă dacă elementele ce o caracterizează au fost determinate ca

i multe criterii.

în timp− modele dinamice, − modele statice.

2. După natura aleatoare sau nu a elementelor sale − modele stochastice, − modele deterministe.

. După valorile posibile ale unor variabile (de exemplu, cererea) − modele cu cerere continuă, − modele cu cerere discretă.

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

produs etc., − modele de stocare cu mai multe staţii – stocarea mai multor tipuri de

materiale, produse etc.

la

Mărimea P0 se numeşte nivel de reaprovizionare şstrâns legată de timpul de avans L, în sensul că stocul P0 poape perioada timpului de avans L. În unele modele, L este presupus variabilă aleato

ărimile L şi P pot fi presupuse cunoscute sau pot fi var abil. Me zie, care trebuie alese de d

obicei se cunoaşte una dajutorul modelului de stocare. Intervalul de control este intervalul des Mom

maxim al stocului). Totalitatea elementelor care definesc mecanismul de reaprovizionare formeazăo politică de reaprovizionare. Aceasta constă din: • loturile de reaprovizionare,

• nivelul de reaprovizionare, • timpul de avans.

elemente ce realizează eficienţa optimă pe un interval de timp dat.

Modelele de teoria stocurilor se pot clasifica după ma1. După modul cum evoluează

3

4

Page 199: mao

Modele şi algoritmi de optimizare

198

Modelele de teoria stocurilor se aseamănă cu cele de teoria cozilor. Sosirile din cadrul teoriei aşteptării corespund intrărilor în stoc, iar ieşirile corespund ieşirilor din stoc. Deosebirea dintre cele două tipuri de modele constă în aceea că, în timp ce în teoria aşteptării se presupune că venirile şi serviciile sunt variabile aleatoare cunoscute, în teoria stocurilor se cunoaşte numai cererea sau ieşirea şi se caută să se determine intrarea optimă. Aplicarea modelelor de teoria aşteptării în teoria stocurilor este posibilă numai atunci când variabila I(t) este o variabilă discretă.

următoarele ipoteze.

a) Cererea este continuă, are rata r=const. şi poate fi satisfăc dacă nivelul curent al stocului I(t) > 0.

nalat de nivelul critic P0, nivel de reaprovizionare.

d) În perioada T intră o cantitate a cu rata constantă p – ritmul de reaprovizionare.

e) Parametrii P0, a, T sunt constanţi (modele statice). f) Procesul de reaprovizionare continuă nedefinit.

2. Ipoteze privind costurile, pe baza cărora se poate defini eficienţa a) Costul s de lansare a comenzii este constant. b) Preţul ca de cumpărare a unei unităţi de materie primă sau produs poate

depinde de a. c) Pentru I(t) > 0, există un cost de stocare, h, pentru unitatea de produs /

unitatea de timp. d) Pentru I(t) < 0, există un cost al lipsei de stoc, d, pentru unitatea de

produs / unitatea de timp. Problemele generale care se pun şi trebuie rezolvate de modelele de stocuri sunt: • determinarea valorilor optime pentru a şi T astfel încât costul total unitar pe

unitatea de timp să fie optim, • determinarea nivelului de reaprovizionare P0 astfel încât costul total unitar pe

unitatea de timp să fie optim, • nivelul maxim al stocului, • nivelul mediu al stocului, numărul optim de cereri de reaprovizionare a stocului într-un an.

Pentru modelele ce vor fi prezentate în continuare se fac 1. Ipoteze referitoare la mecanismul de intrare/ieşire

ută

b) Intrările se realizează la intervale de timp T, constante sau nu. Între lansarea comenzii şi sosirea ei (nu) există un interval L de timp, timpul de avans.

c) Momentul lansării unei noi comenzi este sem

Page 200: mao

9. Elemente de teoria stocurilor 199

9.2. Modelul clasic al lotului economic Parametrii cunoscuţi: − intrările au loc în mod continuu cu rata p – constantă,

ata r – constantă; p > r, e unitatea de stoc / unitatea de timp,

− costul de lansare a comenzii a este s = constant, − L = 0.

tatea comandată a (mărimea lotului de reaprovizionare), − mărimea ciclului de reaprovizionare T. Ipoteze:

0

inarea funcţiei obiectiv)

Figura 9.2 ilustreaz

Din ipotezele modelului rezultă că funcţia I(t) este periodică cu perioada

− ieşirile au loc în mod continuu cu r− costul de stocare h este constant p

Parametrii necunoscuţi: − canti

− nu se admite lipsa de stoc, − nu există stoc de rezervă sau stoc intangibil, I = 0.

Construcţia modelului (determ

ă comportarea stocului pe durata unui ciclu de reaprovizionare.

raT = .

pe intervalul ⎟⎠⎞

⎜⎝⎛

ra,Este suficient să rezolvăm problema de optim 0 .

ate a va intra în stoc până la momentulÎntreaga cantit pa , şi în intervalul ⎟⎟

⎞⎜⎜⎝

⎛pa,0 ,

I(t) va creşte, iar în intervalul ⎟⎟⎠

⎞⎜⎜⎝

⎛ra

pa , , I(t) descreşte.

I(t)

Astfel,

aa

I t

I t

a

0

Figura 9.2

p

(t) = a − r

(t) = (p − r)

rT = t

Page 201: mao

Modele şi algoritmi de optimizare

200

⎪⎪⎩

⎪⎪⎨=tI

)()(

⎟⎟⎠

⎞⎜⎜⎝

⎛∈−

⎟⎟⎠

⎞⎜⎜⎝

⎛∈−

ra

patrta

pattrp

,

,0

Costul total pe perioada T este C = C + s, unde C este costul de stocare,

,

,

T h,T h,T

dat de

prrphara

ra

parphdttIhC

r

Th)(1111

2)()(

222

2

2

,−

=⎤

⎢⎡

⎟⎞

⎜⎛

−−⎟⎞

⎜⎜⎛

−+⋅−

== ∫a

prp 220 ⎦⎣ ⎠⎝⎠⎝Costul total de stocare şi de lansare pe unitatea de timp este

22 ⎥⎟⎜⎟ .

ars

prpha

arsrphaC

aC Th ⋅⎤⎡ −

==)()(

2,

prT+

−=⎥

⎦⎢⎣

+2

)(2

.

Figura 9.3 reprezintă costul total, costul de păstrare şi costul de lansare, abscisa

Figura 9.3

Rezolvarea modelului

punctului de intersecţie a ultimelor două constituind mărimea optimă a comenzii (Q reprezintă cantitatea necesară pe un întreg an).

Costurile total, de lansare, de pastrare

marimea comenzii

CT Q a, s, h,( )

CL Q a, s,( )

Ch Q a, h,( )

a

totale, de lansare, de păstrare

mărimea comenzii

Page 202: mao

9. Elemente de teoria stocurilor 201

ostul minim îl obţinem din relaţia C’(a) = 0 (deoarece C”(aopt)>0, rezultă că

Caopt determinat realizează minimul pentru C(a) ), de unde rezultă cantitatea optimă de reaprovizionare:

)(2 0

2)(

2

prsaars

prph

=⇒=−− .

rphopt −

Costul minim pe unitatea de timp este

prphrs

prsrphsr

rphprs

prphCopt

)(22

)()(

24

)( 22

2

22 −=

−+

−⋅

−= .

Astfel, avem costul unitar optim şi intervalul de reaprovizionare optim date de relaţiile

. )(

2, )(2rprh

psTp

rphrsC optopt −=

−=

Se pot determina: nivelul mediu al stocului ca fiind 2opta

şi numărul optim de

reaprovizionări pe an dat de

În practică se presupune

adică p >> r ( se consider

ceea ce revine la a accepta

(Figura 9.4). Costul de stocare pe unitaeste

2, ha

TC Th =

şi reprezintă costul de stoca

stoc mediu 2a pe unitatea de

Astfel, costul de stocare p

În acest caz mărimea optimă a comenz−

− costul minim pe unitatea d

andinlucratoarezilelornumarulnumărul zilelor lucrătoare din an

optT

.

că 0≈p

,

ă p = ∞),

r

I(t)a

T 2T t

0=pr

tea de timp

re al unui

0

timp.

e o perioadă de timp t0 este

Figura 9.4

0, 20thaC th = .

ii de reaprovizionare a stocului este

h rsa 2I =opt (9.1)

mp este e ti

Page 203: mao

Modele şi algoritmi de optimizare

202

rshC 2Iopt = (9.2)

− ciclul optim de reaprovizionare este

hrTopt = s2I (9.3)

În anumite situaţii cererea este exprimată prin valoarea în bani. Se disting două cazu1. Se dă preţul unitar al produsului. În acest caz se află numărul de produse şi astfel se ajunge la situa2. P ţul unitar nu se cunoaşte şi atunci trebuie să se dea costul de stocare ca un procent din valoarea cererii de produse. În acest caz modelul dă valoare optimă a une

ri (Turban şi Meredith, 1988):

ţia studiată mai înainte. re

i cereri de reaprovizionare. Costul total anual

aT 2Qa shC += (9.4)

unde Q este cantitatea (sau valoarea acesteia) necesară pe un an, iar aQ

reprezintă numărul de comenzi de reaprovizionare lansate într-un an. Atunci

hsQaopt

2= . (9.5)

Exemplu. O întreprindere de prefabricate primeşte o comandă de 120 000 de dale pe care trebuie să le livreze municipalităţii, pentru pavarea trotuarelor. Cererea firmei de construcţii care realizează pavarea este constantă. Costurile sunt: • h = 500 lei o dală /zi – stocarea, • s = 30 000 000 lei – lansarea unei comenzi pentru un lot de dale.

ce ritm trebuie întreprinderea de prefabricate să-şi aprovizioneze stocul dacă nu i admite nici o întârziere în livrare ? Se consideră anul cu 300 zile lucrătoare.

ezolvare e consideră modelul de stocare al lotului economic şi, utilizând formulele

Înse

RS(9.1)−(9.3), se obţin rezultatele de mai jos:

400300

120000==r – rata ieşirilor zilnice,

20.6928500300000004002I

hrsaopt

⋅== 2 =⋅ ,

zile 32.17400500

hr

Topt ⋅, 3000000022I s

=⋅

==

3464101.61 5003000000040022I =⋅⋅⋅== rshC lei/zi. opt

Costul total anual este 1 039 230 484.51 lei, iar costul de lansare a comenzilor de reaprovizionare pe un an este 5196×108.

Page 204: mao

9. Elemente de teoria stocurilor 203

Se poate rezolva problema din exemplul precedent cu Management Scientist. de programe, se selectează modulul Inventory, apoi, din

niul File se alege New şi din fereastra care apare se selectează modelul

După lansarea pachetuluimeEconomic Order Quantity, ca în Figura 9.5.

Figura 9.5

intrare ca în Figura 9.6, având în vedere că trebuie ocare (500 lei/zi × 300 zile). Se presupune că sunt

satisface o cerere de reaprovizionare (L=3). Atunci elul optim de reaprovizionare.

Se introduc datele de introdus costul anual de stnecesare 3 zile pentru a se trebuie să se determine şi niv

Figura 9.6

Rezultatele obţinute sunt prezentate în Tabelul 9.1.

Tabelul 9.1 INVENTORY MODEL

Page 205: mao

Modele şi algoritmi de optimizare

204

*************** ECONOMIC ORDER QUANTITY *********************** YOU HAVE INPUT THE FOLLOWING DATA: ********************************** ANNUAL DEMAND = 120000 UNITS PER YEAR ORDERING COST = $30000000 PER ORDER

PER YEAR = 300 DAYS LEAD TIME FOR A NEW ORDER = 3 DAYS INVENTORY POLICY **************** OPTIMAL ORDER QUANTITY 6,928.20 ANNUAL INVENTORY HOLDING COST $519,615,242.27 ANNUAL ORDERING COST $519,615,242.27 TOTAL ANNUAL COST $1,039,230,484.54

VERAGE INVENTORY LEVEL 3,464.10 REORDER POINT 1,200.00 NUMBER OF ORDERS PER YEAR 17.32 CYCLE TIME (DAYS) 17.32

INVENTORY HOLDING COST = $150000 PER UNIT PER YEAR WORKING DAYS

MAXIMUM INVENTORY LEVEL 6,928.20 A

ut în urma r re poate să nu fie un în exemplul imă a comenzii de

reaprovizionare, numărul de zile ale ciclului optim de reaprovizionare). Atunci, se evaluează funcţia obiectiv pentru [aopt] şi pentru [aopt]+1 şi se r ţine valoarea care dă „cea mai bună” valoare pentru costul total ( [x]=partea întreagă a lui x).

Aşa cum arată şi numele, în acest model se acceptă lipsa de stoc, adică se păstrează cererile care nu au putut fi satisfăcute după epuizarea stocului, iar după

tea vor fi satisfăcute (Văduva et al, II, 1974). Există şi cazuri ăcută, pe perioada epuizării stocului, se pierde. În continuare

se consideră numai primul caz.

Rotunjirea rezultatelor Rezultatul obţin ezolvării unui model de stocanumăr întreg, ca de mai sus (mărimea opt

e

9.3. Modelul clasic al lipsei de stoc

reaprovizionare, acesîn care cererea nesatisf

Parametrii cunoscuţi: − intrările au loc în mod continuu cu rata p – constantă, − ieşirile au loc în mod continuu cu rata r – constantă, p > r, − costul de stocare h, pe unitatea de stoc / unitatea de timp, este constant, − d – costul (deficitul) datorat lipsei unei unităţi de stoc pe unitatea de timp este

constant,

Page 206: mao

9. Elemente de teoria stocurilor 205 − costul de lansare a comenzii a este s. Parametrii necunoscuţi: − cantitatea comandată a, − S – nivelul maxim la care trebuie adus stocul la intrarea în stoc a comenzii, − mărimea lotului de aprovizionare T.

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,

− 0=pr .

Formularea problemei Să se determine cantitatea a care trebuie introdusă în

ă timpul T (care de asemenea

determinat), presupunând ă după ce se epuizează

( a în stoc. 9.7 arată

comportarea acestui model de stocare. După ce se recuperează lipsa de stoc, stocul a ajuns la S. Parame ii necunoscuţi ai modelului trebuie

inaţi astfel încât costul total, provenit din costul de depozitare, costul de ns

pe intervalul de timp (0, t’ ) este

stoc duptrebuie

cstocul S în intervalul de timp (0, t’ ), poate să mai treacă un interval de timp t’, T ) până când intră

cantitatea Figura

nivelul trdetermla are şi costul lipsei de stoc, să fie minim. Construcţia modelului Considerând modelul anterior, se stabileşte funcţia de minimizat astfel : - costul de depozitare a cantităţii S

'2', tShC th ⋅⋅=

- costul lipsei de stoc este

"2", tSadC td ⋅−

⋅= .

Astfel, costul unitar total este

0 t

T

I(t)

t’

Sa

t”

Figura 9.7

Page 207: mao

Modele şi algoritmi de optimizare

206

⎟⎠⎞

⎜⎝⎛ ⋅

−⋅+⋅⋅+= "

2'

21 tSadtShsT

C .

Se exprimă membrul drept al relaţiei precedente în funcţie de S, T ţinând seama că

rSTr

rSTt

rSt

raT −

=−=== " , ' , ,

astfel că

rTSrTd

rThS

TsTSC

2)(

2),(

22 −++= .

Se determină min C(S,T):

⎪⎪⎩

⎪⎪⎨

=−−−

⋅+⎟⎟⎠ 2r⎞

⎜⎜⎝

⎛+−

=−

−⇒

⎪⎩

⎪⎨

=∂∂

=∂∂

0()(22

1

0)(

0

0

2

22

2 TSrTTSrTrd

rhSs

T

rTSrTd

rThS

TCSC

)

. 2 , 2 , 2 IIIIII drshCdrsSdhsT optoptopt ==+

=⇒ dhdhhdrh ++

Deoarece

( )0

22

>⎟⎞

⎟⎞C şi

, optopt TS

22 ⎟⎠

⎜⎝

⎟⎠

⎜⎝ ∂∂∂∂

IIIITSTS

22⎛⎜ ⎜

⎛ ∂−

∂⋅

∂ CC

( )0

2

>⎟⎞

⎜⎛ ∂ C

valo

,2 ⎟

⎠⎜⎝ ∂ IIII TSS

optopt

rile obţinute realizează minimul costului.

Se notează cu 1<+

=dh

ρ şi relaţiile de mai sus devin d

ρρ rshCrsSsT 2 , 2 , 2 IIIIII === ρ hrh optoptopt

de unde rezultă că ρIII

optopt CC = . olitica de aprovizionare care adm

Această relaţie arată că este mai convenabilă pite lipsa de stoc ! Mărimea optimă a lotului de reaprovizionare este

dhdhrs +2Tra II

opt==

iar lipsa de stoc este

dhoptoptopt +haSa IIIIII =− .

Ulti ru artic un preţstoc or

ada lipsei de stoc scade. Astfel, modelul arată intuitiv că articolele cu cost ar

ma relaţie arată că numărul articolelor din perioada lipsei de stoc creşte pentolele cu cost unitar de stocare mare. Aceasta explică de ce articolele care au de stocare unitar mai mare sunt tratate mai economic într-un model cu lipsă de . Pe de altă parte, când costul unitar al lipsei de stoc creşte, numărul articolel

din periom e pentru lipsă de stoc vor fi foarte puţine pe perioada lipsei de stoc.

Page 208: mao

9. Elemente de teoria stocurilor 207 Deoarece

aS

TrS

r optIIIIII

=⇒⋅ ρTS opt

optopt

optIIII =

⋅= ρ

ρ se numeşte şi indice de lipsă de stoc. În (1–ρ)% din cazuri, pe perioada T, stocul se epuizează. Probabilitatea epuizării stocului este

hdhd

αρα −=⇒

+=−=

1 1 .

Această relaţie arată că, dacă se acceptă drept cunoscută probabilitatea epui-zării stocului, atunci costul lipsei de stoc este proporţional cu cel al stocării. Acest fapt nu concordă totdeauna cu realitatea, şi de aici rezultă un inconvenient al modelului, deoarece costurile h şi d sunt practic independente. Comparând cele două modele se obţine

ρρρ

IIIIIIIII , 1 , opt

optoptoptoptopt

TTaaSS === ,

adică .

considerpenalizată cu 3500 lei/dală/zi (d = 3500) . Să se determine elementele optime ale modelului de stocare în acest caz.

IIIIIIIII , , optoptoptoptoptopt TTaaSS >><

Exemplu. În exemplul din §9.2. se ă că lipsa dalelor din stoc va fi

Rezolvare

93541.0 ; 875.03500500

3500==

+= ρρ ; 7407

93541.085.10141II ≈=opta ;

6481IIII ≈= ρoptopt aS ; 51.18I

II ≈=ρ

optopt

TT ; . 370.34 240 3 III ≈= ρoptopt CC

Modelul se poate rezolva şi utilizând Management Scientist. După lansarea pachetului de programe se alege modulul Inventory. Din m iul File se selectează

ew şi din fereastra arătată în Figura 9.5 se alege modelul Economic Order with Planned Shortages.

În fintrare considerate pe întregul an (d× nu crătoare din an , respectiv, h× numărul de zile lucrătoare din an). Se consideră că sunt necesare 3 zile pentru satisfacerea comenzii de reaprovizionare din momentul lansării acesteia.

enNQuantity

ereastra care apare după apăsarea butonului OK, se introduc datele de ca în Figura 9.8, unde costul de stocare şi cel de lipsă de stoc sunt

mărul de zile lu

Page 209: mao

Modele şi algoritmi de optimizare

208

Figura 9.8

Apăsând butonul Solve se obţine soluţia modelului sub forma dată în Tabelul 9.2.

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 7,406.56 ANNUAL INVENTORY HOLDING COST $425,298,608.33 ANNUAL ORDERING COST $486,055,552.38 ANNUAL BACKORDER COST TOTAL ANNUAL COST $972,111,104.76 MAXIMUM INVENTORY LEVEL 6,480.74 AVERAGE INVENTORY LEVEL 2,835.32 MAXIMUM BACKORDERS 925.82 REORDER POINT 274.18 NUMBER OF ORDERS PER YEAR 16.20

CYCLE TIME (DAYS) .52

Tabelul 9.2 INVENTORY MODEL ***************

$60,756,944.05

18

ezentate alte două variante ale modelului clasic. În continuare sunt pr

Page 210: mao

9. Elemente de teoria stocurilor 209

nd influenţa preţului

t model se referă la problemele de stoc-aprovizionare şi presupune că

reţ şi materialelor depind de mărimea m

9.3.1. Modelul de stocare considerâde cumpărare

Acesp urile de achiziţie a materiilor prime co enzii, adică ca = ca(a) (Văduva et al, II, 1974). În modelul lotului economic se consideră

)(2

)( acrarsahaC a⋅++= ,

unde primul termen este costul stocării unei cantităţi medii pe unitatea de timp, al doilea este costul lansării, iar cel de-al treilea termen este costul de cumpărare a materiilor prime consumate din stoc. Se poate considera costul de stocare ca fiind o fracţiune din costul de cumpărare, h = k⋅c (a), şi atunci: a

)()(21)( acr

arsakcaC aa ⋅++= .

De obicei, în practică, ca(a) este o funcţie în scară descrescătoare.

( ) miulualrcarsackaC iiiiiaiai ,...,2,1 , , pentru ,

2)( 1,, ==≤≤++= − .

Se determină minimul local al acestei funcţii, obţinut pentru:

iai

iii

iiii

iii

i kcrsa

auuuala

lal dac ,⎧ ≤ãa

,

* 2iar , . dac ,

dac , =⎪⎩

⎪⎨

≤<<=

ãã

e Atunci, costul minim local est

⎪⎩ )( iuC

⎪⎨

==+

=

=. dac ,

dac ,2 dac ,)(

*

*,

*,

ii

iiia

iiia

opti

uaaarcrsklacC

Cããã

ostul minim total va fi C

optimiopt CC 1min

≤≤= , iar

ra

T iopt

*

= .

9.3.2. Modelul de stocare considerând influenţa costului de produc

Acest model se referă la problemele de stoc−producţie şi consideră costul de stocare h ca f

ţie

uncţie de costul de producţie unitar cp (Văduva et al, II, 1974)h = k ⋅ cp,

Page 211: mao

Modele şi algoritmi de optimizare

210

iar cp depind de fabricaţie, atunci costul de fabricaţie pentru întreaga cantitate este

s + cf⋅a şi astfel

e de cantitatea produsă a. Notând cu cf costul unitar

fp casc += , deci 10 , <<⎟

⎠⎞⎛ s

⎜⎝

+= kca

kh f .

Se presupune că nu se admite lipsa de stoc. Atunci costul total de lansare şi stocare pe unitatea de timp este

2)( ac

ask

asraC f ⋅⎟

⎠⎞

⎜⎝⎛ ++= .

Din condiţia de minim, C’(a) = 0, rezultă

rkcsTksrskcC

kcrsa

ff

f

2, 2

2, 2=+== .

Comentariu. Mărimea lotului de reaprovizionare a depinde de costul unitar total de producţie cf; dacă cf este mare, mărimea lotului se micşorează, adică nu este indicat să se menţină stocuri mari din produse scumpe.

1974) .

9.4. Extensii ale modelului clasic al lotului economic Vânzătorii oferă deseori reduceri de preţ pentru cumpărarea unui lot mai mare de produse. Există preţuri pentru intervale ale numărului de produse cumpărate. Această practică este larg răspândită pentru că oferă avantaje atât cumpărătorului cât şi vânzătorului, avantaje prezentate în Tabelul 9.3 .

Tabelul 9.3 Avantaje Dezavantaje

Se mai pot considera: modele cu costul stocării variabil, descris de o funcţie în salturi, modele cu cererea depinzând de preţurile de vânzare etc. (Văduva et al, II,

Cumpărător

-preţuri reduse -mai-tran-mai puţine momente cu lipsă de stoc -produse uniforme -securitate sporită (ar putea să crească preţurile)

-stocuri m ltuieli sporite de stocare ul deteriorării

-învechirea produselor

ari puţine hârtii de completat sport mai ieftin

-che-risc

Vânzător -transport mai ieftin -mai puţine hârtii de completat -producţie mai mare

-preţ unitar scăzut -putere sc tă de tranzacţio clienţii

ăzunare cu

Se disting două cazuri :

Page 212: mao

9. Elemente de teoria stocurilor 211

ri oferite pentru mai multe niveluri de preţuri.

Reduceri oferite pentru un singur nivel de preţ Vom prezenta metoda pe un exemplu.

fectează. Fiecare bec costă 8 u.m. Costul de lansare a unei comenzi de reaprovizionare este de 27 u.m. indiferent de ărimea om

unicipalităţii o reducere de 2%, dacă se cumpără 600 de

l lotului economic fără lipsă de stoc şi nu vom lua în seamă

h=0 preţul de achiziţie al unui bec). Fol oarea o imă pentru comanda de reaprovizionare

i) Reduceri oferite pentru un singur nivel de preţ ii) Reduce

Pentru iluminatul stradal al unui oraş sunt necesare 100 de becuri pe lună pentru înlocuirirea celor care se de

mc enzii, iar cel de păstrare al unui bec pe un an de zile este de 25% din valoare. Onorarea comenzii se face în momentul lansării acesteia şi nu se acceptă lipsa de stoc. Furnizorul oferă mbecuri deodată. Să se satabilească dacă municipalitatea acceptă sau nu oferta furnizorului. Rezolvare i) Vom folosi modelureducerea furnizorului. Pentru acest caz avem : Q=100×12=1200 becuri pe an,

.25×8=2 u.m. , s=27 u.m. , p=8 u.m. (p=osind formulele (9.4)-(9.5) obţinem val pt

1802

12002722=

⋅⋅==

hQsaopt ,

costul total anual de stocare

1802

2180180

1200272

=⋅

+⋅

=+= ha

saopt

TQC opt ,

iar costul becurilor este Q×p=1200×8=9600. Aşadar, fără reducere, municipalitatea ar cheltui 9600+360=9960 u.m. ii) Vom reface calculele ţinând seama de reducerea oferită de furnizor pentru un lot de 600 becuri. În acest caz vor fi doar două lansări de comenzi de reaprovizionare şi atunci costul de lansare total ar fi de 54 u.m. Costul unitar anual de păstrare

1.96 u.m., iar costul total anual de păstrare este devine h’=0.98×0.25×8=

5882

96.1600=

⋅ . Costul de achiziţie devine 02.096009600 ⋅− = 9408= . În acest

caz municipalitatea ar plăti 9408+588+54=1050 u.m. În concluzie, oferta de reducere trebuie respinsă pentru că, dacă ar fi acceptată, municipalitatea ar fi în dezavantaj !

Page 213: mao

Modele şi algoritmi de optimizare

212

Reduceri oferite pentru mai multe niveluri de preţuri Înainte de a da metoda generală vom considera un exemplu. Un spital trebuie să achiziţioneze antibiotice de la un furnizor care face oferta din Tabelul 9.4 .

Tabelul 9.4 Cantitate Preţ 1 – 4999 2.75

5000 – 9999 2.60 >10000 2.50

Cererea spitalului este de 50 000 unităţi pe an. Costul lansării unei comenzi de reaprovizionare este de 50 u.m. şi costul de păstrare este 20% din costul medicamentului pe an. Nu se admite lipsă de stoc şi se presupune că onorarea comenzii se face imediat ce a fost lansată. Să se stabilească politica optimă a spitalului de achiziţionare a medicamentelor. Vom utiliza modelul lotului economic fără lipsă de stoc şi vom rezolva problema în următorii paşi. Pas 1. Cu modelul lotului economic fără lipsă de stoc, stabilim pentru cel mai mic preţ mărimea optimă a comenzii de reaprovizionare. Costul unitar anual de păstrare este h1=2.5×0.02=0.5 u.m.

3163100000005.0500005022)1( ==

⋅⋅==

hQsaopt

Pas 2. Se compară cu intervalul corespunzător preţului 2.50. Dacă ar fi

în interval, soluţia este fezabilă şi optimă în acelaşi timp şi problema este rezolvată. Altfel, soluţia nu este fezabilă şi se caută mărimea optimă a comenzii de reaprovizionare pentru preţul 2.60 u.m. Pas 3. În acest caz costul de păstrare este h2=2.6×0.02=0.52 u.m. Atunci,

)1(opta )1(

opta

3101961538552.0500005022)2( ==

⋅⋅==

hQsaopt .

Se compară cu intervalul corespunzător preţului 2.60.

Pas 4. Dacă ar fi în interval, soluţia este fezabilă şi optimă în acelaşi timp şi

problema este rezolvată. Altfel, soluţia nu este fezabilă şi se caută mărimea optimă a comenzii de reaprovizionare pentru preţul 2.75 u.m.

as 5. Costul de păstrare este h3=2.75×0.02=0.55 u.m. Atunci,

`)2(opta

)2(opta

P

3015909091055.0500005022)3( ==

⋅⋅==

hQsaopt .

Page 214: mao

9. Elemente de teoria stocurilor 213

Pas 6. este în intervalul corespunzător preţului 2.75 şi soluţia găsită este

fezabilă. Pas 7. Compararea costurilor Costul total anual este

)3(opta

pQhasaQaCT ⋅++=

2)( .

Aplicăm formula pentru cele trei valori ale marginii din stânga intervalului pentru categoriile de preţ şi avem :

. Deoarece o cerere de 10 000 de unităţi o dată conduce la cel mai mic preţ, se va adopta această politică. Bazat pe acest exemplu putem scrie următorul algoritm general. Algoritm general Pas 1. Iniţializări Intrare: necesarul anual Q, costul de lansare s, costul unitar de stocare h,

intervalele pentru care se acordă reduceri

750 127)000 10()1( =TC , 800 131)5000()2( =TC , 158 139)5000()3( =TC

( )nkkk qqq

≤≤=

12,1, , , n numărul

acestor intervale, preţurile unitare reduse ( ) nkpu ≤≤1 . Pas 2. k:=n; Determină cantitatea optimă aopt comandată cu modelul lotului economic pen- tru pun . Dacă aopt ≥qk,1 , determină Cn+1, costul total optim cu modelul lotului

economic pentru aopt; sw:=0; an+1:=aopt ; Pas 3. Dacă sw≠0, atunci Cât timp (k≥0 şi sw≠4) execută Calculează ak:=aopt ; Dacă [ ]2,1, , kkk qqa ∉ atunci sw:=1; an+1:=qk,1 ; k:=k-1;

Dacă [ ]2,,1, kk qqa k∈ atunci sw:=4; an+1:=aopt ; Cn+1, costul total optim cu modelul lotului economic pentru aopt ;

Dacă sw=4, atunci Pentru k:=1,n

Calculează Ck costul total optim cu modelul lotului economic Determină knkn CC

111 min:+≤≤+ = ; na

11 m:≤+ knk

a1

in+≤

= ;

Pas 4. Reţine an+1 şi Cn+1. Stop!

Page 215: mao

Modele şi algoritmi de optimizare

214

În continuare este redat algoritmul de mai sus, programat în MathCAD şi aplicat

exemplului precedent.

Determinarea lotului optim de reaprovizionare si a costului optim pentru preturi unitare cu discount-uri

Intervalele pentru care se acorda discount Preturile unitare de achizitionare

q

1

5000

10000

4999

9999

106

⎛⎜⎜⎜⎝

:= pu

2.75

2.60

2.50

⎛⎜⎜⎝

⎠:=

Necesarul anual Q 500:= 00

Costul de lansare a comenzii de reaprovizionare s 50:=

Costul unitar anual de stocare este o fractiune ρ

Lotul optim de reaprovizionare aopt h( ) 2 Q⋅sh

din costul de achizitionare ρ 0.2:=

⋅:=

i 1←

m xk←

i k←

Determinarea minimului elementelor unui sir si a pozitiei sale

Mn x( ) m x1←

m xk>if

k 1 last x( )..∈for

m

i⎛⎜⎝

⎞⎠

:=

Page 216: mao

9. Elemente de teoria stocurilor 215

CT n 1+Q

qk 1,

Discount Q s, pu, ρ,( ) k last pu( )←

n k←

sw 1←

s⋅ pu k ρ⋅qk 1,

2⋅+ Q pu k⋅+←

an 1+ aopt pu k ρ⋅( )←

sw 0← an 1+ qk 1,≥if

hk

k 1≥( ) ∧hile

hk pu k ρ⋅←

ak aopt ( )←

ak qk 1,←

k k 1−←

qk 1, ak≤ qk 2,≤( )¬if

qk 1, ak≤ qk 2,≤if

CT n 1+Q

aks⋅ hk

ak

2⋅+ Q pu k⋅+←

sw 4←

an 1+ ak←

sw 4≠( )w

CT kQ

qk 1,s⋅ hk

qk 1,

2⋅+ Q pu k⋅+←

k 1 n..∈for

Ao Mn CT( )←

CT n 1+ Ao1←

i Ao2←

an 1+ ai←

sw 4=if

sw 0≠if

a

n 1+

⎛ n 1+

CT⎜⎝

:=

Apelul subprogramului MathCAD se face cu secvenţa

Discount Q s, pu, ρ,( ) =

.

Page 217: mao

Modele şi algoritmi de optimizare

216

9.5. Model pentru stocarea mai multor tipuri de produse

Se presupune că stocul este format din p tipuri de produse. Atât parametrii unoscuţi cât şi cei necunoscuţi se referă la fiecare tip de produse aflate în stoc. arametrii cunoscuţi: rata cererii – ri, costurile de stocare unitare – h , costurile de lansare – si,

cP−− i

− pi ,1= . arametrii necunoscuţi:

− mărimea optimă, ai, a lotului de reaprovizionare din produsul i , ciclul optim de reaprovizionare, Ti, a stocului cu produsul i ,

P

pi ,1= .− Formularea problemei:

Să se determine elementele necunoscute astfel încât costul de stocare şi lansare pe unitatea de timp pentru produsul i

i

iiiiii a

rsahaC +=

2)(

să fie minim, şi deci şi costul total pe unitatea de timp

să fie minim. Se obţin:

∑=

=p

iiip aCaaC

11 )(),...,(

ii

iopti

i

iiopti hr

sT

hsr

a2

,2

== .

Comentariu. Determinarea loturilor economice pentru mai multe produse revine la determinarea lotului economic pentru fiecare produs în parte.

9.6. Modele stochastice de stocare Într-un model aleatoriu, pe lângă variabilele de decizie d1, ... , dn (de exemplu, mărimi de comenzi, cicluri de reaprovizionare) intervin şi variabile aleatoare A1,

n cu cută. Funcţia de eficienţă C(d1, ... , dn, A1, ... , An ) va fi o variabilă aleatoare, iar valorile optime ale variabilelor de decizie vor fi determinate din condiţia ca eficienţa medie să fie optimă. Printre elementele aleatoare ale unui model de teoria stocurilor, cel mai

portant este cererea pe unitatea de timp. Repartiţia cererii în cazul cererii continue poate fi: normală, log-normală, Weibull etc., iar în cazul cererii discrete,

..., An , a căror repartiţie se presupu e nos

im

Page 218: mao

9. Elemente de teoria stocurilor 217

binomială etc. Dacă ererea este un proces aleatoriu, atunci modelul de stocare este un model stochastic dinamic. Timpul de avans, L, şi stocul intangibil (de siguranţă),

poate fi: Poisson, Pascal, c

RPI S −= 0 , R fiind cererea medie pe perioada timpului de avans, pot fi variabile aleatoare continue sau discrete.

uranţă şi, corespunzător, nivelul de reaprovizionare reduc sau reducerii nivelului de reaprovizionare asupra costurilor.

Tabelul 9.5 Acţiune Rezultat

Mărimea stocului de sig şansa apariţiei lipsei de stoc, şi invers. Tabelul 9.5 dă efectul creşterii

Reducerea nivelului de reaprovizionare

Scade costul de stocare al stocului de siguranţă şi creşte costul lipsei de stoc

Red tului de re izionare

ucerea loaprov

Scade costul de stocare al stocului mediu (2

lipsei de stoc şi costul total de lansare comenzi

a ) şi cresc costul

Creşterea nivelului de reaprovizionare

Creşte costul de stocare al stocului de siguranţă şi scade costul lipsei de stoc

Creşterea lotului de reaprovizionare

Creşte costul de stocare al stocului mediu şi descreşte costul total de lansare comenzi

9.6.1. Determinarea nivelului optim de reaprovizionare Pentru determinarea nivelului optim de reaprovizionare P0, aplicăm analiza marginală (Bonini et al, 1997), adică se începe analiza costului total cu o valoare iniţială pentru P0 , fie RP =0 . Să vedem ce se întâmplă cu costul total dacă se adaugă o unitate prodstoc la P0. Costul total pe perioada analizată (de exemplu, un an) va creşte cu aproximativ h , deoarece I creşte cu o unitate.

rea 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, astfel (Figura 9.9):

a costului prin neadăugarea unei unităţi la P0 este egală cu

(Probabilitatea unei unităţi de stoc cerute în plus) d

de us de

S Dacă nu se adaugă o unitate la P0 , creşte

Creştere

· ⎥⎦⎤

⎢⎣⎡

aQ

⎥⎦⎤

⎢⎣⎡

aQ fiind numărul de cicluri de reaprovizionare pe perioada analizată.

Se consideră următoarea ipoteză: Cererea r, pe unitatea de timp, este o variabilă aleatoare cu repartiţia cunoscută, F(x).

Page 219: mao

Modele şi algoritmi de optimizare

218

enea o variabil

Atunci, cererea R, pe perioada timpului de avans L, este de asemă aleatoare cu funcţia de repartiţie cunoscută, F(x)=P(R<x).

Probabilitatea unei unităţi de stoc cerute în plus este )(1 0PF− . Figura 9.9 reprezint P0 . Din ă costurile adăugării şi neadăugării unei unităţi de stoc la egalitatea celor două costuri avem :

( )QdhaPF

QdhaPFQdPFh ⇒

⋅=−⇒⎥

⎤⎢⎡⋅⋅−= )(1)(1 00 a ⋅

⋅−=

⋅⎦⎣1)( 0 .

P0 poate fi acum obţinut din tabela funcţiei de repartiţie F.

Algoritm pentru determinarea nivelului optim de reaprovizionare P0

Pas 1. Date de intrare : h, d, Q, s

Se poate scrie următorul algoritm pentru determinarea nivelului optim de reaprovizionare.

R , Rσ ;

Pas 2. Calculează h

Qsaopt⋅⋅

=2 ;

Qdha

⋅⋅

−=1α ;

Pas 3. Din tabela funcţiei de repartiţie a cererii pe perioada de avans R, se ia Zα. Ropt ZRP σα ⋅+= . Stop ! Observaţii

h

O

P0 opt P0

Creşterea cos-turilor

aQdPF ⋅⋅− ))(1( 0

Costul neadăugării unei unităţi

Figura 9.9

Page 220: mao

9. Elemente de teoria stocurilor 219

1. Stocul de siguranţă este RS ZRPI σα ⋅=−= 0 . 2. Pentru un ( ) 1,0∈α , un risc asumat de a avea lipsă de stoc pe perioada timpului de avans, se poate determina nivelul critic al stocului astfel :

α = P(R≥ P0)=1−F(P0) ⇒ F(P0)=1−α , relaţie ce permite determinarea nivelului critic al stocului P0. Determinarea costului total

Costul total=Costul de lansare+Costul de stocare+Costul lipsei de stoc

( )a

dRRfhR ⋅⎥⎥+⎟

QPRdPaaQsPaC

PT

⎢⎢⎣

⎡−⎞

⎜⎝⎛ −++= ∫

)( . 0

2),( 000 (9.6)

unde: aQs reprezintă costul de lansare al tuturor comenzilor de reaprovizionare pe

perioada de timp analizată,

aQ numărul comenzilor de reaprovizionare pe alizată, perioada de timp an

( )aQdRRfPRd ⋅⎥

⎤⎢⎡

−P ⎥⎦⎢⎣∫∞

0

0 p analizată,

0P

in stoc pe un ciclu

de reaprovizionare, f(x) densitatea de repartiţie a cererii. Se determină P0 opt şi aopt din condiţia impusă costului total dat de (9.6), să

e m

)( costul lipsei de stoc pe perioada de tim

( )∫ − )(0 dRRfPR numărul mediu de unităţi de stoc lipsă d∞

fi inim:

[ ]

( )⎪⎪ =+⎟

⎟⎜⎜ ⋅−+−

⎪⎪⎩

=∂

∂ ∫ 02

)(0 02

hdRRfPRdsaa

CT

⎩ ⎠

=−⋅

1)(

0

00 Pf

P

. (9.7)

Prima relaţie (9.7) se poate rescrie astfel:

⎪⎨ ⎛⇒⎪

⎨∂ 0

QP

⎪ +⋅+⋅⋅−⎪⎧ =

∂ 0)()(0 000 PPFda

PfPda

hCT⎧ QQ

0)( 0 =+− PFa

dda

QQh .

Atunci

optPQdhaPF 00 1)( ⇒

⋅⋅

−= . (9.8)

( )

h

dRRfPRdsQ

aP

opt

opt

⎟⎟⎠

⎞⎜⎜⎝

⎛−+

=∫∞

0

)(2 0

. (9.9)

Page 221: mao

Modele şi algoritmi de optimizare

220

Se observă că P0 apare în exprimarea lui aopt (9.9) şi a apare în exprimarea lui P0 opt (9.8). Pentru rezolvarea acestei probleme se poate folosi un procedeu iterativ astfel : - cu un a estimat, de exemplu dat de modelul lotului economic, se calculează P0,

in tabela funcţiei de repartiţie F din relaţia (9.8), elaţia (9.9) şi aşa mai departe, până când

d- apoi, cu acest P0 se calculează a cu rcele două valori găsite satisfac relaţiile (9.7).

Dacă ),( RRR σNa , atunci ( ) )()(0

0 ZNdRRfPR RP

σ=−∫∞

, unde N(Z) este

numărul mediu de comenzi de reaprovizionare a stocului pe perioada timpului de avans. Astfel, relaţia (9.7) devine

( )h

ZNdsQa R

opt)(2 σ+

(9.9’)

şi costul total optim este

=

[ ] hR⎟⎟⎠

− . (9.6’PaQZC opt

t

optoptopt

⎞+= 00 )() )

Particulariz1) Dacă timpul de avans, L ste constant unoscut şi cererea, r, este o variabilă aleatoare repartizată (m,σR), atu ⋅r este o variabilă aleatoare repartizată

aop

⎜⎜⎛

+2

Nds R+ σPaC optT= ,(⎝

ări , e şi cN nci R=L

N ( ) R . Notând cu –, LmL σ⋅⋅ zα , α – cuantila inferioară a leatoare N (0,1) , adică

variabilei a

∫−

∞−

−=

α

πα

z u

due 2

2

21 ,

rezultă că în acest caz nivelul de reaprovizionare este

RLzmLP σα+⋅=0 .

2) Presupunând timpul de avans, L, constant şi cererea, r, variabilă aleatoare repartizată Exp(λ), atunci cererea pe perioada timpului de avans este

),(...1 LErlangrrR L λa++=

şi P0 se determină din relaţia

(α riscul asumat fiind mic) folosind tabela repartiţiei Erlang(λ,L).

)(1)( 00

0

PRPdxxfP

<=−=∫ α

Page 222: mao

9. Elemente de teoria stocurilor 221 3) Dacă L este o variabilă aleatoare cu media M[L]=l, iar r este o variabilă aleatoare repartizată N (m,σR), independentă de L, atunci R=L⋅r este o variabilă aleatoare normală cu M[R] = l⋅m şi D2[R] = l⋅σR

2, adică N ( )Rlml σ⋅⋅ , . În acest caz nivelul de reaprovizionare este

RlzmlP σα+⋅=0 Exemplu. La un service auto sunt necesare 1800 bidoane de ulei de motor pe an. Costul de lansare a unei comenzi de reaprovizionare cu ulei este de s=10 u.m., costul de păstrare h=0.6 u.m./an, iar timpul de avans este de 20 zile. Cererea medie pe timpul de avans este 30=R bidoane, ),( RRR σNa . Costul lipsei din stoc a unui bidon de ulei este d=5 u.m. Să se determine cantitatea optimă de reaprovizionare şi punctul optim de reaprovizionare.

Rezolvare. Consideră mărimea optimă a lotului de reaprovizionare

2456.018001022

=⋅⋅

==hsQaopt bidoane de ulei.

Indicele de lipsă de stoc asumat este

α==⋅

⋅−=

⋅⋅

−=Φ 9837.018005

2456.011)( 0 QdahP

Φ fiind funcţia de repartiţie a unei variabile aleatoare normale. Din tabelele repartiţiei normale luăm α – cuantila corespunzătoare, Se obţine punctul optim de reaprovizionare P =100+2.14·30=164 . Astfel, stocul de siguranţă este

14.2=αZ . 0

64100164 =−=−= RPI optS bidoane de ulei. În anumite ipoteze asupra repartiţiei ciclului de reaprovizionare, )(τGT a , numărului de cereri din intervalul de timp (0, t), )()( tPotn ⋅λa , mărimii unei cereri X, (FX a

se poate determina repartiţia cererii t ervalul 0, t ).

.2. Modele de stocare pe o singură perioadă

cu cerere aleatoare Dacă rata cererii nu este deterministă, modelul de stocare cu cerere aleatoare presupune cunoscută repartiţia acesteia. Modelele de stocare pe o singură perioadă se referă la situaţia în care o singură comandă este lansată pentru un produs. La sfârşitul perioadei produsul a fost fie epuizat, fie există un surplus de articole

odelul 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. De exemplu: hainele

)x , otale pe int de timp (

9.6

nevândute care vor fi vândute la o valoare de lichidare de stoc. M

Page 223: mao

Modele şi algoritmi de optimizare

222

de sezon (costume de baie, hainele de iarnă), ziare etc. Cum comanda se face o singură dată pe perioada considerată, singura decizie de stoc care trebuie luată este: ce cantitate din produsul respectiv să se comande la începutul perioadei ? O astfel de problemă este cunoscută sub numele de problema vânzătorului de ziare. 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. m. / kg şi le vinde cu 11 u. m. / kg. La sfârşitul săptămânii preţul de lichidare de stoc este de 2 u. m./kg. Din experienţa avută (reflectată în Tabelul 9.6) magazinul vinde între 160 şi 200 kg de roşii pe săptămână. Deoarece cererea este relativ stabilă, se presupune că este continuă cu acea rată. Să se determine mărimea comenzii de

agazin, astfel ca profitul magazinului să fie maxim urban şi Meredith, 1988) .

Tabelul 9.6

Număr kilograme vândute (x)

Nsăptămâni cererii

Funcţia empirică de

repartiţie (P(x≤a))

reaprovizionare pentru m(T

umăr de Probabilitatea

160 4 0.08 0.08 170 10 0.2 0.28 180 12 0.24 0.52 190 15 0.3 0.82 200 9 0.18 1

Total 50 Rezolvare În rezolvarea acestui tip de probleme este indicată folosirea metodei analizei incrementale. Analiza incrementală compară câştigul sau pierderea realizată prin comandarea unui articol suplimentar pentru care nu ar fi existat cerere, cu câştigul sau pierderea realizată prin necomandarea unui articol pentru care ar fi existat cerere. Fie: a cererea de aprovizionare cu roşii pentru o săptămână, c+ costul unitar al supraestimării cererii, adică pierderea datorată omandării unui kilogram suplimentar care apoi se constată că nu se poate vinde, c costul unitar al subestimării cererii, adică pierderea datorată necomandării

entar care apoi se constată că s-ar fi putut vinde, omenzii de aprovizionare,

(a)=c+⋅P(a≤aopt)

- (1-P(a≤aopt)) . antitatea optimă comandată astfel:

c -unui kilogram suplim

D+ pierderea totală datorată supraestimării cD+

D- pierderea totală datorată subestimării comenzii de aprovizionare, D-(a)=c-⋅ P(a>aopt )= c

Din egalitatea D+(a)= D-(a) se determină c

−+ + ccopt =≤c

aaP _)( . (9.10)

Page 224: mao

9. Elemente de teoria stocurilor 223

Pentru această problemă 5555.0)611()26(

611_ =−+−

−=

+ −+ ccc

. Din Tabelul 9.6

se constată că şi se obţine aopt=190 kg . 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ă. 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ă. Preţul de achiziţie de la fabrică este de 40 u.m. perechea, iar magazinul îi vinde cu 60 u.m. Preţul de lichidare de stoc este de 30 u.m. perechea şi se aşteaptă ca la acest preţ stocul să fie lichidat. Câte perechi de pantofi ar trebui să comande patronul magazinelor pentru a obţine profit maxim (pierderi minime) ? (Anderson

Rezolvare

pentru pantofi bărbate 2, este erechi, având media 5 ează la

analiza incrementală pentru rezolvarea acestei probleme. Fie: a cererea de aprovizionare cu pantofi băr ăteşti mărimea 42, c+ costul unitar al supraestimării cererii, adică pierderea datorată comandării

timăr

ceastă problemă c+=40–30=10, iar c-=60–40=20. Considerând cererea egală cu media, analiza incrementală pentru două cazuri este arătată de Tabelul 9.7.

rimea comenzii Pierderea produsă dacă Pierderea

posibilă Probabilitatea

5555.0)( =≤ optaaP

et al, 1994)

Din experienţa anilor trecuţi, cererea şti, măsura 4uniformă şi cuprinsă între 350 şi 650 p 00. Se apel

b

unei perechi de pantofi suplimentare, care apoi se constată că nu se poate vinde, c- costul unitar al subestimării cererii, adică pierderea datorată necomandării unei perechi de pantofi suplimentare, care apoi se constată că s-ar fi putut vinde,

s D+ pierderea totală datorată suprae ării comenzii de aprovizionare D- pierderea totală datorată subestim ii comenzii de aprovizionare. Pentru a

Tabelul 9.7

Cazul Mă

I 501 Cererea este supraestimată şi o unitate nu poate fi vândută c+=10 P(a≤500)

II 500 Cererea este subestimată şi o unitate ar fi putut să fie vândut c-=20 P(a>500) ă

+⋅0.5=5 u.m. , D-(a)=c-⋅0.5=10 u.m.

Este de preferat să se comande 501 perechi de pantofi. Se continuă investigarea până când

D+(a)= D-(a) . Ţinând seama de relaţia (9.4), se obţine pentru acest exemplu

P(a≤500)= P(a>500)=0.5, D+(a)=c

32

350650350

)( =−

−=≤ opt

opt

aaaP ,

Page 225: mao

Modele şi algoritmi de optimizare

224

iar aopt=550. În situaţiile practice apare problema cunoaşterii repartiţiei cererii pentru

ectiv şi cea a costurilor c+ şi c- .

În modelele cu o singură perioadă, cantitatea

produsul resp

−+ + ccc_ are rol esenţial în

determinarea cantităţii optime de reaprovizionare. Când c+<c- se recomandă să fie de reaprovizionare. Când c-<c+ se recomandă să fie mai mare lotul

de reaprovizionare. Când cele două costuri sunt egale, probabilitatea de a avea surplus este egală cu probabilitatea de a avea lipsă de stoc şi atunci se recomandă ca lotul de reaprovizionare să fie egal cu media.

9.6.3. Modele stochastice de stocare bazate pe modele de aşteptare

Aplicarea modelelor de aşteptare la rezolvarea problemelor legate de gestiunea stocurilor se poate prezenta astfel (Văduva et al, II, 1974): 1. cererile ce urmează a fi satisfăcute sunt considerate clienţi în modelul de

aşteptare. Pentru ca să fie satisfăcute cererile ar trebui ca în stoc să se afle o cantitate practic infinită, ceea ce în realitate nu este posibil;

2. încărcarea stocului corespunde venirilor în sistemul de aşteptare şi satisfacerea cererilor corespunde ieşirilor din sistemul de aşteptare.

În continuare vor fi prezentate două modele de stocare având la bază modele de aşteptare.

9.6.4. Modelul P0(λ)/Exp(µ)/1:(∞, FIFO)

Ipotezele modelului − stocul este unic (un singur tip de produse, c=1), − variaţia stocului este discretă, − intervalul de timp dintre două intrări în stoc este o variabilă aleatoare

exponenţială negativă de parametru λ, − fiecare cerere este egală cu unitatea (r=1), τ – intervalul de timp dintre două cereri este o variabilă aleatoare exponenţială

negativă de parametru µ, − intrările în stoc pot avea loc indefinit, N(t) – numărul unităţilor din stoc este un proces aleatoriu staţionar descris de

un proces de naştere şi deces. Cu notaţiile de la modelele de aşteptare avem

mai mic lotul

Page 226: mao

9. Elemente de teoria stocurilor 225

[ ] ρµλρ

ρρ

−==−

= 1 , , 1

)( 0ptNM .

Construcţia funcţiei de cost. Notăm cu: cu – costul unei unităţi din stoc, α − fracţiunea pe care o reprezintă costul de stocare din costul unităţii de stoc, (h=αcu) , d – costul unitar al lipsei de stoc, p0 – probabilitatea de a avea lipsă de stoc.

[N(t)], lipsei de stoc = d⋅p0,

• funcţia de eficienţă (costul mediu ce trebuie optimizat) =C(ρ), unde

Atunci obţinem • costul mediu de stocare = cu⋅α⋅M• costul mediu al

) 1(1

)]([) ( 0 ρρ

ρααρ −⋅+−

⋅⋅=⋅+⋅⋅= dcpdtNMcC uu .

Din condiţia ca C(ρ) să fie minim ( )0)(,0)( >′′=′ ρρ CC , se obţine

dcu

optα

ρ⋅

−=1

şi astfel se pot determina elementele necunoscute ale modelului. Practic se cunoaşte cererea ) (Exp µτ a şi astfel numărul de unităţi cerute pe unitatea de timp este o variabilă aleatoare Poisson de parametru µ, µ fiind intensitatea cererii, presupusă cunoscută. Se cere determinarea parametrului optλ = intensitatea optimă de încărcare a stocului. Dar

⎟⎟⎠

⎞⎜⎜⎝

⎛ ⋅−⋅=⋅=

dcu α

µρµλ 1 .

Se poate determina probabilitatea ca nivelul stocului să depăşească o anume valoare ν ,

deoarece

( ) )1()(0

νν

ν

ρρρρν =⋅⋅−==≥ ∑∑∞

=

= j

j

nnptNP

( ) . 1 ρρ −⋅= nnp

Problema se poate formula şi astfel: Să se determine nivelul stocului care să fie atins şi/sau depăşit cu

bilitatea π∈(0, 1) suficient de mică.

Atunci, din relaţia ρ ν = π obţinem

proba

ρπν π ln

ln= .

Ipoteza că intrările în stoc pot avea loc în mod indefinit se poate înlocui cu alta, ă din faptul că stocul are o limită a capacităţii, m. Atunci rezultat

Page 227: mao

Modele şi algoritmi de optimizare

226

⎩⎨⎧

>≤≤⋅

=mn

mnpp

n

n pentru 01pentru 0ρ

şi eoarece 1=∑m

np se obţine d=n 1

0 =p 111

+−−

mρρ .

Astfel

[ ] ( ) ∑∑∑=

==

⋅⋅−

−⋅=⋅⋅=⋅=

m

n

nm

n

nm

nn npnpntNM

1

1

10

1 11)( ρρ

ρρρ .

Însă

+m 1

1

1 ρρρ −=∑

mmn

1 ρ−=

e unde rezultă că n

d( )[ ] ( )

( )2

1

1

1

1111 ρ

ρρρρρ−

−+−⋅⋅+−=⋅

+

=

−∑mmm

n

n mn .

Obţinem

[ ] ( ) ( )[ ] ( )( )

=−

⋅−

==+

+ 21 11)(

ρρ

m

mtNMN −+−⋅⋅+−− 11111 ρρρρρρ mm

( )[ ]( ) ( ) .

1111

1

1

+

+

−⋅−⋅⋅+⋅+−

= m

mm mmρρ

ρρρ

Înlocuind M[N(t)] în funcţia de cost şi punând condiţia de minim se obţine ρopt cu ajutorul căruia se pot determina elementele modelului. De exemplu, numărul mediu de cereri ce urmează a fi satisfăcute (adică lungimea medie a cozii)

[ ] ( )[ ]( ) ( )111

11)(+−⋅−

⋅−+=−= m

mmtNMRρρ

ρ .

Se obţine o nouă funcţie de cost dacă se consideră valorile medii

12 1 +⋅−⋅ mm ρρ

RN , astfel

( ) ( ) ⋅−⋅−

=⋅+⋅⋅=+11 11

) ( mu RdNcCρρ

ραρ

( ) ( ) . ]11[]11[ 11 mmmmu

Din condiţia de optim (min Cmmdmmc ρρρρρα ⋅−+⋅−⋅⋅+⋅+⋅+−⋅⋅⋅ −+

ρ) ) rezultă ρopt şi acum se pot calcula elementele modelului.

u mai multe staţii paralele şi cu timp de avans L aleatoriu

1(

9.6.5. Modelul c

Page 228: mao

9. Elemente de teoria stocurilor 227

•ate să fie S=constant,

• fiecare cerere este egală cu unitatea (r=1); numărul de cereri pe unitatea de timp este o variabilă aleatoare Poisson, de parametru λ,

• timpul de avans L este o variabilă aleatoare exponenţială negativă de parametru µ.

A. Cererea nesatisfăcută nu se păstrează Analogia cu modelul de aşteptare

Ipotezele modelului în momentul când se scoate o unitate din stoc se comandă alta, astfel încât

numărul de unităţi din stoc plus cele comand

) ,(:)/)/Exp( Exp( dNc ∞λµ Se consideră • cele c locuri din stoc drept staţiile de serviciu ale sistemului de aşteptare, • Nd semnifică faptul că există clienţi nedisciplinaţi care, dacă nu pot fi serviţi,

părăsesc sistemul, • N(t) − numărul de unităţi din sistem la momentul t este un proces finit, • Pn(t)=P(N(t)=n) – probabilitatea de a avea n unităţi în stoc. Când sunt n

enzi.

Determinarea coeficienţilor λn , µn, n∈1, 2, . . . , c. Deoarece o comandă soseşte după timpul aleatoriu L, care are repartiţia Exp(µ), rezultă că intensitatea intrării în stoc a unuia din cele c articole este µ·c, adică, λ0= µ·c. Dacă există n unităţi în stoc, atunci poate să sosească numai una din cele −n com

, λc Pentru a determina intensitatea ieşirii ţinem seama de faptul că ieşirea depinde de cerere, deci µn = λ, 1 ≤ n ≤ c. Se pot scrie ecuaţiile de stare ale modelului astfel

⎪⎪⎨

>=⋅+⋅−=′

−≤≤+−⋅+⋅+⋅−+−=′⋅+⋅−=′

−+

,0)()()(

11,)()1()()()()()()()(

1

11

100

ntPtPtP

cntPnctPtPnctPtPtPctP

ccc

nnnn

µλµλµλ

λµ

ţionar conduce la soluţia

unităţi în stoc înseamnă că sunt lansate c−n com

cenzi, deci

λn= µ·(c−n) , 1 ≤ n ≤ c = 0.

[ ]

⎪⎪⎩ .)( ctPn

Rezolvarea pentru cazul sta

∑= ⋅−

⋅= c

nnnc

cp

0

0

)!(1!

1

ρ

,

iar

( ) cnc

nn ncp

−=

)!(p

ncpc −

−=⋅

⋅ρ

ρ !1!

0 , 1 ≤ n ≤ c,

unde

Page 229: mao

Modele şi algoritmi de optimizare

228

µλρ = .

Se poate determina stocul mediu

M[N(t)] = ∑=

−c

n

nc n

ncp0

ρ .

mediu de ce

alul mediu de timp de avans, egal cu

Numărul reri pe unitatea de timp este λ, deci numărul mediu de

cereri pe intervµ

,1 va fi µλ , iar numărul

mediu de cereri satisfăcute pe intervalul de timp de avans este

M[R] = c−M[N(t)]. 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 µ1 .

Profitul pe perioada T este

B(c) = M[R]·cv−h·M[N(t)] = )(

)()()( 1

ρρρρ

c

ccv E

EEcvhcc −−⋅

⋅+−⋅ ,

unde

∑=

−⋅=c

n

xn

c enxxE

0 !)( .

c fiind o variabilă întreagă, condiţia B’(c) = 0, revine la B(c+1)−B(c) = 0,

adică

⎥⎦

⎤⎢⎣

−⋅=+ + )(1 ρ

ρcv Ech

⎡ −

)()()( 1

ρρρ

c

cc

EEEh .

pentru xim.

Pot exista cel mult m cereri nesatisfăcute şi atunci numărul de unităţi din stoc satisface relaţia −m≤ n ≤ c.

Analogia cu modelul de aşteptare

Dându-se h, c, c , ultima relaţie permite dv eterminarea stocului optimobţinerea unui profit ma B. Cererea nesatisfăcută se păstrează

FIFO) ,(:)/)/Exp( Exp( mcλµ

Page 230: mao

9. Elemente de teoria stocurilor 229 Formularea problemei. Să se determine nivelul optim al stocului c în funcţie de ρ, L, costul unitar de stocare h şi costul unitar al lipsei de stoc d. În acest caz N(t) reprezintă numărul de cereri înregistrate,

0 ≤ N(t) ≤ c+m. În stoc vor exista j = c−N(t) unităţi. Determinarea coeficienţilor λ , µ , 0 ≤ n ≤ c+m

Intensitatea satisfacerii cererilor µn se determină astfel.

stoc cu intensitatea µ, deci numai c din cele n cereri vor fi satisfăcute, atunci

n = c⋅µ , c ≤ n ≤ c+m. iza este c+m, rezultă că

n Astfel, ecuaţiile de stare ale modelului sunt

⎧≤≤⋅+⋅+⋅+⋅⋅+⋅−=′

⋅+⋅−=′

+− 1)()1()()()()()()()(

11

100

cntPntPtPntPtPtPtP

nnnn µλµλµλ

n n Dacă există n cereri înregistrate, intensitatea cu care apare o nouă cerere este

λn = λ, 0 ≤ n ≤ c+m, λn = 0 pentru n > c+m.

Dacă există n cereri la un moment dat t, 1 ≤ n ≤ c, atunci ele se pot satisface cu unităţile ce vor sosi în stoc cu intensitatea µ, deci

µn = n⋅µ , 1 ≤ n ≤ c. Dacă c ≤ n ≤ c+m, nu pot sosi în stoc decât c unităţi ce au fost comandate, care intră în

µ Deoarece numărul maxim de cereri ce se pot realµ = 0, pentru n > c+m.

⎪⎪⎩

⋅+⋅⋅−=′+≤≤⋅⋅+⋅+⋅+⋅−=′

−+++

+−

.

).()()()()()()()(

1

11

tPtPctPmcnctPStPtPStP

mcccmc

nnnn

λµµλµλ

⎪⎪

Soluţia pentru cazul staţionar în funcţie de µλρ = este

⎪⎪⎪

⎪⎪⎪ ≤⋅ p

n1

! 0

+>

+≤≤⋅⋅

=−

mcn

mcncpcc

cn

p cn

n

n

n

0

! 0ρ

ρ

(9.11)

Din =∑+

10=

mc

p deducem n

n

∑−

= −0 1!!n cn ρ

+

⎟⎠⎞

⎜⎝⎛−

⋅+

=

1

10

1

1

c

m

cn c

ρρ

(9.12)

c Se pot determina acum:

− numărul mediu de unităţi existente în stoc

Page 231: mao

Modele şi algoritmi de optimizare

230

M[N+(t)] = ∑ −c

=npnc )( ,

M[N−(t)] = .

Astfel, funcţia de cost care trebuie optimizată este C(c)= M[N+(t)]·h− M[N−(t)]·d.

Notăm − funcţia de repartiţie a variabilei aleatoare discrete n.

Atunci

n 0

− numărul mediu de unităţi lipsă din stoc

∑+

+=

−mc

cnnpnc

1)(

∑=

=n

jjpnQ

0)(

−⋅−+⋅−⋅−+⋅=−+≈′ ∑∑++

+=

+

=

mc

cnn

c

nn pncdpnchcCcCcC

1

2

1

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

=⋅−⋅+⋅−⋅− ∑∑+

+==

LS

Snn

S

nn pnSdpnSh

10)()(

−⋅+−−+⋅−⋅+−−+⋅= ∑∑+

+==

mc

cnn

c

nn pncncdpncnch

10)1()1(

( ). )(1)()11( 1 cQdcQhpmccd mc −⋅−⋅=⋅−−−+⋅− ++

hddcQ+

=)( .Din condiţia de optim, C’(c)=0, se obţine

Pentru a găsi o soluţie întreagă a acestei ecuaţii se poate folosi următorul algoritm. Pas 0. Intrare m, d, h, ρ;

; 0: , : =+ hd

= cdk

Pas 1. c:=c+1; Calculează p0 conform cu (9.12) şi pn, mcn +≤≤1 , conform cu (9.11); Pas 2. i:=i+1 ; Σ:= Σ+pi ; dacă Σ<k şi i<c+m mergi la Pasul 2; Pas 3. Dacă Σ<k şi i=c+m mergi la Pasul 1 ; Pas 4. Dacă şi atunci c este optim. Stop! Se observă că algoritmul determină acea valoare întreagă pentru care

;0:;: 0 ==Σ ip

k≥Σ mLci +≤

)(cQ . )1(c <−hd

Q ≤+

9.7. Probleme propuse

d

Page 232: mao

9. Elemente de teoria stocurilor 231 1. Din experienţa anilor trecuţi, universitatea are nevoie pentru consumurile curente de 1200 de cutii de hârtie A4 pentru un an. Costul de lansare a unei comenzi de reaprov tii se conside im de aprovizionare cu hârtie A4, care itatea la cheltuieli minime. Se onsideră că anul are 300 zile lucrătoare şi că nu se admite lipsa hârtiei în depozit. . Pentru un an avem: aopt=101.42 cutii ≈ 101 cutii, costul total anual este de

3 549 647. .

. Firma care se ocupă cu semaforizarea intersecţiilor din Capitală are nevoie de 0 000 de becuri pe an aprovizionare este de 500 000 lei, costul a lei. Presupunând că

nul are 300 zile lucrătoare şi că nu se admite lipsa becurilor din depozit, să se etermine:

b) costul total anual al stocării

R. a) Qopt=2927.7 ≈ 2928 , b) CT =10 246 950.77 ≈ 10 246 951 , c) N=3.42 ≈ 3 . 3. RomTelecom cumpără anual consumabile în valoare de 500 000 euro.

ostul de lansare a unei comenzi de reaprovizionare este de 80 euro, iar costul nual de păstrare este de 20% din valoarea consumabilelor păstrate. Să se

determine: ) care este valoarea optimă a unei comenzi de reaprovizionare? ) de câte ori într-un an se lansează cereri de reaprovizionare?

d) care este costul total anual de stocare?

ro; b) se lansează într-un an 25 cereri de reaprovizionare; c) costul total anual de lansare a comenzilor de reaprovizionare este de 2000 euro; d) costul total anual de stocare este de 4000 euro.

reparaţii aparatură electronică are o componentă pentru care poate p ca modelul cu lipsă de stoc. Cererea nuală este de 2000 unităţi, costul anual

unitar de păst i comenzi de eaprovizionare i de stoc este =30 u.m.. Se presupune că anul are 250 zile lucrătoare. Să se determine: ) m

ei de stoc.

d) ciclul optim de reaprovizionare

izionare cu hârtie este de 150 000 lei, iar pentru depozitarea unei cură că se cheltuiesc 35 000 lei pe un an. Să se stabilească un plan opt

să conducă universcR

87, numărul de comenzi lansate într-un an este 12, Topt ≈ 25 zile 21 . Costul de lansare a unei comenzi de re

nual de păstrare a unui bec este de 35001 ada) cantitatea optimă de reaprovizionare

c) câte comenzi de reaprovizionare vor fi lansate anual.

Ca

abc) care este costul total anual de lansare a comenzilor?

R. a) Valoarea optimă a comenzii de reaprovizionare este 20 000 eu

. O firmă de 4

a lirare este h=10 u.m. , costul de lansare a une este de s=25 u.m. , costul anual unitar al lipser

da ărimea optimă a comenzii de reaprovizionare b) numărul maxim de unităţi lipsă din stoc pe perioada lipsc) nivelul maxim al stocului

Page 233: mao

Modele şi algoritmi de optimizare

232

e) costul total anual

R. a) mărimea optimă a comenzii de reaprovizionare

115=opta b) numărul maxim de unităţi lipsă din stoc pe perioada lipsei de stoc, S=29. c) nivelul maxim al stocului Imax= Saopt − =86 d) ciclul optim de reaprovizionare, Topt=11.4 zile lucrătoare e) Ch=322, Cs=435, Cd=110 şi atunci, costul total anual, CT=867 .

. O companie trebuie să asigure un produs chimic (soluţie) la fiecare 6 luni unui client. Cum procesul cţia trebuie începută

aintea formulării cer duşi ştiind că : preţul e vânzare este de 20 u. m. / litru, costul de producţie este de 15 u. m. / litru, lipsa e stoc este rezolvată prin cumpărarea soluţiei de la altă firmă cu 19 u. m. / litru,

surplusul se vinde cu 5 u. m. / litru. Din experienţa care există cererea se consideră ca fiind N (1000,100). Care este planul de producţie optim ?

5

de producţie durează două luni, produerii de către client. Câţi litri trebuie proîn

dd

Rezolvare. c-=19-15=4, c+=15-5=10, 29.0104

)( =4+

=≤ optaaP . Din tabela

repartiţiei normale standard

29.021)( 2

2

==≤ ∫∞−

−z x

dxezaPπ

se ia z=0.55. Atunci aopt=µ-0.55σ=1000-0.55⋅100=0.945 litri. În acest caz, costul de subestimare este mai mic decât cel de supraestimare şi atunci compania îşi sumă un risc mai mare de apariţie a lipsei de stoc. La valoarea aopt obţinută, robabilitatea de a avea surplus este 0.29, iar cea de a avea lipsă de stoc este 0.71 .

Folosind algoritmul general din §9.4. să se rezolve următoarea problemă :

n magazin de încălţăminte bărbătească vinde în medie la fiecare 3 luni 500 erechi de pantofi negri. Făcând aprovizionarea în loturi de câte 500 perechi de

agazinul ob

dă de aprovizionare es ducătorul oferă şi alte reduceri eţuri în funcţie de m cu Tabelul 9.8, să se

ărimea optimă a comenzii de reaprovizionare a magazinului şi să se

Tabelul 9.8 Cantitate Preţ unitar

ap

6. Uppantofi, m ţine de la producător cel mai mic preţ petru o pereche, 28 u.m. Costul de depozitare este 20% din preţul de achiziţie. Ştiind că o lansare de coman te de 30 u.m. şi că pro

e pr ărimea comenzii, conformdstabilească mprecizeze dacă este mai avantajoasă vechea politică de reaprovizionare.

0 – 99 36 100 – 199 32 200-299 30

≥300 28

Page 234: mao

ANEXĂ ţiuni generale de probabilităţi şi statistică

matematică

e evenimente. Axioma lui Kolmogorov

A.1.1. Evenimente. Probabilităţi

Fie Ω o mulţime nevidă dată, K o familie de submulţimi ale lui Ω, K ⊂ P (Ω). Elementele lui K le numim subevenimente.

amilia K se numeşte câmp complet aditiv dacă sunt verificate următoarele axiome:

umărabilă ( I – submulţime a lui N ).

Funcţia de mulţime P : K → R se numeşte probabilitate dacă: P1. (∀) X ∈ K , P(X) ≥ 0; P2. (∀)I familie de indici cel mult numărabilă, este îndeplinită relaţia:

,, , , )( ,

No

A.1. Câmp d

FA1. (∀) X ∈ K , cX ∈ K (cX=Ω \ X) A2. K∈

∈U

I

α dacă Xα ∈ K , (∀) α∈ I , I familie de indici cel mult

n

A.1.2. Probabilitate

;)( ∑∈

⎞⎛

⇒≠∈φ=∩∈∀∈ IXXIX

α

βαα βαβααK

P(Ω) = 1.

A.1.3. Câmp de probabilitate complet aditiv

Câmp de probabilitate complet aditiv este tripletul

=⎟⎟⎠

⎜⎜⎝

⇒II

XPXPαα

αU

P3.

P,,KΩ , iar Ω se numeşte evenimentul sigur şi φ – evenimentul imposibil. P(Ω) = 1, P(φ ) = 0 .

Page 235: mao

Modele şi algoritmi de optimizare

234

A.1.4. Probabilitate condiţionată

Fie P,,K Ω un câmp de probabilitate complet aditiv, A, B∈ K cu (B)>0. probabilitatea evenimentului A condiţionată de B şi notăm

PB(A) sau po

P Numim

P(AB) ra rtul )(

)( BAPBP∩ .

A.1.5. Evenimente independente

Fie P,,KΩ un câmp de probabilitate complet aditiv şi A, B ∈ K . Spunem că evenimentele A şi B sunt independente dacă se verifică relaţia:

)()()( BPAPBAP ⋅=∩ . ă evenimentele şi B sunt independente, atunci au loc relaţiile:

cBPAPcBAPBPcAPBcAP

⋅=∩

Dac A

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

).()()( cBPcAPcBcAP ⋅=∩

⋅=∩

Observaţie. Dacă A şi B sunt independente, atunci PB(A) = P(A).

Fie

A.2. Variabile aleatoare

P,,KΩ un câmp de probabilitate complet aditiv sau câmp de robabilitate şi X o funcţie, X : Ω → R. Aplicaţia X este variabilă aleatoare

dap

că ( ) K∈> cω , pentru (∀) c ∈ R. . ∈ XΩω

roprietăţi 1. Fie X o

PTeorema variabilă aleatoare şi b un număr finit. Atunci: a) X + b b) b⋅ X c) X d) X 2

e) X1 , pentru X ≠ 0

sunt de asemenea variabile aleatoare.

Page 236: mao

Anexă 235

două variabile aleatoare, atunci:

) X ⋅ Y

Teorema 2. Dacă X şi Y sunta) X − Y b) X + Y c

d) YX , pentru Y ≠ 0

sunt variabile aleatoare.

A.2.1. Funcţia de repartiţie

ăm F(x) = P( X ω)) < x ) (de fapt,

Fie x ∈ R şi X o variabilă aleatoare. Not (

( ) ( ) ia de repartixωXPxF <∈= Rω)( . Funcţia F se numeşte funcvariabilei aleatoare X .

ţ ţie a

Exemplu. Dacă X este o variabilă aleatoare discretă (ia numai un număr finit sau o

nci funcţia de repartiţie este suma robabilităţilor valorilor lui X (ω) situate la stânga lui x.

x 0 1 2 3 4

infinitate numărabilă de valori), atup

p 0.2 0.3 0.1 0.3 0.1

⎪⎪⎪⎪⎨ ≤<++ x 321.03.02.0

⎪⎪⎪

<≤<+++

≤<+≤<

=

xx

xx

xF

41433.01.03.02.0

213.02.01

0

)(

Deci, pentru variabila aleatoare discretă

⎪⎧ x

02.00

, ∑<

==<=xx

ii

xXPxXPxF )()()( .

Proprietăţi Teorema 3. Fie X o variabilă aleatoare, F funcţia sa de repartiţie şi x1, x2 ∈ R.

1 2 2 F( x1 ;b) P( x1 < X < x2 ) = F( x2 ) − F( x1 ) − X = x1 ) ; c) P( x1 < X < x2 ) = F( x2 x2 ) ;

P( x1 ≤ X ≤ x2 ) = F( x2

eorema 4. Fie X o variabilă aleatoare şi F funcţia sa de repartiţie. Atunci:

Atunci: a) P( x ≤ X < x ) = F( x ) − )

P( ) − F( x1 ) − P(X = x1 ) + P(X =) − F( x1 ) + P(X = x2 ) . d)

T

Page 237: mao

Modele şi algoritmi de optimizare

236

a) F( x ) ≤ F( x ) , x < x ;

1 2 1 2

b) 0)()(lim ; 1)()(lim =−∞==+∞=−∞→∞→

FxFFxFxx

;

c) F( x − 0) = F( x ) (continuitate la stânga).

A.2.2. Densitate de repartiţie

ă există o funcţie nenegativă f( y ) astfel încât

(∀)x∈R , atunci numim funcţia f densitate de repartiţie sau de probabilitate. Proprietăţi ) f ( x ) ≥ 0 , (∀) x ∈ R ;

)()21

xdxxfxX ;

x .

A.2.3. Variabile aleatoare independente în sensul Steinhaus−Kaç

Fie , I – familie oarecare de indici. Spunem că aceasta este o familie

independentă în sensul Steinhaus−Kaç dacă, (∀) J ⊂ I , J finită, avem:

.

A.2.4. Valoare medie. Dispersie. Momente

Dac ∫ ∞−=

xdyyfxF )()( ,

a

∫=<≤ 2b) (∀) x1 , x2 ∈ R , (xP1x

c) ∫∞

∞−)( dxf =1

( ) IX ∈αα

( )∏∈

− −∞=⎟⎟⎠

⎞⎜⎜⎝

⎛−∞

JJx

aXPaXPα

αααα ),(),( 11I

Fie P,,KΩ un câmp de probabilitate şi X o variabilă aleatoare. Se

numeşte variabilei aleatoare X valoarea . Dacă

nci

media ∫Ω

= dPXXM )(][ ω

∑∈

=Ii

)] . variabila aleatoare este discretă, atu = ii aXPaXM ([ Dacă variabila

aleatoare

roprietăţi ie X , Y – variabile aleatoare, iar a, b – constante reale. Atunci:

are densitatea de probabilitate f, atunci ∫∞

∞−= dxxxfXM )([[ .

PF

Page 238: mao

Anexă 237

M[X] + M[Y] ; c) M[ X ⋅ Y] = M[ X] ⋅ M[ Y] numai dacă X şi Y sunt independente. Dispersia unei variabile aleatoare X este

a) M[ a X + b] = aM[X] + b ; b) M[ X + Y] =

[ ]( )[ ] [ ] [ ]( )2222 ][ XMXMXMXMXD −=−= . Proprietăţi Fie X , Y – variabile aleatoare independente, iar a, b – constante reale. Atunci:

) D[ a X + b] = a2D[X] ; ) D[ X + Y] = D[X] + D[Y] .

baterea medie pătratică se defineşte ca fiind

ab

][][ 2 XDX =σ . AMomentul de ordinul r (r>1) al unei variabile aleatoare este

M ∫∫∞−

== dxxfxdPXX rrr )()()(][ ωω

dacă X are densitatea de probabilitate f.

A.3. Câteva repartiţii clasice

A.3.1. Repartiţia uniformă

O variabilă aleatoare X ă pe intervalul [a,b] dacă are densitatea de probabilita

urmează repartiţia uniform

te

[ ]⎪⎩ .altfel0

⎪⎨⎧ ∈

−= dac1)( a,b x

abxf ã

Funcţia sa de repartiţie este

( ) ],)()( axabaxdttxF

x

a

∈∀−−

== ∫ ρ ,[ b .

Pentru variabila aleatoare uniformă X media şi dispersia sunt

)(21][ baXM += , 22 )(

121][ abXD −= .

A.3.2. Repartiţii Markov

Page 239: mao

Modele şi algoritmi de optimizare

238

În modelele de aşteptare intervin repartiţia Poisson pentru modelarea sosirilor în sistem şi repartiţia exponenţială pentru modelarea timpilor de servire. Cele două repartiţii i complementare. Ambele sunt numite repart

, prima discretă şi cea de-a doua continuă, sunt repartiţiiţii Markov.

epartiţia Poisson

etru λ c

R O variabilă aleatoare discretă X urmăreşte repartiţia Poisson de paramda ă

λλ −= enn

) ==n

nfXP!

)(( ,

λ>0 , iar n=0, 1, 2, ... Pentru acest tip de variabil leatoare M[X]= λ şi

O variabilă aleatoare are repartiţia exponenţială dacă are densitatea de

= −λ λetf xt

ste .

unde ă a2D [X]= λ..

Repartiţia exponenţială probabilitate

0,0, >≥ λt , iar funcţia de repartiţie e

)(

0,1)( ≥−= − tetF tλ

Dacă )(λExpY a , atunci λ1][ =YM , iar

22 1][ ⎟

⎠⎞

⎜⎝⎛=

λYD .

Repartiţia Erlang(λ,n) Fie Y1, Y2,..., Yn , n variabile aleatoare repartizate Exp(λ) şi independente, iar

∑=n

iYX . Variabila aleatoare X este r=

epartizată Erlang(λ,n) şi are densitatea de i 1

repartiţie xn

n

exn

xf λλ −−

Γ= 1

)()( ,

iar Γ este funcţia gama (funcţia lui Euler de speţa a II-a)

∫∞

−−=Γ 1)( dxexa xa . 0

Dacă )(λErlangX a atunci λnXM =][ , iar 2

32 ][

λnXD = .

A.3.3. Repartiţia normală unidimensională a lui Gauss

Page 240: mao

Anexă 239

ilă alee

O variab atoare X urmează repartiţia normală dacă are densitatea de probabilitat

( ) ( )∞∞−∈∀=−

−,

21)( 2

2

2)(

xexfx

σµ

πσ ,

iar funcţia de repartiţie

∫∞−

−−

=x t

dtexF 2

2

2)(

21)( σ

µ

πσ2

,

unde M[X]=µ, iar D2[X]=σ . Când µ=0 şi σ=1 , variabila X se numeşte variabilă aleatoare normală standard (sau redusă), iar pentru aceasta F(x) este tabelată.

A.3.4. Repartiţia Beta

O variabilă aleatoare X urmează repartiţia Beta de parametri a şi b dacă are ensitatea de repartiţie

d

( )⎪⎩

⎪⎨⎧ −−1 11 ba ∈∀−

= altfel0

)1,0()1(),()( xxx

baBxf ,

unde B(a,b) este funcţia beta (funcţia lui Euler de speţa I)

0,0,)()(),( >>)( +Γ

ΓΓ= bababaB .

ba Pentru o variabilă aleatoare de acest tip,

baaXM+

=][ şi 1

1][2

2

++⎟⎠⎞

⎜⎝⎛

+=

babaaXD .

A.4. Procese aleatoare Fie P,,KΩ un câmp de probabilitate şi

aleatoare variabil: ãXXE R→Ω= , T o mulţime oarecare de numere reale. Se numeşte proces aleatoriu sau proces stochastic cu mulţimea de parametri T o aplicaţie ET →:ξ . Considerăm că variabilele din E descriu starea unui anumit sistem, iar mulţimea T reprezintă timpul. Astfel, un proces aleatoriu reflectă evoluţia în timp a unui real sistem dat. Dacă mulţimea T este finită, procesul aleatoriu este echivalent cu un vector aleatoriu. Frecvent T=R, T=[0, ∞) sau T=[0, 1] şi se spune că procesul aleatoriu este cu timp continuu. Dacă T=Z sau T=N termenul de proces aleator se înlocuieşte cu cel de lanţ.

Page 241: mao

Modele şi algoritmi de optimizare

240

După cum o variabilă aleatoare se consideră determinată din punct de vedere probabilistic atunci când i se cunoaşte funcţia de repartiţie, pentru definirea unui

ebui cunoscute toate funcţiile de repartiţie finit dimensionale, proces aleatoriu ar tradică ( ) Nn∈∀ , ( ) Tttt n ∈∀ ,...,, 21 şi ( ) Rxnxx ∈∀ , tre...,, 21 buie să fie cunoscute probabilităţile

( )ntttnttt xxxPxxxFnn 2121

În cele ce urmează vom presupune că intervalul de intere

<<<= )(,...,)(,)()...,,,( 2121,...,, ξωξωξω .

s este în timp. Un proces aleatoriu ξ se numeşte proces Markov dacă pentru ,

ω

( ) N∈∀ n ( ) , nttt <<< ...21 şi ( ) R∈∀ a are loc relaţia ttt n ∈∀ ,...,, 21 T

))()(())(),...,(),()(( 21 nn tBtPtttBt ξξξξξξ ∈=∈P , nde ( ) ( ] ( ) [ ) .,sau ,,sau ,,sau ,, −∞−∞∞−∞−= aaaaB . u

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 121 ...,,, −nttt .

[ ) E→∞,0:ξ Un proces aleatoriu se num( ) ( )

eşte cu creşteri independente dacă pentru Nn∈∀ şi 0,...,, 21 ≥∀ nttt cu proprietatea că nttt <<< ...21 , variabilele aleatoare )( 1tξ , )( 2t )( 1tξ , )()( 23 tt ξξ − ,..., )()( 1−− nn tt ξξξ − sunt

dependente. Un proces aleatoriu cu creşteri independente şi satisfăcând condiţia ξ(0)=0 se numeşte proces Poisson dacă ia numai valori întregi nenegative şi dacă pe orice interval [s,t] , creşterile sale urmează repartiţii Poisson de parametru

in

)( st −λ , adică

( ) [ ] ( ) *)( ,!

()()( Nnn

stenstPn

st ∈∀−

==− −− λξξ λ .

Se poate considera că )(tξ înregistrează numărul de apariţii ale unui eveniment în intervalul de timp [0, t] . Media şi dispersia procesului Poisson sunt ttM λξ =)]([ , ttD λξ =)]([2 . Într-un proces Poisson probabilitatea apariţiei unui eveniment este constantă şi

lat imediat înaintea

son aplicată procesului Poisson dă interval, [0, t] , date fiind:

a) numărul mediu de evenimente pe unitatea de timp, λ=rata sau intensitatea procesului, b) lungimea intervalului, t . Atunci, probabilitatea apariţiei a n evenimente în intervalul [0, t] este

apariţia unui eveniment este independentă de ceea ce s-a întâmpobservaţiei curente. Pot fi considerate procese Poisson: numărul erorilor de tipar dintr-o carte, ziar etc., numărul pieselor defecte dintr-un lot de fabricaţie, vânzările

oisunui produs etc. Repartiţia probabilităţii Pprobabilitatea numărului de evenimente pe un

!)(),(

ntetnXP

nt λλλ−

== .

Page 242: mao

Anexă 241 Notăm tm λ= şi atunci m este numărul de evenimente care s-ar produce în intervalul [ ]t,0 . Într-un proces Poisson este interesant de cunoscut intervalul de timp dintre două evenimente succesive. Vrem să ştim care este repartiţia de probabilitate pentru aceste intervale. Aceasta este repartiţia exponenţială.

Pentru m de mai sus pul dintre două evenimente să fi ba litatea ca să nu apară

ici un eveniment în intervalul [0,t] . Astfel, 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. Se poate spune că numărul de evenimente pe unitatea de timp este repartizat Poisson cu media λ pe unitatea de timp, sau că intervalul dintre două evenimente este

exponenţial cu media

metYP −=> )( reprezintă probabilitatea ca time mai mare ca t este e-m , adică pro bi

n

λµ 1

= unităţi de timp.

A.5. Teste de concordanţă

că dacă m

sau de te mai mică diferen uă medii, cu

ele să aparţin ază.

Se numeşte ipoteză statistică orice presupunere cu privire la caracteristicile nei variabile aleatoare, f ţă de parametrii ce o

determină (Mihăilă şi Pop Mijloacele de verificare a ipotezelor statistice se numesc teste statistice. Când

variabilă empirică cordanţă.

Afirmaţia H0 : „o variabilă empirică are o anumită repartiţie teoretică” este numită ipoteza H0 , iar ipoteza alternativă: H1 : „variabila empirică poate avea oricare altă repartiţie”. 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 cu şi astfel încât da valorile observate

∈ se acceptă ipoteza H0 , iar dacă se

În practică apare necesitatea comparării a două procese tehnologice diferite, a două metode de cercetare diferite etc. Este necesar să se cunoas etodele comparate dau rezultate identice, iar dacă nu, care este mai eficace.

ă o d În statistic iferenţă semnificativă este aceea care nu poate fi pusă pe seama întâmplării la un anumit nivel de probabilitate încredere. De exemplu, cu cât es ţa dintre do atât este mai mare probabilitatea ca

ă unei selecţii extrase din aceeaşi colectivitate de b u aţă de legea ei de repartitie sau fa

escu, 1978).

ipoteza se referă la natura repartiţiei, de exemplu afirmaţia că „oare o anumită repartiţie teoretică”, testul se numeşte test de con

nR1 , nR0 nnn RR 01 ∪=R φ=∩ nn RR 01 , căn

n RXXX 121 ),...,, nn RXXX 021 ),...,,( ∈(

Page 243: mao

Modele şi algoritmi de optimizare

242

respinge ipoteza H0 . se numeşte domeniul critic sau regiunea critică a stului.

Probabilităţile

nR0

te

estecândresping()( 0000 HHPHRP n ==α adevărată)

)falsestecândaccept()( 0011 ãHHPHRP n ==β

se numesc riscul de genul întâi şi respectiv riscul de genul al doilea. α se mai numeşte şi prag de semnificaţie şi de obicei se ia α=0.05 .

A.5.1. Etapele verificării ipotezelor statistice 1. Enunţarea ipotezei; . Se specifică α şi β . Pe baza acestora se va determina numărul de observaţii are trebuie făcute pentru a calcula statistica aleasă; . Se determină care valori ale unei anumite statistici, valori ce formează regiunea ritică, determină respingerea ipotezei şi care determină acceptarea ipotezei;

4. Se calculează valoarea statisticii de selecţie; 5. Se acceptă sau nu ipoteza, după cum valoarea obţinută pentru statistică este în afara sau în interiorul regiunii critice. Concordanţa dintre repartiţia empirică şi cea teoretică se stabileşte cu ajutorul unui test de concordanţă. Se pune problema racordării unei variabile empirice X la o variabilă teoretică X,

, , ⎟⎟⎠

⎞⎜⎜⎝

⎛=

)(xx

,

adică se cercetează dacă şirul numeric al frecvenţelor absolute empirice Ni reflectă legitatea ipotetică a variabilei aleatoare teoretice. Răspunsul respectiv este util în aprecierea caracteristicilor variabilei empirice prin prisma legităţii variabilei teoretice. Rezolvarea acestei probleme se face în următoarele etape : 1. Estimarea parametrilor ţinând seama de semnificaţia pe care ar putea să o aibă în legătură cu caracteristicile repartiţiei teoretice; 2. Se construieşte variabila pseudoteoretică:

,

făcându-se astfel legătura între variabila empirică X şi cea teoretică X. Determinarea frecvenţelor absolute

2c3c

e

⎟⎟⎠

⎞⎜⎜⎝

⎛=

n

ne NNN

xxxX

L

L

21

21 NNn

ii =∑

=1

⎟⎟⎠

⎞⎜⎜⎝

⎛′′′

=n

n

NNNxxx

XL

L

21

21~ NNn

ii =′∑

=1

e

( ) niNi ,1, =∀′ se face cu ajutorul funcţiei

de probabilitate ( ) nixNfNNN

xf iii

i ,1,)()( =∀=′⇒′

= .

Page 244: mao

Anexă 243 3. Verificarea concordanţei dintre reparti şi cea teoretică, adică se stabileşte dacă diferenţele d

ţia empirică intre ( ) niNN ii ,1, =∀′− , sunt datorate întâmplării,

dică nu sunt semnificative, sau diferenţele sunt semnificative şi atunci există o econcordanţă între repartiţia teoretică şi cea empirică.

ncordanţă

nonexhaustiv în populaţia chestionată, când probabilităţile p nu sunt aproape de 0

an

A.5.2. Testul de co 2χ

Acest test este datorat lui K. Pearson care a arătat că, în cazul unui sondaj i

sau 1, iar produsele ii NpN =′ , unde ( ) nixfp ii ,1,)( =∀= , calculate după

estimarea parametrilor, nu sunt prea mici ( 5>′iN ), atunci ( )∑

=

′−=

nii NN 2

2χ ′i i

c N1

are repartiţia 2νχ cu kn −−= 1ν , n fiind numărul de valori observate, iar k ,

ărul parametrilornum estimaţi (Văduva, 1977).

servaţie. Numărul gradelor de libertate este strâns legat de cantitatea de informaţie Obde care se dispune în cercetarea care se efectuează. Ea se reflectă în volumul n, de

date experimentale, n-1 informaţii sunt independente, deoarece NNi =∑n

i=1 , şi se

mai pierde informaţie pentru determinarea celor k parametri estimaţi. Pentru 30<ν şi α da i se determină 2 din tabela repartiţiei 2χ , ţ ,1 αχ kn −−

( ( ) αχχ α => −−2

,12

knP ) şi dacă 2,1

2αχχ knc −−< , atunci există concordanţă, iar dacă

2,1

2αχχ knc −−≥ nu există concordanţă între cele două repartiţii.

2 n

dat

A.5.3. Testul Kolmogorov

Acest test de concordanţă are la bază următoarea teoremă: Teorema lui Kolmogorov (Văduva, 1977). Fie X o variabilă aleatoare a cărei funcţie de repartiţie F(x) este continuă şi X1, X , ..., X o selecţie efectuată asupra sa. Fie Fn(x) funcţia de repartiţie empirică (sau de selecţie) asociată selecţiei

e, adică n

xXlui valorilor rulnumxFni ≤

= )( ã . Atunci

)()1()()(maxlim222euxFxFP kuk =−=⎟

⎞⎜⎛

<− ∑ uKn

nn ⎟⎠

⎜⎝

∞−

∞←.

Page 245: mao

Modele şi algoritmi de optimizare

244

Funcţia K(u) se numeşte funcţia lui Kolmogorov şi există tabele cu cuantilele ei.

Pa ipoteza H0: „Variabila aleatoare X are funcţia de repartiţie

α=Pa determină u , din tabelele funcţiei K(u) , astfel

Algoritm pentru aplicarea testului Kolmogorov (Văduva, 1977) s 1. Se formulează

F(x)”; Pas 2. Se fixează un prag de semnificaţie α (de exemplu, α=0.05 , α=0.01 ,

0.025); s 3. Se αα α −=1)(uK ;

Pas 4. Se ordonează crescător )()2()1( ... nXXX ≤≤ ;

( ) niXFXFd iini ,1,)()( )( =∀−= ; Pas 5. Se calculează

Pas 6. Se determină idd = max ; ni≤≥1

Pas 7. Dacă n

ud α< , se acceptă ipoteza H0 , altfel se respinge. Stop!

Page 246: mao

Anderson, D. R. , Sweeney, D. J., Williams, Th. A. An Introduction to Management Science. Quantitative Approaches to Decision Making, ediţia a

97. , Will West

Be ntrôle èmes linéaires. Ed. Dunod,

Bo iermacGraw−H

C NPC, Pale. Presses Universitaires de France, 1995.

, M., Maliţa, M. Programare pătratică. Editura Ştiinţifică, B

Fletc f Optid Optim

Fu l Me

rationnel

ment S

Io , B. Pro, Bucureşt

K cerce

ţii. Edi progr

Linear and Nonlinear ProM a organizării. Editura Tehnică, Bucureşti,

ci specia 1978.

Po aplicate

plicate înEditura Didactică şi Pedagogică, Bucureşt

Pr leme de Cercetări Operaţionale, Tipografia

BIBLIOGRAFIE

7−a. West Publishing Company, 19Anderson, D. R. , Sweeney, D. J. iams, Th. A., Joseph, D. A. The

Management Scientist, ediţia a 7−a. Publishing Company, 1998. rgounioux, M. Optimization et Co des syst2001. nini, C. P. , Hausman, W. H., B n, H. Jr. Quantitative Analysis for Management, ediţia a 9−a. Irwin M ill, 1997.

ohen, G. Convexite et optimisation, E ris, 2000 Cohen, V. La Recherche OpérationnelDragomirescu

ucureşti, 1968. her, R. Practical Methods o mization, vol. 1 – Unconstrained

Optimization şi vol. 2 – Constraine ization. John Wiley & Sons, 1981. ente, Angel de la. Mathematica thods and Models for Economists, Cambridge University Press, 2000.

Henry-Labordere, A. Recherche Ope le. Presses de l’École Nationale des Ponts et Chaussées, 1995.

Hsiao, J. C., Cleaver, D.S. Manage cience. Houghton Mifflin Company, 1982.

nescu, H., Dinescu, C., Săvulescu bleme ale cercetării operaţionale. Editura Didactică şi Pedagogică i, 1972.

aufmann, A. Metode şi modele ale tării operaţionale, vol. I, II. Editura Ştiinţifică, Bucureşti, 1967.

Lee, A. M. Teoria aşteptării cu aplica tura Tehnică, Bucureşti , 1976. Lange, O. Decizii optimale − Bazele amării. Editura Ştiinţifică, Bucureşti,

197Luenberger, D. G.

0. gramming. Addison−Wesley, 1989.

aliţa, M., Zidăroiu, C. Matematic1971.

Mihăilă, N., Popescu, O. Matemati le aplicate în economie, Editura Didactică şi Pedagogică, Bucureşti,pescu, O şi colectiv. Matematici în economie, Editura Didactică şi Pedagogică, Bucureşti, 1997.

Popescu, O şi colectiv. Matematici a economie Culegere de probleme, i, 1996.

eda, V şi Bad, M. Culegere de probUniversităţii din Bucureşti, 1978.

Page 247: mao

Modele şi algoritmi de optimizare

246

Turban, E., Meredith, J. R. Fundamentals

Ştefănescu, A.

Văduva, I. Modele de simulare cu calculatorVă M

ă şi Pedagogică, Bucureşti, 4.

V roblem tare operaţională. Editura

Zi scretă. Zi ă. Editura Te

of Management Science, Ediţia a 4−a. Irwin, 1998.

Curs de Cercetări Operaţionale, Tipografia Universităţii din Bucureşti, 1989.

ul. Editura Tehnică, Bucureşti, 1977. duva, I., Dinescu, C., Săvulescu, B.conducerii producţiei, vol. I, II. Editura Didactic

odele matematice ale organizării şi

197rănceanu, Gh. Gh., Mititelu, Şt. P e de cerce

Tehnică, Bucureşti , 1983. dăroiu, C. Programare dinamică di Ed

ucureşti , 1983. itura Tehnică, Bucureşti , 1975.

dăroiu, C. Programare liniar hnică, B

Page 248: mao

LFA

ma

senarbore

dearborescarc

ul ..................... 15, 141, 150

câcacâ

ciccic

cic

cli

balansare...................................52 co

co

co

eduse ..............................................67 cri

cucu

dia

domeniul de admisibilitate........................142 drum............................................................17

rian ..................................................20

ec

Kolmogorov Feller..............................161 ecuaţiilor de stare......................................180 ev

INDEX A BETIC

abaterea medie pătratică ........................... 235 algoritmul

de transport .......................................... 104 Dijkstra .................................................. 25 Kruskal .................................................. 21 lui Prim .................................................. 23 simplex .................................................. 61 simplex dual........................................... 88 simplex revizuit ..................................... 63 Wolfe................................................... 125

alternativă ................................................... 13 analiza

convergenţei globale .............................................. 16 locale................................................. 16 rginală ............................................. 215

prospectivă......retrospectivă.....

..................................... 142 .................................... 142

sibilităţii............................................ 68 .......................................................... 20

acoperire de lungime minimă............ 20 enţă ............................................... 18

al grafului............................................... 17 incident .................................................. 18

bază dual admisibilă....................................... 83 primal admisibilă ................................... 83

Bellman, principiBland, regula lui ......................................... 72

mp complet aditiv................................... 231 pacitatea sistemului de aşteptare ........... 159 ştigul parţial................................................... 143 total ...................................................... 143

celulă ........................................................ 102 cerere ........................................................ 192

lare ......................................................... 71 lu .......................................................... 102 de reaprovizionare ............................... 194 eulerian .................................................. 20 hamiltonian ............................................ 20 lu într-un graf ......................................... 20

circuit.......................................................... 18 eulerian .................................................. 20 hamiltonian ............................................ 20

enţi ........................................................ 159

coeficienţi de cost redus...................................59, 106

coeficienţii funcţiei obiectiv .................62, 93 condiţia de

ndiţiile de nenegativitate ....................................50 Kuhn-Tucker ..................................49, 125

nul direcţiilor admisibile ..............................48 tangent....................................................48

stul de codepozitare.............................................193 lansare ..........................................193, 197 stocare ..................................................197

stul lipsei de stoc ...........................193, 203 costul total.................................................198 costul unitar

al subestimării.......................................220 al supraestimării ...................................220 de fabricaţie..........................................208 de transport ............................................53

costuri rteriu de ieşire din bază ..........................61, 90, 107 intrare în bază...........................61, 90, 106

antila inferioară .....................................218 plu de probleme duale .............................82 asimetrice ...............................................83 simetrice.................................................83

rare...................................................72 degenedensitate de repartiţie ................................234

grama activităţilor ..................................30 dirdisciplina de serviciu ................................160

ecţie admisibilă.......................................48

dispersia variabilei aleatoare.....................235

critic .......................................................30 eulehamiltonian ............................................20

uaţiile de recurenţă..........................................146

enimentul il ..............................................231 imposib

sigur .....................................................231

Page 249: mao

Modele şi algoritmi de optimizare

248

facFI

sistemul de aşteptare ... 159 for

de repartiţie .......................................... 233 decompozabilă

prospectiv........................................ 143 retrospectiv ..................................... 143

gama .................................................... 236 obiectiv .................................................. 14 pozitiv semidefinită ............................... 43 strict concavă ......................................... 44 strict convexă ......................................... 43

grad exterior................................................... 18 interior ................................................... 18

graf complet .................................................. 19 neorientat ............................................... 19 orientat ................................................... 17 parţial..................................................... 18 ponderat ................................................. 19 simetric .................................................. 19 simplu conex.......................................... 20 tare conex............................................... 18

indice de lipsă de stoc............................... 205 înfăşurătoarea convexă ............................... 42 intensitate de trafic ................................... 164 intensitatea de trafic.................................. 175 intensitatea optimă de încărcare a stocului223 intensitatea procesului .............................. 238 intensităţi de deces.................................... 161 intensităţi de natalitate.............................. 161 intervalul de control.................................. 195 inventar ..................................................... 193 ipoteză

alternativă ............................................ 239 statistică ............................................... 239

lagrangean .................................................. 46 lanţ .............................................................. 19

eulerian .................................................. 20 hamiltonian ............................................ 20

lege de evoluţie......................................... 142 lema

Farkas-Minkowski ................................. 48 substituţiei.............................................. 87

lot de reaprovizionare ............................... 194

cozii...........................................159 lunlungimă

.....................................................32 mamaxim

....................................................45 me

serviciului.............................................159 media variabilei aleatoare .........................234 metoda

celor două faze .......................................76 colţului nord-vest .................................107 costului minim .....................................108 PERT......................................................29

model ....................................................11, 12 de aşteptare ....................................15, 159 de stocare ...............................................15

modelare......................................................11 modele de

simulare................................................183 modele de stocare

cu cerere continuă...........................................195 discretă ............................................195

cu mai multe staţii ................................195 cu staţie ................................................195 deterministe..........................................195 dinamice...............................................195 statice ...................................................195 stochastice............................................195

momentul lansării comenzii ......................195 muchiile grafului.........................................19 mulţime convexă.........................................42 multiplicatorii

lui Lagrange ...........................................48 simplex.................................................104

nivel de reaprovizionare............................195 nivelul mediu al stocului...........................199 nod

ascendent................................................18 descendent..............................................18 precedent................................................18 succesor..................................................18

nodurile grafului .........................................17 numărul de clienţi din sistem ....................159 numărul de staţii de serviciu .....................160 numărul mediu al clienţilor de la coadă ....165 numărul mediu de clienţi de la coadă........181 numărul mediu de clienţi din sistem 162, 165,

.....................................................169, 181

tor de serviciu ...................................... 164 FO ......................................................... 159

fluxul intrărilor înmă pătratică negativ definită .................................... 122 negativ semidefinită............................. 122 pozitiv definită ..................................... 122 pozitiv semidefinită ............................. 122

funcţia lui Kolmogorov ............................ 242 funcţie

beta ...................................................... 237 convexă.................................................. 43

lungimea gimea maximă a cozii ..........................160

mea medie a cozii .............163, 170, 175 rimea optimă a comenzii de reaprovizionare ....................................199

marja ......trice triunghiulară ..................................102

global .....................................................45 local....canismul reaprovizionării ....................................194

Page 250: mao

Index alfabetic 249 numărul mediu de clienţi serviţi la un

moment dat .......................................... 169 numărul mediu de servicii ........................ 176 numărul mediu de staţii de servire care

lenevesc ............................................... 177 numărul mediu de staţii în lucru ............... 181 numărul mediu de staţii neocupate ........... 163 obiectiv ....................................................... 13 optimizare............................................. 13, 14 pivot............................................................ 62 poligonul soluţiilor.................................... 74 politică ...................................................... 141

de reaprovizionare ............................... 195 optimă .................................................. 144

pondere ....................................................... 20 ponderea arcelor ......................................... 19 prag de semnificaţie.................................. 240 preţ dual...................................................... 68 preţ umbră ................................................... 91 probabilitate.............................................. 231 problemă

de decizii.............................................. 142 cu orizont finit................................. 141 cu orizont infinit ............................. 141

de programare convexă ............................................. 44 liniară ................................................ 15 pătratică .................................... 15, 124

forma canonică ........................... 124 forma standard ........................... 126

duală ...................................................... 81 nedegenerată .......................................... 72 primală ................................................... 81

probleme de stoc aprovizionare ....................................... 192 producţie............................................... 193

proces aleatoriu ............................................... 237 cu creşteri independente ...................... 238 Markov ................................................ 238 Poisson................................................. 238 stochastic ...................... v. proces aleatoriu

proces de naştere şi deces ......................... 160 program

de bază ................................................... 57 de transport ............................................ 52 degenerat................................................ 71 optim...................................................... 57

program liniar ............................................. 51 forma canonică ....................................... 55 forma standard ....................................... 55

programare........................... 14, v. optimizare cu restricţii ............................................. 14 dinamică ................................................ 15 fară restricţii........................................... 14

punct admisibil............................................15 punct de extrem...........................................43 punct regulat ...............................................47 rata

cererii ...................................................193 ieşirilor .................................................193 intrărilor ...............................................193

regiunea admisibilă .....................................15 regiunea critică a testului ..........................240 regula dreptunghiului ..................................62 repartiţia

Beta ................................................34, 237 Erlang...........................................218, 236 exponenţială .................................164, 236 normală ................................................237 Poisson .................................................236 uniformă...............................................235

repartiţii Markov.......................................236 restricţie

activă......................................................46 inactivă...................................................46

restricţii .......................................................13 riscul de genul

al doilea................................................240 întâi ......................................................240

rotunjirea rezultatelor................................202 simulare probabilistă.................................184 soluţie

admisibilă.........................................15, 56 de bază ...................................................56 degenerată ..............................................56 globală....................................................45 locală......................................................45 nedegenerată ..........................................56 optimă ..............................................15, 57

starea finală ....................................................142 iniţială ..................................................142

staţie de servire ..........................................159 stoc....................................................192, 193 stoc intangibil....................................197, 215 subgraf ........................................................18 tabel simplex...............................................62 teoria

aşteptării ..............................................159 grafurilor................................................15

test de concordanţă ...................................239 testul

χP

2P ........................................................241

lui Kolmogorov....................................242 timpul de

aşteptare ...............................................159

Page 251: mao

Modele şi algoritmi de optimizare

250

avans .................................................... 195 neocupare a staţiilor............................. 159

timpul mediu de aşteptare în sistem 163, 165, 170, 177, 182 aşteptare la coadă 163, 165, 170, 177, 182 lenevire ................................................ 163 servire .................................................. 163

topologia sistemului de servire................... 159 traiectoria optimă...................................... 144 vârf

adiacent.................................................. 18 al grafului............................................... 19

variabilă aleatoare ...............................................232

normală standard .............................237 artificială ................................................76 ecart........................................................56

variabile de decizie ...............................................12 externe....................................................12 intermediare ...........................................13

vector de decizie ..................................................141 stare......................................................141

Page 252: mao