FACULTATEA DE CONSTRUCII CIVILE, INDUSTRIALE I AGRICOLE
MANAGEMENTUL PROIECTELOR N CONSTRUCII
CERCETRI OPERAIONALE
PROIECT (TEMA 14)
MASTERAND: Costescu Cosmin-Viorel MPC, ANUL I, GRUPA 1
2014
CUPRINS:
A. PROBLEMA A ENUNUL N FRANCEZA ENUNUL N ROMN REZOLVAREA PROBLEMEI 1. Modelarea problemei 2. Suport teoretic 3. Rezolvare utiliznd Management Scientist 4. Listingul cu rezultate
B. PROBLEMA B ENUNUL N FRANCEZ ENUNUL N ROMN REZOLVAREA PROBLEMEI 1. Modelareaproblemei 2. Algoritmul Ford-Fulkerson 3. Rezolvare utiliznd WinQSB 4. Listingul cu rezultate
C. BIBLIOGRAFIE
A.PROBLEMA A ENUNTUL IN FRANCEZA
1. S se modeleze problema 2. S se prezinte suportul teoretic adecvat 3. S se rezolve utiliznd WinQSB i/sau MS 4. S se ataeze listingul cu rezultate
ENUNTUL IN ROMANA
O ntreprindere siderurgic a primit o comand de 5 tone e oel. Coninutul oelului in diferite elemente chimice este: 2%Carbon3% 0,4%Cupru0,6% 1,2%Mangan1,65% Pentru fabricarea oelului ntreprinderea are 7 tipuri de deeuri n cantiti limitate i cu costurile urmtoare: Tip deeu C% Cu% Mn% Stoc Cost/kg Deeu 1 2,5% 0 1,3% 4000 0,20 Deeu 2 3% 0 0.8% 3000 0,25 Deeu 3 0 0,3% 0 6000 0,15 Deeu 4 0 90% 0 5000 0,22 Deeu 5 0 96% 4% 2000 0,26 Deeu 6 0 0.4% 1,2% 3000 0,20 Deeu 7 0 0.6% 0 2500 0,17 Sa se determine cantitatile ce trebuie amestecate din cele 7 deseuri astfel incat sa fie indeplinite toate conditiile impuse iar costul total sa fie minim. REZOLVAREA PROBLEMEI
1. Modelarea problemei Variabile de decizie: Xi-cantitate de deeu tip i utilizat pentru obinerea comenzii Funcia obiectiv: F(x)=0.2x+0.25x+0.15x+0.22x+0.26x+0.2x+0.17x Restricii: Restricii legate de coninut Coninutul n Carbon: 100kgCarbon150kg Pentru 5000 kg de Otel Coninutul n Cupru: 20kgCupru30kg Pentru 5000 kg de Otel Coninutul n Mangan: 60kgMangan82.5kg Pentru 5000 kg de Otel n Carbon: 0.025x+0.03x100 0.025x+0.03x150 n Cupru: 0.003x+0.9x+0.96x+0.004x+0.006x20 0.003x+0.9x+0.96x+0.004x+0.006x30 n Mangan: 0.013x+0.008x+0.04x+0.012x60 0.013x+0.008x+0.04x+0.012x82.5 Restricii legate de stoc x 4000 x2000 x 3000 x3000 x 6000 x2500 x5000 xi0 i=1,7
2. Suport teoretic 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
unde: f este funcia obiectiv, g i sunt funciile care dau restriciile asupra variabilelor X1, X2, ..., x n , E este mulimea indicilor pentru restriciile cu egalitate, iar I este mulimea indicilor pentru restriciile cu inegalitate. Restriciile de forma g i (x) < b pot fi puse sub forma g t (x) - b < 0 .
Definiia 1.1. Un punct x e R n care verific restriciile (1.1) se numete punct admisibil (realizabil) sau soluie admisibil i mulimea tuturor acestor puncte R, formeaz regiunea admisibil (realizabil). Definiia 1.2. O soluie admisibil x e R este o soluie optim pentru problema (1.1) dac f (x*)<f(x), (V)xe R.
Prin schimbarea max f (x) = - min{- f (x)}, problema de maximizare devine o problem de minimizare, aa c n continuare se vor considera numai probleme de minimizare. Dac toate funciile g i (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 (Kauftnann, 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. 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 prezentate soluiile modelelor, exemple practice rezolvate fie manual, fie cu ajutorul Solver-ului din EXCEL, fie cu ajutorul achetului de programe specializat n rezolvarea problemelor de optimizare, Management Scientist (MS), fie cu ajutorul pachetului de programe MathCAD. 3. Rezolvare Management Scientist
Variable Lower Limit Current Value Upper Limit ------------ --------------- --------------- --------------- X1 No Lower Limit 0,200 0,219 X2 0,134 0,250 No Upper Limit X3 -0,001 0,150 No Upper Limit X4 -0,387 0,220 No Upper Limit X5 -40,750 0,260 0,667 X6 0,183 0,200 0,371 X7 -0,003 0,170 No Upper Limit
RIGHT HAND SIDE RANGES
Constraint Lower Limit Current Value Upper Limit ------------ --------------- --------------- --------------- 1 No Lower Limit 100,000 100,000 2 100,000 150,000 No Upper Limit 3 No Lower Limit 20,000 30,000 4 20,000 30,000 192,000 5 53,250 60,000 82,000 6 60,000 82,000 No Upper Limit 7 4000,000 4000,000 4519,231 8 0,000 3000,000 No Upper Limit 9 0,000 6000,000 No Upper Limit 10 0,000 5000,000 No Upper Limit 11 28,873 2000,000 No Upper Limit 12 570,423 3000,000 No Upper Limit 13 0,000 2500,000 No Upper Limit
B. PROBLEMA B
ENUNTUL IN FRANCEZA
1. S se modeleze problema 2. S se prezinte algoritmul Ford-Fulkerson 3. S se rezolve utiliznd WinQSB 4. S se ataeze listingul cu rezultate
ENUNTUL IN ROMANA Se dorete livrarea unui produs la 3 clieni europeni (Client 1, 2, 3) de la o intreprindere care dispune de 2 uzine de fabricatie (Uzina 1, 2). Transportul este asigurat de un sistem logistic care utilizeaza 5 platforme. Capacitatea de transport pentru conexiunea fiecaruia este limitata si valorile sunt date in graficul urmator:
Cantitatile de produs disponibile in stoc sunt pentru Uzina 1 de 35 si de 25 pentru Uzina 2. Cererea celor 3 clienti este de 15 pentru clientul 1, si 2, si pentru clientul 3 de 20. Observatie: Este o problem de flux maxim care se poate modela indicnd cantitatea de produs care se transport pe fiecare arc, care trebuie s rmn inferioar capacitii arcului; fluxurile se conserv n fiecare nod (excepie fac Sursa i Destinaia); suma fluxurilor ce ajung la destinaietrebuies fie maxim. Programul trasportului care satisface cererea clientilor.
REZOLVAREA PROBLEMEI 1. Modelarea problemei
2. Algoritmul Ford-Fulkerson
Algoritmul Ford-Fulkerson este unul din algoritmii cei mai simpli care rezolv problema Debitului maxim. Const n identificarea succesiv a unor drumuri de cretere pn n momentul n care un mai exist nici un astfel de drum. Dup identificarea unui drum de cretere se determin valoarea acestuia, iar aceasta se scade din costurile fiecrui arc (i, j) de pe drumul respectiv i se adun la costurile arcelor corespunztoare de forma (j,i). De asemenea, valoarea respectiv se adun la fluxul maxim determinat pn n momentul respectiv. Datorit faptului c un drum de cretere conine arce careaucosturi pozitive, valoarea sa va fi ntotdeauna un numr pozitiv. Ca urmare, pentru fiecare drum de cretere determinat, valoarea fluxului va crete cu cel puin o unitate. Datorit faptului c avem capaciti finite, fluxulmaxim este un numr finit. Din aceste motive suntem siguri c, mai devreme sau mai trziu, algoritmul se va ncheia. Algoritmul const n urmtoarele: Se pornete de la un flux compatibil. Cel mai comun este fluxul nul. Apoi se caut un lan care leag sursa s de destinaia d, astfel nct s se poat mri fluxul pe acest lan. Dac nu se gsete un astfel de lan, problema este rezolvat. Altfel, se mrete fluxul pe acel lan. Se caut un nou lan care leag sursa s de destinaia d, astfel nct s se poat mri fluxul pe acest lan i aa mai departe. Algoritmul Ford-Fulkerson: Pas 0. Intrare: ( ) c u X G , , = - reeaua de transport, s i d; Pas 1. Pentru ( ) 0 : ) ( , = e u f U u {fluxul compatibil iniial} Pas 2. Ct timp exist un lan C care mrete fluxul ntre s i d, = : m {indicator c algoritmul continu}; Pentru ( ) C u e dac u este n sens direct atunci ) ( ) ( : u f u c a = , altfel ) ( : u f a = ; Dac m a < atunci a m = : ; Pentru ( ) C u e dac u este n sens direct atunci m u f u f + = ) ( : ) ( , altfel m u f u f = ) ( : ) ( ; Pas 3. Returneaz f {fluxul maxim prin reeaua ( ) c u X G , , = }. Stop! Algoritm pentru cutarea unui lan care mrete fluxul Se utilizeaz pentru realizarea lanului arce pentru deplasarea prin reea de la s la d, astfel: a) dac arcul este direct i nu s-a atins fluxul maxim, sau b) dac arcul este indirect i nu are fluxul nul. n algoritm se folosesc: - vectorii: accesibil(n) ale crui componente sunt 0 dac nodul nu este accesibil pornind din s sau 1 n caz contrar i predecesor(n), ale crui valori sunt nodurile predecesoare, unde X n = ; - X X c ' submulime de noduri; Algoritm pentru cutarea unui lan care mrete fluxul Pas 0. Intrare: ( ) c u X G , , = - reeaua de transport, s, d, fluxul curent ) (u f i } {s X = ' ; Pentru ( ) X x e accesibil(x):=0; predecesor(x):=0 ;
Pas 1. Ct timp u = ' X i accesibil(d)=0 Ia un ( ) X x ' e i { } x X X ' = ' : ; Pentru ( ) U y x u e = ) , ( Dac accesibil(y)=1 i ) ( ) ( u c u f < Atunci { } y X X ' = ' : ; predecesor(y):=x; accesibil(y):=1; Pentru ( ) U x y u e = ) , ( Dac accesibil(y)=1 i 0 ) ( > u f Atunci { } y X X ' = ' : ; predecesor(y):=x; accesibil(y):=1;
Pas 2. Returneaz C {lan care mrete fluxul}; Revenire n algoritmul Ford-Fulkerson;
3. RezolvareaWinQSB
4.Listingul atasat
Fluxulmaxim este 50.
BIBLIOGRAFIE
1. Translate.google.com; 2. RomicTrandafir - Modele si Algoritmi de Optimizare, Editura Agir, Bucureti, 2004; 3. WinQSB; 4. The Management Scientis; 5. Romic Trandafir -Note de curs Cercetri operaionale n managementul construciilor, UTCB, MPC, semestrul I, 2013 2014.