252
                      

Modele si algoritmi de optimizare

  • Upload
    bicyy

  • View
    329

  • Download
    30

Embed Size (px)

DESCRIPTION

Romica trandafir About graphs and linear programming and different problems like transportation problem and more

Citation preview

  • Editura AGIR

    Romic TRANDAFIR

    MODELE SI ALGORITMI

    DE OPTIMIZARE

    MatematicaMatematica

    ((

    ,

  • Seria Matematic MODELE I ALGORITMI DE OPTIMIZARE

  • OPTIMIZATION MODELS AND ALGORITHMS

    This book presents a set of optimization methods, models and algorithms. After the Introduction, where the reader is familiarized with the object of optimization and some applications of it, the book includes Graphs in Optimization, Convex Programming, Linear Programming, the Transportation Problem, Quadratic Programming, Dynamic Programming, Basics of Queuing Theory, Basics of Inventory Theory, and an Appendix.

    These chapters provide a minimum of knowledge for practical activities in engineering and economics.

    Many of the results are being formally established, but some theorems are listed without a proof, while providing a reference where the proof can be found. The methods and corresponding algorithms are illustrated by examples. Also, the solutions obtained by using the following software are included: Management Scientist, Excel, and MathCAD. Almost all chapters end with suggested problems.

    This book is aimed at engineers, economists, mathematicians and students of technical and economic faculties, being a useful tool for solving practical problems.

    MODLES ET ALGORITHMES DOPTIMISATION

    Cet ouvrage prsente un ensemble de modles, de mthodes et dalgorithmes

    doptimisation. Le premier chapitre, Introduction, o lobjet de loptimisation et les principaux domaines dapplication sont fournis, est suivi de Graphes en optimisation, Programmation convexe, Programmation linaire, le Problme de transport, Programmation dynamique, Programmation quadratique, lments de la thorie files dattente, lments de la thorie de stockes et une Annexe.

    Ces chapitres reprsentent un minimum de connaissances ncessaires dans les activits pratiques de management des ingnieurs et conomistes.

    La plupart des rsultats sont dmontrs, mais il y a des rsultats (thormes, propositions) qui sont accepts sans dmonstration, pour lesquelles on indique louvrage o ils sont dmontrs. Les mthodes et les algorithmes correspondants sont illustrs par exemples compltement rsolus. On a donn galement les solutions obtenues en utilisant les logiciels Management Scientist, Excel et MathCAD. Presque tous les chapitres finissent par des problmes proposs rsoudre. Louvrage sadresse aux ingnieurs, conomistes, mathmaticiens et tudiants des facults techniques et conomiques, tant un outil pour rsoudre les problmes pratiques.

    8

  • Romic Trandafir

    MODELE I ALGORITMI DE OPTIMIZARE

    Seria Matematic

    Editura AGIR

    Bucureti, 2004

  • ASOCIAIA GENERAL A INGINERILOR DIN ROMNIA

    Copyright EDITURA AGIR, 2004 Editur acreditat de CNCSIS Toate drepturile pentru aceast ediie sunt rezervate. All rights reserved. Adresa: Calea Victoriei nr. 118, sector 1, Bucureti, cod 010071; telefon: 40 21 212 81 04; 40 21 212 81 06 (redacie); 40 21 211 83 50 (difuzare); fax: 40 21 312 55 31; e-mail: [email protected]; Internet: http://www.agir.ro Refereni tiinifici: prof. univ. dr. Ion Vduva; prof. univ. dr. tefan Mititelu

    Redactor: ing. Adina Negoi Coperta: Rzvan Drghici

    Bun de tipar: 25.08.2004; Coli de tipar: 15,5 ISBN 973-8466-76-8

    Imprimat n Romnia

  • PREFA Lucrarea de fa este o reuit 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-struciei 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 construcii. Astfel, un prim capitol este dedicat formulrii i tratrii 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 ptratic i programarea dinamic. n aceste capitole se fac remarcate construcia i analiza aprofundat a numeroi algoritmi generali, dar i a unor particulariti ale acestora de un real interes practic.

    Un capitol special este dedicat analizei unor modele de teoria matematic a ateptrii, modele care au ca scop reglarea ateptrilor i fluxurilor n sistemele de servire n condiii de incertitudine. Sunt tratate modele de ateptare pentru sis-teme cu o staie de servire, cu coada finit sau infinit, sau sisteme de ateptare cu mai multe staii paralele. n toate aceste modele se presupune c venirile i durate-le serviciilor sunt aleatoare, de repartiii cunoscute.

    n sfrit, ultimul capitol al crii 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 descrii sunt ilustrate prin exemple preluate cu precdere din practica activitilor de construcii, exemple ce sunt pre-lucrate cu ajutorul unor pachete de programe, fapt care mrete mult utilitatea i atractivitatea lucrrii.

    ntruct n tratarea unor modele intervin noiuni i metode ale teoriei pro-babilitilor i statisticii matematice, anexa crii prezint tocmai noiunile de baz necesare nelegerii acelor modele.

    n concluzie, avem de-a face cu o carte bine construit, interesant prin acurateea, claritatea i rigurozitatea problemelor tratate i care ofer posibiliti de aplicare la rezolvarea multor probleme practice, ea prezentnd deci un interes deosebit pentru o clas larg de cititori. Bucureti, 20 iulie 2004

    Prof. univ. dr. Ion Vduva

  • Modele i algoritmi de optimizare 6

  • CUPRINS

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

    1.1. Obiectul optimizrii ..................................................................................................11 1.1.1. Construcia 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. Definiii i algoritmi..................................................................................................17 2.1.1. Grafuri orientate..............................................................................................17 2.1.2. Grafuri neorientate..........................................................................................19

    2.2. Cutarea 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. Mulimi i funcii convexe........................................................................................43 3.2. Extreme condiionate ................................................................................................45

    3.2.1. Cazul restriciilor egaliti...............................................................................48 3.2.2. Cazul restriciilor inegaliti ...........................................................................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. Enunul algoritmului simplex ...................................................................................62 4.6. Tabelul simplex i transformarea sa .........................................................................63 4.7. Exemplu....................................................................................................................65 4.8. Convergena 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 dualitii..........................................................................84

  • 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 soluii dual admisibile ..............................................................94 4.17. Probleme propuse ...................................................................................................95

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

    5.1. Fundamentele algoritmului de transport .................................................................102 5.2. Enunul algoritmului de transport ...........................................................................107 5.3. Determinarea soluiei iniiale de baz .....................................................................108 5.4. Exemplu..................................................................................................................109 5.5. Problema atribuirii sarcinilor ..................................................................................119 5.6. Probleme propuse ...................................................................................................119

    6. Programare ptratic ..................................................................................................122

    6.1. Exemple de probleme care conduc la programare ptratic ......................................122 6.1.1. Utilizarea optim a resurselor .......................................................................122 6.1.2. Problema investiiei ......................................................................................123 6.1.3. Regresii liniare..............................................................................................123

    6.2. Definiii. Proprieti ................................................................................................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. Generaliti .............................................................................................................143 7.2. Analiza retrospectiv ..............................................................................................146

    7.2.1. Rezolvarea n cazul aditiv.............................................................................147 7.2.2. Problema repartiiei investiiilor ...................................................................148 7.2.3. Problema gestiunii stocului...........................................................................152 7.2.4. Problema alocrii optime a resurselor...........................................................155

    7.3. Probleme propuse ...................................................................................................157 8. Elemente de teoria ateptrii.......................................................................................161

    8.1. Introducere n teoria ateptrii ................................................................................161 8.2. Caracterizarea procesului N(t) ca proces de natere 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

  • Cuprins

    9

    9.3.1. Modelul de stocare considernd influena preului de cumprare ................209 9.3.2. Modelul de stocare considernd influena costului de producie ..................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 ateptare ......................2249.6.4. Modelul P0()/Exp()/1:(, FIFO)...............................................................224 9.6.5. Modelul cu mai multe staii paralele i cu timp de avans L aleatoriu ...........226

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

    A.1. Cmp de evenimente. Axioma lui Kolmogorov ....................................................233 A.1.1. Evenimente. Probabiliti.............................................................................233 A.1.2. Probabilitate .................................................................................................233 A.1.3. Cmp de probabilitate complet aditiv ..........................................................233 A.1.4. Probabilitate condiionat ............................................................................234 A.1.5. Evenimente independente ............................................................................234

    A.2. Variabile aleatoare .................................................................................................234 A.2.1. Funcia de repartiie .....................................................................................235 A.2.2. Densitate de repartiie ..................................................................................236 A.2.3. Variabile aleatoare independente .................................................................236 n sensul SteinhausKa .........................................................................................236 A.2.4. Valoare medie. Dispersie. Momente............................................................236

    A.3. Cteva repartiii clasice..........................................................................................237 A.3.1. Repartiia uniform ......................................................................................237 A.3.2. Repartiii Markov.........................................................................................237 A.3.3. Repartiia normal unidimensional a lui Gauss..........................................238 A.3.4. Repartiia Beta .............................................................................................239

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

    A.5.1. Etapele verificrii ipotezelor statistice .........................................................242 A.5.2. Testul de concordan 2 ..........................................................................243 A.5.3. Testul Kolmogorov ......................................................................................243

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

  • Modele i algoritmi de optimizare 10

  • 1. INTRODUCERE

    1.1. Obiectul optimizrii Un manager vrea s aleag acel curs al activitii sale care va fi cel mai performant n atingerea scopului firmei sale. n judecarea eficienei diferitelor decizii posibile, trebuie s se foloseasc anumite criterii pentru msurarea performanei activitii n discuie. Este indicat s se urmreasc etapele (Bonini et al, 1997): 1. Stabilirea criteriului de eficien 2. Selectarea unei mulimi 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 realitii ntr-un model. S considerm de exemplu problema construirii unei cldiri. Este necesar o durat ndelungat pentru culegerea de informaii privind locul unde se amplaseaz, caracteristicile fizice ale cldirii, studiul detaliat al condiiilor climatice i de sol, influena asupra costurilor, sursele de finanare i costurile. Decidentul poate hotr s considere n mod deosebit i n detaliu toate celelalte poteniale folosite n aceast perioad i n perioadele viitoare. Dac decidentul adopt strategia colectrii tuturor informaiilor nainte de a aciona, atunci nici o aciune 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 relevani pentru problem. Abstracia i simplificarea sunt pai necesari n rezolvarea oricrei probleme umane.

    1.1.1. Construcia modelului Dup ce decidentul a identificat factorii critici ai problemei concrete pe care o are de rezolvat, acetia trebuie combinai n mod logic formnd astfel modelul. Un model este reprezentarea simplificat a problemei reale. Prin modelare, fenomenului natural complex i se reproduce comportarea esenial cu mai puine variabile i care sunt legate ntre ele mai simplu. Avantajele unui model simplu sunt: 1) economia de timp de concepere 2) poate fi neleas realitatea de ctre decident 3) dac este necesar, modelul poate fi modificat repede i eficient.

  • Modele i algoritmi de optimizare

    12

    Un model ct mai apropiat de realitate cere un timp excesiv n construcie. Decidentul dorete ca modelul simplificat s prezic rezultate rezonabile i s fie consistent cu aciunea efectiv. Dup ce modelul a fost construit se pot obine concluziile prin intermediul aciunilor logice. Decidentul i bazeaz aciunile sau deciziile pe aceste concluzii. Dac deducerea concluziilor din modelul abstract este corect i dac variabilele importante au fost abstractizate atunci soluia modelului ar servi ca o soluie 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 relaiilor dintre variabile. Tehnica abordat pentru descrierea i stabilirea legturilor 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 cnd analiza cantitativ se poate aplica ea faciliteaz procesul de luare a deciziilor. n luarea unei decizii, se stabilete criteriul de decizie, se selecteaz alternativele, se construiete un model, se evalueaz alternativele folosind modelul apoi se selecteaz cea mai bun alternativ. Un model este o abstracie i o simplificare a unei probleme reale, ncorpornd ideal elementele eseniale i relaiile din problema real. Rezolvarea unui model nseamn obinerea concluziilor logice care rezult, concluzii ce constituie un ghid efectiv n luarea deciziei dac modelul este proiectat i rezolvat corect. Luarea deciziei implic informaia cantitativ obinut 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, restricii, msuri ale performanei i variabile intermediare. Variabilele de decizie sunt acele variabile pe care le controleaz decidentul, ele reprezentnd alegerile alternative pentru decident. De exemplu: trebuie s se introduc un nou produs n fabricaie. Decidentul poate alege: s se introduc sau nu, preul, 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: preul materiilor prime pentru realizarea noului produs.

  • 1.Introducere

    13

    Restriciile pot fi legate de capacitile de producie, resurse, limitri legislative, politica firmei etc. Msuri ale performanei. n luarea unei decizii decidentul are un scop, un obiectiv pe care ncearc s-l ating. Criteriile sau msurile performanei sunt expresii cantitative ale acestor obiective. Variabilele intermediare sunt necesare pentru includerea tuturor factorilor importani n problema de decizie. Adesea ele leag factorii de cost i de ctig. Se folosesc s lege variabilele de decizie i exogene de msurile de performan.

    *

    * * A face cel mai bine posibil este sensul oricrei atitudini naturale n viaa de zi cu zi. Dar aceasta nu are dect un sens relativ n raport cu nite restricii impuse din exterior sau acceptate de bunvoie (Cohen, 2000). Pentru un inginer a face cel mai bine posibil ar trebui s fie un obiectiv permanent atunci cnd are de conceput o cldire, de dimensionat o instalaie etc. Expresia este relativizat n funcie de buget, de securitate, sau altele, restricii al cror nivel a fcut la rndul su obiectul deciziilor prealabile i adesea exterioare. Cuvintele a optimiza, optimizare etc. sunt presupuse s reflecte aceast idee de cel mai bine posibil . n viaa curent alegerile posibile se limiteaz adesea la dou (atunci le numim alternative) sau cteva uniti, de tipul c algoritmul care ia decizia se reduce la a nfia, explicit sau nu, toate posibilitile, s considere i s evalueze consecinele lor probabile i s rein pe cea care pare cea mai bun (dar cea mai bun are sens doar n msura 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 posibilitilor este de neconceput. Atunci trebuie gsit un algoritm mai performant, adic o metod pentru a gsi drumul spre soluia cea mai bun dintre toate soluiile posibile. Optimizarea poate fi definit ca tiina determinrii celei mai bune soluii la anumite probleme definite matematic, care sunt adesea modele ale realitii fizice. Ea implic studiul criteriilor de optimalitate pentru probleme, determinarea soluiei 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 informaiile numerice: tiin, inginerie, matematic, economie, comer etc. O selecie a domeniilor n care apar probleme de optimizare ar cuprinde: proiectarea reactoarelor chimice, a aparatelor aerospaiale, a cldirilor, a podurilor, n comer n probleme de alocarea resurselor, planificarea produciei, a stocurilor, n diferite ramuri ale analizei numerice, n ajustarea datelor, principii variaionale

  • Modele i algoritmi de optimizare

    14

    n sisteme de ecuaii difereniale i cu derivate pariale, funcii de penalitate etc. (Cohen, 1995). Se optimizeaz o funcie obiectiv care cuantific produsul unui proces economic sau profitul rezultat n urma aplicrii sistemului. Conceptul de optimizare este bine ncetenit ca principiul de baz n analiza problemelor complexe de decizie sau alocare. Folosirea optimizrii se bazeaz pe concentrarea ateniei asupra unui singur obiectiv conceput s cuantifice performana i calitatea deciziei ntr-o problem ce ar necesita determinarea valorilor unui numr mare de variabile interconectate. Acest obiectiv este maximizat sau minimizat supus unor restricii 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 soluia corect din punct de vedere filozofic. Formularea problemei implic ntotdeauna gsirea unui echilibru ntre construirea unui model suficient de complex pentru a descrie ct mai bine problema i uurina 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. Cnd variabilele sunt supuse unor restricii (relaii) avem de-a face cu programare cu restricii, care face obiectul acestei lucrri. n lipsa restriciilor spunem c avem programare far restricii (Luenberger, 1989). Problemele fr restricii par lipsite de proprieti structurale astfel nct aplicabilitatea lor n probleme practice este redus. Problemele cu restricii permit modelarea fenomenelor complexe prin descompunerea n subprobleme i fiecare subproblem avnd mai multe restricii. Forma general a unei probleme de programare cu restricii este

    Iig i 0)(xmin = Eig i 0)(x

    f n)( xx R(1.1)

    e x1, x2, , xn,

    sub forma

    unde: f este funcia obiectiv, gi sunt funciile care dau restriciile asupra variabil lor E este mulimea indicilor pentru restriciile cu egalitate, iar I este mulimea indicilor pentru restriciile cu inegalitate. Restriciile de forma ii bg )(x pot fi puse 0)( ii bg x .

  • 1.Introducere

    15

    Definiia 1.1. Un punct nRx care verific restriciile (1.1) se numete punct admisibil (realizabil) sau soluie admisibil i mulimea tuturor acestor puncte R,

    rmeaz regiunea admisibil (realizabil).

    Definiia 1.2. O soluie admisibil

    fo

    R*x este o soluie optim pentru problema (1.1) dac ( ) R xxx ,)()( * ff . Prin schimbarea { })(min)(max xx ff = , problema de maximizare devine o problem de minimizare, aa c n continuare se vor considera numai probleme de minimizare. Dac toate funciile gi(x) care dau restriciile sunt liniare i funcia obiectiv este liniar, problema (1.1) se numeste problem de programare liniar, iar dac funcia obiectiv este ptratic atunci problema (1.1) se numete problem de programare ptratic. Programarea liniar permite rezolvarea unei game largi de probleme cu un efort redus. Popularitatea programrii liniare se datoreaz n principal etapei de formulare, i nu celei de rezolvare numeric, deoarece multe dintre restriciile i obiectivele care apar n practic sunt liniare prin definiie. Optimizarea sistemelor reale cu evoluie n etape constituie obiectul programrii 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 alctuit dect din subpolitici optime.

    Fenomenele de ateptare se optimizeaz cu modele de ateptare care dau informaii asupra organizrii sistemului n vederea reducerii timpilor de ateptare n sistem, a reducerii cheltuielilor de funcionare a sistemului de ateptare etc.

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

    Asigurarea unui regim optim de funcionare a unui proces de producie sau aprovizionarea optim cu anume sortimente a cererilor pieei se realizeaz cu ajutorul modelelor de stocare.

    Ca o aplicaie 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 lucrri, fiind

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

  • Modele i algoritmi de optimizare 16

    1.2.1. Dimensiunea problemelor O msur a complexitii problemei de programare este dimensiunea acesteia exprimat prin numrul de necunoscute i de restricii (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 restricii), de dimensiune medie (ntre 5 i 100 de variabile sau restricii) i de dimensiuni mari (cu peste 100 de variabile i restricii). Aceast clasificare reflect nu numai diferene de dimensiuni, dar i de abordare. Astfel roblemele de dimensiuni mici pot fi rezolvate de mn sau cu un calculator de

    se leaz pe calculatoare de mare capacitate.

    Teoria iniial ltatelor teoretice, nornd aspectele de calcul ale metodelor propuse. Abordrile recente se axeaz pe

    xploatarea caracteristicilor calculatoarelor, obinnd soluia prin metode iterative.

    vectori x0, x1, , xk, , fiecare mbuntind aloarea funciei obiectiv, fa de precedentul. Acest ir converge ctre x* , soluia

    atunci cnd se iniializeaz cu un punct deprtat de soluia optim. Cea de-a treia component se numete analiza convergenei locale i studiaz rata de convergen a irului ctre soluia optim. Este esenial cnd se recomand un algoritm s se menioneze i o estimare a timpului necesar pentru obinerea soluiei. Lucrarea de fa argumenteaz convergena majoritii algoritmilor prezentai.

    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 optimizrii s-a concentrat asupra obinerii rezuige

    1.2.2. Algoritmi iterativi i convergen Cea mai important caracteristic a calculatoarelor este capacitatea lor de a efectua operaii repetitive ntr-un mod eficient i din aceast cauz majoritatea algoritmilor de rezolvare a problemelor de optimizare sunt iterativi (Luenberger, 1989). n cutarea unei soluii se alege un vector iniial x0 i algoritmul determin un vector x1 care conduce la o valoare mai bun a funciei obiectiv; procesul se repet obinndu-se un ir de vproblemei. n problemele de programare liniar soluia se obine dup un numr finit de pai. n probleme de programare neliniar irul nu atinge niciodat soluia, dar converge ctre ea. Practic, algoritmul se oprete cnd s-a obinut un punct suficient de aproape de soluie. Teoria algoritmilor iterativi poate fi mparit n trei pri. Prima parte se ocup cu crearea de algoritmi. A doua parte, numit i analiza convergenei globale, analizeaz convergena unui algoritm ctre soluia optim

  • 2. GRAFURI N OPTIMIZARE

    2.1. Definiii i algoritmi

    2.1.1. Grafuri orientate Definiia 2.1. Se numete graf orientat o pereche de mulimi G=(X,U), unde: X este o mulime finit i nevid, ale crei elemente se numesc noduri (vrfuri) , iar U este o mulime format din perechi ordonate (x,y), Xyx , , numit mulimea arcelor (muchii). Dac ) Uyx( , , x se numete extremitatea iniial (originea) a arcului, iar y, extremitatea final (extremitatea). Grafurile permit modelarea unui numr mare de situaii (Henry-Labordere, 1995). Exemple de grafuri:

    a) o reea rutier (cu drumuri avnd sens unic) vrfurile sunt interseciile, iar arcele sunt drumurile.

    b) ordinea lucrrilor ntr-un antier.

    c) relaiile stabilite ntre indivizi (situaie ntlnit 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

    Definiia 2.2. Se numete 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 iniial a arcului ui+1 , 1,1 = ki .

  • Modele i algoritmi de optimizare 18 Dac extremitatea final a arcului uk coincide cu extremitatea iniial a arcului

    ormat dintr-un singur arc se numete bucl. ac nodurile arcelor drumului sunt distincte dou cte dou, drumul se numete

    arcul

    u1 atunci drumul se numete circuit. Un circuit fDelementar. Exemplu. n Figura 2.1 (1, 2, 4, 3) este un drum, iar (1, 2, 3) nu este drum. Definiia 2.3. Un nod x dintr-un graf orientat G se numete precedentul altui nod y din G dac exist ( ) Uyx , . Un nod y dintr-un graf orientat G se numete succesorul altui nod x din G dac exist arcul ( ) Uyx , . Un nod x dintr-un graf orientat G se numete 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 numete descendentul altui nod x din G dac exist un drum de origine x i extremitate y. Vrful y este adiacent vrfului x dac (x, y)U sau (y, x)U . Fie G=(X,U) un graf orientat i AX. Arcul Uu este incident mulimii A spre exterior dac extremitatea sa final aparine lui extremitatea iniial nu parine lui A. Arcul este incident mulimii A spre interior dac este

    A, iar Uu a

    incident spre exterior mulimii AXA = . Definiia 2.4. Se numete gradul exterior al lui x i se noteaz d +(x) numrul de noduri succesoare lui x.

    e numete gradul lui x i se noteaz cu d(x) numrul d +(x)+ d (x),

    2

    Se numete gradul interior al lui x i se noteaz d (x) numrul de noduri precedente lui x. S(d(x)=d +(x)+ d (x)). Definiia .5. Fie G=(X,U) un graf orientat i fie ),(, UXGUU = se

    umete graf parial al lui G. nFie XA i UA={uU astfel nct cele dou extremiti ale lui u s fie n A} . G

    Definiia 2.7. Se numete arborescen un graf tare conex i fr cicluri, orientat, a crui orientare este astfel nct fiecare vrf al su cu excepia unuia singur, numit rdcin, este extremitatea terminal a unui arc i numai unul.

    A =(A, UA) se numete subgraf al lui G. Definiia 2.6. Graful se numete tare conex dac pentru orice perechi de vrfuri

    Xyx , exist un drum din x plecnd la y .

  • 2. Grafuri n optimizare 19

    u valuat graf (X, U) cruia i se asociaz o funcie numit ponderea arcelor.

    Exe le unete localitile x i y;

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

    e transport un graf orientat, G=(X,U), fr

    elei, i crui arc i este asociat un numr numit capacitatea

    arcului u .

    2.1.2. Grafuri neorientate

    numesc muchiile (arcele) grafului. Dac

    Definiia 2.8. Se numete 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

    Definiia 2.9. Se numete reea dbucle, cu proprietile urmtoare: exist un nod x0 unic, numit originea reelei, i care nu are ascendeni; exist un nod xf unic, numit destinaia re care nu are descendeni;

    fie Uu 0)( ul

    Definiia 2.10. Se numete graf neorientat i se noteaz G=(X,U) o pereche de mulimi, unde: X este o mulime finit i nevid, iar U este o mulime de perechi neordonate (x, y) cu x, yX . Elementele lui X se numesc vrfurile (nodurile) grafului, iar elementele lui U se( ) Uyx = , , x i y se numesc extremitile muchiei u.

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

    u Definiia 2.11. ( ) Uyx , atrage ( ) Uxy , , se

    umete graf simetric.

    2.12. Un graf neorientat, G=(X, U), se numete graf complet dac entru

    n Definiia

    ( ) Xyx , avem ( ) Uyx , . 2.13. ntr-un graf neorienta

    p Definiia t, G=(X,U), se numete lan o mulime de vrfuri { }kiXxxxL ik ,1,,...,1 == cu proprietatea c oricare dou vrfuri consecutive sunt adiacente, adic ( ) 1,1,, 1 =+ kiUxx ii . Vrfurile kxx ,1 se numesc extremitile lanului, iar numrul de muchii care intr n componena sa se numete lungimea lanului. Dac x1,..., xk sunt distincte dou cte dou, lanul se numete elementar, altfel se numete neelementar.

  • Modele i algoritmi de optimizare 20 Definiia 2.14. Un graf G=(X,U) se numete simplu conex sau conex dac pentru

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

    orice pereche de vrfuri Xyx , exist un lan de extremiti x i y .

    Definiia 2.15. Se numete cicl{ }kiXxxx ik ,1,,...,1 == cu proprietatea c x1=xk i muchiile (x1, x2), ... , (xk-

    efiniia 2.16. Se numete ponderea unui lan, drum, ciclu sau circuit valoarea

    L

    1, xk) sunt distincte dou cte dou.

    D

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

    De exemplu, n cadrul metodei PERT, ponderea unui drum este durata sa total. Definiia 2.17. Un lan, drum, ciclu sau circuit se numete hamiltonian dac el

    , drum, ciclu sau dat prin toate arcele

    raf

    Se disting la un arbore dou tipuri de vrfuri : vrfuri la care mai multe muchii nt i

    urm

    trece o dat i numai o dat prin toate vrfurile grafului. Un lancircuit se numete eulerian dac el trece o dat i numai o g ului. Definiia 2.18. Un arbore este un graf conex i fr cicluri. su ncidente i alte vrfuri la care o singur muchie este incident. Acestea din

    se numesc vrfuri pendante sau frunze.

    2.2. Cutarea unui arbore de acoperire de lungime minim Fie G=(X, U, l) un graf conex (ipotez necesar pentru a asigura existena cel puin a unui arbore) ponderat neorientat. S notm cu Xn = (numrul elementelor lui X). Se pune problema gsirii arborelui de acoperire de lungime minim, adic, folosind arce ale grafului s se lege ntre ele toate nodurile astfel nct lungimea total a arcelor folosite (suma ponderilor) s fie minim. O astfel de problem apare n proiectarea reelelor de comunicaii, unde obiectivul este s se minimizeze lungimea cablului necesar conectrii tuturor nodurilor care trebuie s comunice ntre ele, n proiectarea reelelor de drumuri, benzi rulante, sisteme de canalizare etc. n continuare sunt prezentai doi algoritmi care rezolv aceast problem.

  • 2. Grafuri n optimizare 21

    2.2.1. Algoritmul lui Kruskal Algoritmul lui Kruskal permite cutarea unui arbore de acoperire de lungime minim. Vom presupune c graful G are lungimile muchiilor diferite dou cte dou (dac uv , 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 rmase i se noteaz V2={v1, v2} ; k :=2 ; Pas 2. Repet k :=k+1 ; vk muchia de lungime cea mai mic dintre cele rmase

    astfel nct Vk1 vk s nu formeze ciclu pn cnd k=n1 ; Pas 3. Stop. {Vn1 este un graf de n1 muchii i nu are cicluri}. Demonstrm prin absurd c Vn1 este arborele minim cutat (Henry-Labordere, 1995). Fie VVn1 arborele minim i s presupunem c are cele n1 muchii ordonate astfel nct lungimile lor sunt n ordine cresctoare la fel ca i cele ale lui Vn1 i c uk este prima muchie a lui V care nu este n Vn1 .

    Vn1 v1 v2 vk1 vk vk+1 vp vnVn v1 v2 vk1 uk uk+1 up un

    l(v1)

  • 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 adugat la V s nu formeze cicluri. Se obine

    ={

    vl= 12

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

    Algoritmul se ncheie furniznd arborele de acoperire de lungime minim V4 igura 2.3) i lungimea minim a arborelui gsit 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 folosii 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 adugat la V2 s nu formeze cicluri. Se obine

    V3={[3,4]; [2,5]; [1,3]}. k=4. Dintre muchiile rmase cea care are pondere minim i care nu formeaz cicluri prin adugare la V3 este [1,2]. Se ob 4arborele 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

  • 2. Grafuri n optimizare 23

    ,altfel0arboren este l i

    i

    iniial

    ponentele

    ponentele

    = nodu dac1

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

    = iniialnodulpentru0arboren este],[muchia dac jij

    pi

    =

    iniialnodulpentru0],[muchieiponderea]),([ ii

    i

    pipilc ,

    ni ,1= . pentru Algoritmul Prim

    as z cu 0 cei trei vectori. Se d nodul de start s i P 1. Se iniializea ( ns 1 )1=s ; A={ s } arborele parial.

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

    arborele parial, Ai i cealalt AXj . Atunci 1=j , pj=i i cj=l([i,j]) .

    pn cnd ( ) nii ,11 = = . ,i] , iar

    te icLmin . Stop!

    Algoritmul furnizeaz arborele de acoperire de lungime minim prin nlocuirea muchiilor unui arbore oarecar inut cu vrfurile 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. Iteraia I: min{l([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

  • Modele i algoritmi de optimizare 24 Iteraia 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

    Iteraia 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

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

    min=55 . Problema gsirii 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

  • 2. Grafuri n optimizare 25 Dup apsarea 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 numrul de noduri, numrul de muchii i apoi muchiile i ponderile lor.

    Figura 2.5 Pentru rezolvare i afiarea 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 determinrii unui plan de transport printr-o reea rutier (de transport) astfel nct cheltuielile de transport sau duratele de transport s fie minime. Este necesar s se determine drumul cel mai scurt dintre dou noduri oarecare ale reelei rutiere. Acest tip de problem se mai ntlnete i n proiectarea reelelor 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 vrf s la toate vrfurile x ale unui graf conex G=(X,U,l), dac lungimile tuturor arcelor sunt nenegative.

  • Modele i algoritmi de optimizare 26 Fie (x) lungimea celui mai scurt drum de la s la x . Fie S mulimea vrfurilor pentru care se calculeaz . Atunci, (x) def= {lungimea celui mai scurt drum de la s la x , care are toate vrfurile n S cu excepia lui x }. Se noteaz cu

    =+ )(x {mulimea arcelor care pornesc din nodul x}, = )(x { mulimea arcelor care intr n nodul x}. Dac graful este neorient )()( xx = = mulimea arcelor incidente n

    iar cu at

    nodul x.

    dac

    =+ )(x

    Algoritmul Dijkstra Pas 1. {Iniializri} S :={s} ; s nodul de start, (s) :=0 ; Pentru orice SX )(sxx atunci (x) :=l(s,x) altfel (x) :=+ ; Pas 2. {Iteraia curent} Repet Determin SXy astfel nc y)

    zt ( S= min (z) ; yS Dac (y)

  • 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. Iteraia I . { } { } { } )2()7(),6(),5(),4(),3(),(min)( = y 2(min) == SXzy=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

    Iteraia 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])}=min{5,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 Iteraia 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])

    inin{12,5+3}=8

    5,5+2}=5(6)=min{(6

    (y) 0 1 5 3 5 8 Iteraia 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] min{8, +6 =8

    (y) 0 1 5 3 5 8 12

  • Modele i algoritmi de optimizare 28

    Iteraia 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])}=min{12,8+1}=9

    y 1 2 3 4 5 6 7 (y) 0 1 5 3 5 8 9

    Iteraia a VI-a { } { } { } )7()7(min)(min)( === zy SXz , y=7, S={1,2,3,4,5,6,7},

    Pentru nodurile din mulim

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

    uchiile (marcate cu litere ngroate) 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 oprete deoarece S=X. Vectorul (y) conine cele mai mici distane de la nodul 1 la celelalte noduri. Drumul cel mai scurt ntre nodurile 1 i 7 se obine din me n Management Scientist modulul Shortest Route determin cel mai scurt drum dintre dou noduri ale reelei 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

  • 2. Grafuri n optimizare 29

    Figura 2.9

    Rezultatele sunt afiate dup selectarea din meniul Solution a opiunii 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 ntrziere n realizarea proiectului onini et al, 1997).

    (Cgestionarea (planificarea i controlul) proiectelor mari cu multe activiti separate care necesit coordonare. n realizarea unui proiect unele activiti trebuie s aib o anume succesiune, altele se defoar n paralel. Tehnica PERT a fost conceput pentru a oferi factoruluid roiect. Ea permite stabilirea timpului necesar realizrii ntregului proiect, asigurnd controlul evoluiei procesului i atrage atenia asupra acelor ntrzieri n realizarea activitilor c(B

  • Modele i algoritmi de optimizare 30 Sunt necesare dou tipuri de informaii pentru fiecare activitate din proiect: a) succesiunea activitilor care preced o activitate, b) timpul necesar realizrii activitii, care poate fi determinist sau aleatoriu.

    Drumul critic este o mulime d din proiect care are cea mai mare durat de timp aso Pentru prezentarea metodei sidera un exe plu n care duratele activitilor sunt presupuse deterministe i cunoscute.

    Exemplu. n Tabelul 2.1 sunt trecute activitile unui proiect i duratele lor. Graful corespunztor este d , pentru o nelegere mai oar, se vor nota activitile geile indicnd ccesiunea activitilor.

    .1

    Activitate Activprecedent Timpul necesar

    realiz ti

    Diagrama activitilor este reprezentarea grafic a ntregului proiect (graf orientat valuat). Activitile sunt arcele, iar nodurile, momentele de nceput i sfrit ale activitilor.

    e activiti 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

  • 2. Grafuri n optimizare 31

    10 ume ACD.

    re proiectul poate fi

    ti

    ntrziere

    c.

    cu: S

    iu de ncepere a activitii i, F momentul cel mai trziu de terminare a activitii i.

    cel mai devreme

    act

    mo reme posibil cu timpul necesar realizrii acti mo rminare a activitii respective fr ntrzierea proiectului,

    tiviti este diferena dintre cel

    rea

    ate oarecare i, care pentru toate activitile care o preced imediat are determinate DS

    izrii ultimei activiti. . 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 ntrziere n realizarea activitilor de pe drumul critic va producen realizarea proiectului. Pentru reducerea duratei totale a proiectului trebuie reduse duratele activitilor incluse n drumul criti Aflarea drumului critic O cale de aflare a drumului critic este descris n continuare. Se noteazD i momentul cel mai devreme de ncepere a activitii i, DFi momentul cel mai devreme de terminare a activitii i, TSi momentul cel mai trzT i Momentul cel mai devreme de ncepere a unei activiti estemoment posibil la care acea activitate poate s nceap, presupunnd c toate

    ivitile care o preced au nceput la cel mai devreme moment posibil. Momentul cel mai devreme de terminare a unei activiti este suma

    mentului de nceput cel mai devvitii respective. Momentul cel mai trziu de terminare a unei activiti reprezint cel mai trziu

    ment posibil de tepresupunnd c toate activitile sunt desfurate conform planului iniial.

    Momentul cel mai trziu de ncepere a unei acmai trziu moment posibil de terminare a activitii respective i timpul necesar

    lizrii acestei activiti.

    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 realizrii primei activiti se obine DF pentru prima activitate. 2. Pentru o activit

    i DF , se ia DSi=max{DFk | activitatea k precede imediat activitatea i} i DFi=DSi+ti,

    deoarece activitatea i nu poate ncepe pn cnd toate activitile care o preced nu sau terminat.

    3. Pentru ultima activitate se ia TF=DF al acestei activiti. Atunci TS=TFtn , tn fiind timpul necesar real

    4 entru o activitate oarecare i, avnd pentru activitile care o succed imediat determinate TS i TF , se ia

    TFi=min{TSk | activitatea k succede imediat activitatea i} i TSi=TFiti,.

  • Modele i algoritmi de optimizare 32 Marja, M, a unei activiti reprezint numrul de zile cu care o activitate poate ntrzia fr 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 ntrziere n realizarea unei activit ul critic va cauza ntrziere 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 obinute n urma aplicrii 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 activitilor sunt deterministe i numrul acestor activiti, ca n Figura 2.12.

    Figura 2.12

    Se afieaz o fereastr n care se introduc duratele activitilor i activitile

    cnd este definit ca preceden.

    care le preced imediat, ca n Figura 2.13. Activitile se codific folosind literele alfabetului n ordine cresctoare. O activitate care precede o alta trebuie s fie deja definit atunci

  • 2. Grafuri n optimizare 33

    Figura 2.13

    Selectnd Solution, i de aici Solve, se obine soluia sub form de Figura 2.14.

    a dat

    Fi ra 4

    Sau obinut aceleai 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 activitilor. De exemplu, durata unei activit i poate fi redus dac se aloc resurse suplimentare. Aceast tare. Se introduce astfel i o func

  • Modele i algoritmi de optimizare 34 n continuare se consider cazul, mai apropiat de realitate, cnd duratele activitilor sunt aleatoare. Atunci, trebuie s se cunoasc despre aceste variabile aleatoare care sunt densitile lor de probabilitate. n practic se cunosc anumite date despre duratele activitilor, 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 repartiiei).

    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 activitilor cele mai optimiste, cele mai pesimiste, cele mai probabile (ca rezultat al xperienelor anterioare), estimrile duratelor medii, ale abaterilor medii ptratice e

    i ale dispersiilor. Se caut drumul critic cu duratele activitilor ti i se obine acelai drum ritic (duratele medii ti coincid cu duratele activitilor 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 activitilor sunt variabile aleatoare independente, atunci dispersia drumului critic ACD este suma dispersiilor activitilor componente, adic 01.145.045.011.02 =++=ACD , iar abaterea medie standard este 005.101.1 ==ACD . Dac drumul critic conine multe activiti (peste 30) durata total poate fi considerat repartizat normal. Se va considera i n acest caz repartiia 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 dect o valoare (de xemplu, 14 zile), folosind tabela repartiiei normale standard, astfel:

    dpe

    ( ) 977.0)2(005.1

    121414 ==

    =

    =< FFTFTP .

  • 2. Grafuri n optimizare 35

    2.5. Probleme propuse

    . O firm de construcii are antiere n 6 locuri diferite. Transportul zilnic de oameni, tilaje, materiale de la sediu la antiere i invers este destul de costisitor. Reeaua

    ar n Figura 2.15 prezint strzile i distana dintre antiere i sediul firmei. odurile reprezint antierele numerotate de la 1 la 6, iar muchiile, strzile. 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 dorete 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 legturile care conduc la cel mai mic cost (lungimea total a cablurilor s fie minim).

    R. acoperire

    1utat

    Nde pe muchii reprezint distana n kilometri. Dac se dorete minimizarea distanei 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 , obinut 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

  • 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 localitilor

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

    Costurile (lucrrilor propriu-zise, lucrrilor de art, de expropriere, sociale etc.)

    e stabileasc traseul autostrzii care unete localitile 1 i 14 i care s implice costuri minime (Kaufmann, 1967).

    R. Traseul de cost min ag al calitatea 14 trece prin localitile 1, 3, 5, 9, 12, 14 ost 19 u. m (u i 4. Fie un proiect ale crui 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 li 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

  • 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, presupunnd c DF i TF pentru ultima activitate coincid. c) S se precizeze activitile incluse n drumul critic. R. a) Diagrama grafului asociat este dat n Figura 2.19. b) n Tabelul 2.5 sunt trecute valorile corespunztoare. 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 activitile A, B, E, F. 5. n problema 4 se consider c timpul necesar realizrii activitii C este de 9 zile.

    A

    Figura 2.19

    C

    B4

    D

    E4

    F2

  • Modele i algoritmi de optimizare 38 a) S se precizeze dac se modific drumul critic n acest caz. b) Dar dac activitii C i sunt necesare 11 zile, se modific drumul critic? R. a) Nu, deoarece activitatea C are o marj de 3 zile, iar creterea duratei este doar de 2 zile. b) Da, i drumul critic este compus din activitile C, D, F i durata proiectului este de 16 zile. 6. Un depozit angro dorete s se modernizeze i s se extind. Activitile necesare sunt trecute n Tabelul 2.6 . S se stabileasc durata minim i care sunt activitile critice ale acestei iniiative.

    Tabelul 2.6

    Activitate Descriere activitate Activitate precedent Timpul necesar

    Realizrii (n sptmni), tiA Proiectul de arhitectur Nici una 5 B Identificarea chiriailor poteniali Nici una 6 C Dezvoltarea prospectului A 4 D Selectarea antreprenorului A 3 E Pregtirea autorizaiei de

    construcie A 1

    F Obinerea autorizaiei de construcie

    E 4

    G Construcia D,F 14 H Finalizarea contractelor cu

    chiriaii B,C 12

    I Instalarea chiriailor G,H 2 R. Activitile critice sunt A, E, F, G, I, iar durata minima a iniiativei este de 26 sptmni. 7. Se consider un proiect avnd datele despre activiti trecute n Tabelul 2.7

    Tabelul 2.7

    Activitate Activiti 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,

  • 2. Grafuri n optimizare 39

    mi cea mai probabil durat pentru activitatea i (modul repartiiei). a) S se calculeze timpul mediu ti i dispersia pentru timpul necesar realizrii fiecrei activiti.

    2i

    b) S se traseze diagrama grafului asociat. Care este lungimea medie a drumului critic? c) Presupunnd c duratele activitilor drumului critic sunt independente i c durata drumului critic este repartizat normal, s se calculeze probabilitatea ca durata drumului ACD s fie mai mic dect 16 zile. d) Care este probabilitatea ca proiectul s se termine n mai puin 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 ptratic este 2.77 .

    64.07721516)16( =

    =< FTP ACD .

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

  • Modele i algoritmi de optimizare 40

    P (T < 16) = 1516F = 0.50.

    94,BE 0

  • 2. Grafuri n optimizare 41 ) Probabilitatea ca durata proiectului s fie mai mic de 16 zile este d ( ) 32.050.064.016 ==
  • Modele i algoritmi de optimizare

    42

    b ) Valorile cerute sunt coninute 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 conine activitile A, D i are lungimea 15.

    i i durate .

    Tabelul 2.11 Durata

    realizrii (n sptmni)

    c 9. O firm productoare de aspiratoare i propune s introduc n fabricaie spiratoare portabile. Pentru aceasta iniiaz un proiect ale crui 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 pieei 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 preului i estimarea vnzrilor 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 Pregtirea brourii cu instruciuni de folosire

    A 2 3 4

    F Estimarea costurilor C 2.5

    H Inspectarea pieei B, E

    S se precizeze activitile 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. Activitile critice sunt mai probabil 17 i cea mai pesimist 19.72 .

  • i convexe

    i rezultate capitole.

    efiniia 3.1. O mulime se numete convex dac

    3. PROGRAMARE CONVEX

    3.1. Mulimi i funci n acest capitol sunt prezentate cteva noiuni (Fletcher, II, 1981) pe care se bazeaz metodele i algoritmii urmtoarelor 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,

    Definiia 3.3. Fie

    ii (3.2)

    Definiia 3.2. x din Definiia 3.1 se numete combinaia liniarx1 etc.

    Kn xxx ...,,, 10 . Mulimea punctelor x (3.umete nfurtoarea convex a mulimii

    date de 2) se { }n n10 Exemple de mu

    xxx ,...,, .

    limi convexe: mulimea 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 , =)(Br 2n xxa R

    un con ( )({ })(, ,* RR nmC M= A0xx , xn xA ema 3.1. Fie Ki , i=1,2,,m, m mulimi convexe. Atunci este tot o

    mulime convex.

    * vrful conului) etc.

    Im

    iiKK

    1==L

  • Modele i algoritmi de optimizare

    44

    Demonstraie. Fie ( ) K 10 , xx , atunci rezult c iK10 , xx pentru ( ) mi ,1= .2) este n fiecare mulime K. Atunci intersecia lor.

    onsecina 3.1. Mulimea punctelor admisibile ntr-o problem de programare

    efiniia 3.4. Fie numete punct de extrem entru K dac, avnd x=(1 ) x0+ x1 ,

    x dat de (3 i , deci i n

    C(1.1) cu restricii liniare este o mulime convex.

    nK , o mulime convex. x seD RK10 , xx i ( )1,0p , atunci rezult

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

    xemple: vrfurile unui poligon regulat, punctele circumferiei unui cerc sunt uncte de extrem pentru poligon, respectiv disc.

    o funcie continu. Func te convex dac

    pus, x nu cade n interiorul nici c

    Ep Definiia 3.5. Fie nK R , o mulime convex i RKf :

    ia f se nume ( ) K 10 , xx are loc relaia ( ) ( ) [ ]1,0,)()()1()1( 1010 ++ xxxx fff . K este deschis, atunci se poate da

    ie a funciei convexe.

    Definiia 3.5. Funcia f este convex pe K dac

    (3.3)

    Dac f este difereniabil pe K i urmtoarea defini

    ( ) K 10 , xx are loc relaia 01 xx ff )()'( 001 xxx f)()( + (3.4)

    at transpunere

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

    xerciiu. S se demonstreze echivalena Definiiilor 3.5 i 3.5.

    0x

    E Corolar 3.1.

    ( ) ( ))()()( 0101101 xxxxxxx ffff )( (3.5) l

    ricrei drepte.

    Cu alte cuvinte, panta unei funcii convexe este nedescresctoare de-a lunguo Definiia 3. 5 . Fie RKf : , o funcie dublu difereniabil pe K, m deschis

    ulime ia f este convex dac este pozitiv

    iti convex n R n. Func )( 0

    2 xfdsemidefin (Definiia 6.2) pentru ( ) K 0x . Definiia 3.6. Fie , o mulime convex i o funcie continu.

    ete strict convex dac

    nK R RKf :f se num( ) ( ) ( ) 101010 ,1,0,)()()1()1( xxxxxx +

  • 3. Programare convex 45

    concav dac f este convex i f se numete strict oncav dac f este strict convex.

    Definiia 3.7. Fie nK R , o mulime convex i RKf : o funcie continu. f se numetec Exemple de funcii convexe: funciile liniare (sunt i concave), funciile ptratice

    de forma 0''2)( cf ++= xcCxxx , unde C este o matrice pozitiv semidefinit

    (xCx0 , ).

    1

    i funciile convexe Lema 3.2. Fie nK R , o mulime convex

    miKfi ,1: = R . Dac , mii ,1, = , atunci 0=

    ate

    Problema ei funcii convexe f pe o mulime convex K se e e progr orma

    =i

    ii ff1

    este o funcie convex pe K.

    m

    3.2. Extreme condiion

    minimizrii un

    numet problema d amare convex i se poate scrie sub f

    { } == migin ,1,0)(xxx RRunde: f

    f (min x

    (3.6)

    i gi sunt funcii convexe pe Rn .

    Lema 3.3. Dac

    )

    ( )= g ,...,1g pe , atunci ng este convex nR{ }an )(xgR este convex.

    a =)( xR

    Demonstraie. Fie )(, 21 aRxx 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( . Mulimea R se mai numete i domeniul problemramare convex (3.6) saul) pentru problema de progr

    ei de prog mulimea soluiilor admisibile (regiunea realizabi amare convex (3.6). Consecina 3.2. Regiunea realizabil R dat de (3.6) este o mu

    lime convex.

    Definiia 3.8. Fie , o mulime nevid i o funcie . nK R RKf :

  • 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

    nct pentru K*x ( ) 0> r

    ( ) { } KrB nr

  • 3. Programare convex 47

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

    ( ) IEIIEL

    ===

    igj

    jgig

    iij

    jix

    ;0)(;,0

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

    ***

    x

    xxx

    *(

    (3.7)

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

    ) este funcia lagrangian, E este mulimea

    ti, Ii x este o solu (3.6). Fie

    indicilor restriciilor egali este mulimea indicilor restriciilor inegaliti din (3.7), atunc * ie global pentru problema

    emonstraie.D *x . Atunci, deoarece , xx R i 0 0xg )( , f i sunt convexe, din ipotez avem c *** =+ g 0)()(

    1=

    m

    gf xx , innd cont i de relaia (3.4), avem

    iii 0)(

    ** =xii gi,

    +++ )()()()()()( ***=

    *m

    1xxxxxxx ffgff

    iii

    ( ) = ++ )()( ***= * xxxx iim

    i gg 1i

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

    += *

    1

    *** xx fgi

    ii =+

    =.

    Aadar, )()( *xx ff i astfel x* este soluie global. Definiia 3.9. O restricie inegalitate 0)( xig se numete activ ntr-un punct admisibil x* dac i inactiv dac .

    Urmtoarea teorem afirm c optimalitatea unei soluii a problemei de c se nltur restriciile p

    le transform

    eorema 3.3. Dac x* este o soluie a problemei (3.6), atunci x* este i o soluie problemei restrnse

    ,,0)( *Eigi x (3.6)

    0)( =*xig 0)(

  • Modele i algoritmi de optimizare

    48

    Mai nti s artm c Rx , ad pentru problema (3.6

    ic este un punct admisibil

    ). Din convexitatea , funciilor ig mi ,1= , pentru orice ( )1,0 avem ( ) ( ) ( ) ( ) ( ) *+ gix E igg ii ,x i ( )

    01 *x( ) ( ) ( ) ( ) *

  • 3. Programare convex 49

    u

    Atunci exist

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

    numerele Rm , asfel nct 0)()(1

    *** =+ =

    m

    iii gf x .

    Numerele 1

    x

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

    nu ipl imesc mult

    3.2.2. Cazul restriciilor inegaliti Un rol esenial n rezolvarea problemei (3.6) cu I l au condiiile Kuhn-Tucker. Pentru demonstrarea condiiilor Kuhn-Tucker (cunoscute i sub denumirea de

    Lema 3.4. (Farkas-Minkowski) Fie

    condiii optimale de ordinul I) avem nevoie de lema Farkas-Minkowski a crei demonstraie o omitem (Henry-Labordere, 1995).

    mrangm,n = )(,)( AA RM i presupunem c

    i ( ) mx R 0Ax 0xc . Atunci exist multiplicatorii nii ,1,0 = astfel nct vectorul c se scrie sub forma , unde tAc = ( )= n,, ...,21 . Definiia 3.11. Fie un punct R*x de extrem local (global) pentru problema (3.6) i un ir ( ) R1)( kkx astfel nct ( ) xx kk )( , )()( kk sxx (k)= , iar

    0,1 )()( >= kk s . Vectorul se numete direcie admisibil (realizabil) n . Notm

    Ca={sRn s este direcie admisibil n x*}conul direciilor admisibile n i

    )(lim kk

    ss =*x

    *x , { }*E= igC nt ,0)( *i xss R conul tangent n la R. Ipoteza de calificare a restriciilor ntr-un punct de extrem este dat de relaia

    . (3.10) Se poate demonstra urmtoarea propoziie (Fletcher, 1981). Propoziia 3.1. Ipoteza de calificare a restriciilor (3.10) are loc dac : i) restriciile cu indicele sunt liniar independente, sau ii) vectorii sunt liniar independeni.

    *x

    ta CC =

    *Ei*E ig ,)( *i x

  • Modele i algoritmi de optimizare

    50

    Considerm c : E , I i E+I=mn ,

    x* punct adm f, gi sunt dife

    vectorii

    isibil d un minim local, reniabile i

    { } { }IE = jbggig jjji ,)()(,)( *** xxx sunt independeni. eorema 3.5. (Condiiile Kuhn-Tucker) n ipotezele de mai sus, condiia necesar

    s existe multiplicato

    Ti suficient pentru ca x* s fie o soluie a problemei (3.6) este

    rii mi ,1, = R , astfel nct i +) (i ( ) nif

    iii

    ,1***

    =

    IE

    ii) xxg

    xxg

    xx

    k

    k

    k

    k ,0)()()( =+

    +

    kk ( ) ( ) I= kbxg( kkk

    Demonstraie. Condiiile Kuhn-Tucker sunt necesare. Din ipoteza de calificare a *

    ,0)( *

    restriciilor n x rezult c E ig ,0)( *i xs i deoarece pentru ( ) aCs avem ( ) )(,))()()( *)()(*)()(*)( xxxsxx rkkkkk B(fff ++= O . Dar

    0))()()( )(*)()(*)( + kkkk (fff Oxsxx . mprim relaia de mai sus la 0)( >k i trecem la limit pentru k i obinem c 0)( *xs f . n Lema Farkas-Minkowski, nlocuind x cu s i A cu )( *xgE , rezult c ( ) 0 E , astfel nct )()( ** xgx EE = f , unde

    )( *xgE este matricea care are ca linii E ig ,)( *x . Considerm vectorul i[ ] nR0 ,E i )()( ** xgx , = f cu proprietatea c 0)( = *xg=egalitate evident, deoarece ( ) ** EIE == jig ji ,0,,0)( *x .

    Condiiile 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 restriciile sunt liniare, deci ii prezentai n aapitole se bazeaz pe particularitile fiecrui tip de problem.

    un suficiente. n Teorerezult c x este soluia problemei (3.6) . Se observ c p t fi i ien ru su c ena condii lor Kuhn-Tucker nu

    striciilor. ipoteza calific

    iile obiectiv sunt convexe. Algoritm

    ncii ceste

    c

  • 4.1.1. Utilizarea optim a resurselor

    poziie (materie prim, for de munc, maini-unelte, resurse financiare etc.) sunt n cantiti limitate. Fie i numrul de ordine al resursei i fie bi cantitatea disponibil din resursa i. Cu ajutorul acestor resurse se pot desfura mai multe activiti (de exemplu: procese de producie). Fie j numrul de ordine al activitii desf i fie xj nivelul (necunola care trebuie s se desfoare aceast activitate. De exemplu, pentru procesul de producie 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 situaiei reale.

    Cu aceste notaii se cantitatea din resursa ii xj, care este aij xj; cantitatea total din resursa i folosit pentru producia 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 urmtoarea problem (Zidroiu, 1983): Resursele pe care le are la dis

    urate scut)

    unei uniti din produsul j. Se presupune c ai j nu depinde dect de tipul i de tipul produsului realizat (j) i nu de cantitile produse, ceea ce constituie (i

    e pot determina mrimile urmtoare:

    i folosit pentru producerea cantit

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

    Deoarece nu se poate consuma din resursa i mai mult dect cantitatea de care se dispune, trebuie s fie respectate condiiile:

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

    =

    a nu po

    condiiile de

    n

    jijij bxa

    1, i{1, 2,..., m}. (4.1)

    xj reprezentnd cantitatea ce trebuie produs din sortimentul j, e ate fi un numr

    x 0, j{1, 2,..., m}. negativ:

    j (4.2) Inec ), nenegativitate.

    uaiile (4.1) se numesc restriciile problemei, iar (4.2

  • 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 preul de vnzare al unei uniti din produsul j i cu dj costul unitar pentru acelai produs (se presupune, pentru simplificarea problemei, c att preul de vnzare ct i costul nu depind de cantitatea produs, ceea ce nu

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

    criteriu economic, ca de exemplu venitul sau profitul s f

    prea este n concordan cu realitatea), atunci venitul total va fi: n=

    oducie , i deci profitul obinut va fi:

    jj

    n

    j

    n

    jjjj xxdxc

    == =

    11 1)

    Problema care se pune acum etermina acea variant de planacea soluie a sistem are d pentru profitul (4.3)

    in acea problem economic s-a obinut

    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 inegaliti (4.1), (4.2) cvaloarea maxim. n acest moment, d

    rea problem matematic: urmtoa

    =

    =

    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 uniti 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 urmtoarele mrimi: cantitatea cerut de la depozitul i la toate cele n centre de consum

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

  • 4. Programare liniar 53

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

    O condiie 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 condiia de balansare sau de echilibru. Sistemul de ecuaii (4.5), (4.6) are o infinitate de soluii. Dintre acestea trebuie

    inim. Se obine 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 numete program de transport. Programe liniare de acelai tip pot s apar i n urmtoarea situaie. Trebuie aprovizionat un grup de uzine dirijate de un centru comun, avnd la dispoziie 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 condiiile

    i

    n

    ax , 1 ij

    ij

    j

    m

    iij bx

    =1(4.14)

  • Modele i algoritmi de optimizare

    54

    unde ai , 1 i m, sunt c zitare, bj , 1 j n, sunt antitile necesare uzinelor, iar cij este costul unitar de transport de la depozitul i uzina j. Pentru a avea soluii trebuie ca

    , j n, capacitile de depozitare ale punctelor de desfacere, se obine un model

    e de inecuaii (4.13), (4.14) i schimb sensul.

    optim a fondurilor financiare

    Avnd la dispoziie o sum total S care poate fi investit n diverse activiti j, 1 j n, fiecare producnd un anumit profit unitar aj , 1 j n, se pune problema determinrii sumei xj , 1 j n,