17
OPTIMIZAREA STOCURILOR UTILIZÂND PROGRAMAREA DINAMICĂ DAMIAN GEORGIANA ANA, CIUMACENCU ANDREEA FACULTATEA DE INGINERIE MECANICĂ, INDUSTRIALĂ ŞI MARITIMĂ UNIVERSITATEA „OVIDIUS” CONSTANŢA In the following paper you will find the most effective technique for the optimization of the stocks using dynamic programming methods. Dynamic programming is a technique of designing algorithms for solving problems that can be decomposed into subproblems which overlap. Stocks theory emerged from the need to ensure a supply of minimal cost stocks of raw materials and materials in the production process, or stocks of finished goods and consumer goods in the business of selling goods. Stocks represent quantities of material resources or goods (finite or in any stage of production) supply accumulated in deposits of economic units in a given volume and a specific structure for a period of time in order for future use. Programarea dinamică este o tehnică de proiectare a algoritmilor pentru rezolvarea problemelor care pot fi descompuse în subprobleme care se suprapun. Programarea dinamică este corelată cu tehnica divizării întrucât se bazează pe divizarea problemei. Există însă câteva diferențe semnificative între cele două abordări:

Optimizarea Stocurilor Utilizand Programarea Dinamica

Embed Size (px)

DESCRIPTION

Optimizarea stocurilor

Citation preview

OPTIMIZAREA STOCURILOR UTILIZND PROGRAMAREA DINAMICDAMIAN GEORGIANA ANA, CIUMACENCU ANDREEAFACULTATEA DE INGINERIE MECANIC, INDUSTRIAL I MARITIMUNIVERSITATEA OVIDIUS CONSTANA In the following paper you will find the most effective technique for the optimization of the stocks using dynamic programming methods. Dynamic programming is a technique of designing algorithms for solving problems that can be decomposed into subproblems which overlap. Stocks theory emerged from the need to ensure a supply of minimal cost stocks of raw materials and materials in the production process, or stocks of finished goods and consumer goods in the business of selling goods. Stocks represent quantities of material resources or goods (finite or in any stage of production) supply accumulated in deposits of economic units in a given volume and a specific structure for a period of time in order for future use. Programarea dinamic este o tehnic de proiectare a algoritmilor pentru rezolvarea problemelor care pot fi descompuse n subprobleme care se suprapun. Programarea dinamic este corelat cu tehnica divizrii ntruct se bazeaz pe divizarea problemei. Exist ns cteva diferene semnificative ntre cele dou abordri: -divizare: subproblemele n care se divide problema iniial sunt independente, astfel c soluia unei subprobleme nu poate fi utilizat n construirea soluiei unei alte subprobleme programare dinamic: subproblemele sunt dependente (se suprapun) astfel c soluia unei subprobleme se utilizeaz n construirea soluiilor altor subprobleme (din acest motiv este important ca soluia fiecrei subprobleme rezolvate s fie stocat pentru a putea fi reutilizat) Programarea dinamic este corelat i cu strategia cutrii local optimale (greedy) ntruct ambele se aplic problemelor de optimizare care au proprietatea de substructuroptim

Spre deosebire de divide-et-impera, subproblemele nu sunt disjuncte, ci se suprapun. Pentru a evita recalcularea poriunilor care se suprapun, rezolvarea se face pornind de la cele mai mici subprobleme si folosindu-ne de rezultatul acestora calculam subproblema imediat mai mare. Cele mai mici subprobleme sunt numite subprobleme unitare. Acestea pot fi rezolvate intr-o complexitate constanta, ex: cea mai mare subsecventa dintr-o multime de un singur element.

Pentru a nu recalcula solutiile subproblemelor ce ar trebui rezolvate de mai multe ori, pe ramuri diferite, se retine solutia subproblemelor folosind o tabela (matrice uni, bi sau multi- dimensionala in functie de problema) cu rezultatul fiecarei subprobleme. Aceasta tehnica se numeste memorizare. Aceasta tehnica afla valoarea solutiei optime pentru fiecare din subprobleme. Mergand de la subprobleme mici la subprobleme din ce in ce mai mari ajungem sa gasim valoarea problemei intregi. Motivul pentru care aceasta tehnica se numeste Programare Dinamic este datorat flexibilitaii ei, valoarea schimbandu-i nelesul logic de la o problem la alta. n probleme de minimizarea costului, valoarea este acest cost minim. n probleme de aflarea unei componente maxime,valoarea este dimensiunea componentei.

Dupa calcularea valorii pentru toate subproblemele se pot afla efectiv elementele ce alctuiesc soluia. Reconstrucia soluiei se face mergnd din subproblem n subproblem ncepand de la problema cu valoarea optim si ajungnd n subprobleme unitare. Metoda admite nuante in cazuri particulare, o s se neleaga mai bine din exemple.

Aplicnd aceast tehnic determinm una din soluiile optime, problema putnd avea mai multe soluii optime. n cazul n care se dorete determinarea tuturor soluiilor optime, algoritmul trebuie combinat cu unul de backtracking n reconstrucia soluiilor. Dupa cum probabil ai intuit deja, diferena majora dintre cele dou metode prezentate este c algoritmul greedy menine doar soluiile pariale de la pasul curent pentru a le folosi la pasul urmtor, n timp ce programarea dinamic poate utiliza la un pas subsoluii generate la oricare alt pas anterior. n aplicaia urmtoare, care privete optimizarea stocurilor s-a considerat o problem de stocuri cu cerere determinist constant n timp (canitile cerute sunt cunoscute i de mrimi egale de la o perioad de plan la alta). n practic intervin foarte frecvent, mai ales n economia de piaa, cazurile de stocuri cu cerere determinist variabil n timp. Ele sunt impuse de schimbrile condiiilor aprovizionrii si desfacerii i tendina agenilor economici de a-i adapta mecanismele operaionale la aceste condiii pentru a supravieui concurenei. Pentru optimizarea stocurilor din aceast categorie, programarea dinamic este cea mai potrivit metod graie specificului ei de a analiza fenomenele evolutiv pe etape.

Aa cum s-a menionat mai sus, programarea dinamic nu utilizeaz un algoritm unic pentru rezolvarea problemelor. Se folosesc, de aceea, mai muli algoritmi caracterizai de acelai principiu nsa, al politicii optime compuse din subpolitici optime.

n vederea explicrii algoritmului ce va fi folosit in cazul de fata, algoritm datorat lui S. Elmaghraby, se porneste de la previziunea cererii in cantitate variabila stabilita pentru fiecare perioada t T i de la cunoaterea cheltuielolor cu comandarea si a celor cu depozitarea si mobilizarea valorilor ,exprimate n uniti monetare (u.m.) pe unitatea de masura a mrfurilor din stoc si etapa t. Se noteaz, de asemenea, cantitatea ce va fi comandat n etapa t, (t)-cheltuielile cu stocul n varianta k la etapa t si C*(t)-cheltuielila minim corespunzatoare variantei optime la etapa t.

Algoritmul propus va fi urmrit mai uor dac se va considera reprezentarea grafic a variaiei tipului respectiv de stoc n timp redat in figura 1.

Fig 1.

Algorimul se deruleaz pe etape dispare nceputul spre finele intervalului de prognoz T.

Etapa1. Se analizeaz situaia n perioada t=1 luat izolat i independent de restul perioadelor. Se observ c n aceast perioad exist o cerere n cantitate de i o singur variant de aprovizionare: s se aduca intreaga cantitate la nceputul perioadei t=1.Cheltuielile vor fi :

(1)= i C*=, iar =Etapa 2. Se analizeaz situaia din perioadele 1 i 2 luate mpreun i de restul etapelor i vor exista dou variante de aprovizionare, i :

-se aduce la nceputul etapei 2 i se folosete varianta optim din etapa 1; rezult:(2)=+ = i =-se aduce nrteaga cantitate + de la nceput si rezult :

(2)=+; =+Se va reine varianta care asigura costuri minime, *=min {(2); (2)}.

Etapa3. Se analizeaz situaia pentru 3 etape, luate izolat de restul problemei. Vor fi trei variante de aprovizionare:-se aduce n perioada 3 i se folosete varianta care asigur n etapa 2 optimul *;Rezult cheltuielile:(3)=+*

-se aduce cantitatea +n etapa 2 i se folosete n plus varianta care asigur, la etapa 1, *

Cheltuielile vor fi :(3)=++*-se aduce ntreaga cantitate + i de la nceput i vor rezulta cheltuielile:

(3)=++2=+h()

ntruct se observ cu uurin mecanismul recursivitii formulelor de calcul dup cele trei etape de analiz, se poate reda acum modelul general de calcul pentru etapa t, astfel:(t)=+*(t)=++*

.

(t)=+h [+2+ + (t-1) ]

*=min {(t), (t), , (t)}

n acest mod se parcurg toate etapele t=1, 2, , T i se gasete soluia optim indicat de formula:*=min {(T)}, k=Aceasta evideniaz costurile minime, iar variantele de aprovizionare se stabilesc, mergnd recursive spre etapa 1 i identificnd variantele optime de la fiecare etapa potrivit formulelor prevazute.

Urmeaz un exemplu numeric prin care se poate lmuri ct mai deplin algoritmul prezentat mai sus.

A doua aplicaie care privete, optimizarea stocurilor de cherestea pentru export ale firmei EKS din Portul P.Firma EKS, specializat n comercializarea materialelor de construcii cu sediul n Portul P, realizeaz afaceri la nivel internaional i global. n portofoliul de afaceri al acestei firme cheresteaua ocup un loc important.

Astfel, cumpr cherestea din diferite ri riverane Dunrii, depoziteaz marfa in Portul Constana i o distribuie ctre firmele de construcii din diverse ari din Asia si Africa. Cererea rezult din participarea firmei la licitaii. n tabelul urmtor sunt prezentate informaii asupracererii i cheltuielilor cu comandarea i asigurarea cantitailor solicitate de clieni pentru primele ase luni ale anului viitor. Cererea de cherestea a firmei EKS i cheltuielile pentru aprovizionare (comandare i testare) pe ase luni

Luni, t123456

Cerere ()500020006000400050008000

Cheltuieli de aprovizionare

($)101220161420

Cheltuiala cu depozitarea n Portul Constana i cu imobilizarea financiar reprezint h=2$/ lun. Se cere s se optimizeze stocurile firmei EKS pentru ase luni ale anului viitor.

Rezolvare:

Se folosete algoritmul programrii dinamice pe cele ase etape.

Etapa 1

(o variant)

(1)==10000$

*==10000$

Etapa 2

(dou variante)

(2)=+*=12000+10000=22000

(2)=+=10000+4000=14000

*=min {22000, 14000}= 14000=>(2)

Etapa 3

(trei variante)

(3)=+*=20000 + 14000 = 34000

(3)=++*=12000+12000+10000=34000

(3)= +h(+2)=10000+28000=38000

*=min {34000; 34000; 38000 }=34000

=>(3) sau (3)

Obs.:Alturat calculelor, pe variante, s-a figurat variaia stocurilor, numai pentru primele trei etape, la care a fost relative simplu.

La prima etap corespunde primul grafic, avand =5000La etapa 2, corespund doua grafice associate celor doua variante.

La etapa 3, corespund ultimele trei grafice, cte unul pentru fiecare variant.

Etapa 4(patru variante)

(4)=(4)=++*=20.000+8.000+14.000=42.000

(4)=+h(+2)+*=12.000+16.000+12.000=40.000

(4)=+h(+2+3)=10.000+52.000=62.000*=min {50.000; 42.000; 40.000; 60.000}=40.000=>(4)

Etapa5

(5 variante)

(5)=+* =14.000 + 40.000=54.000

(5)=+ +* =20.000+8.000+14.000=42.000

(5)=+ h(+ 2) + * =20.000 + 28.000+14.000=62.000(5)= + h(+* = 12.000+58.000+10.000=80.000

(5)=+h(=10.000+92.000=102.000

*=min {54.000, 60.000, 62.000, 80.000, 102.000}=54.000=>(5)

Etapa 6

(ase variante)

(6)=+*=20.000+54.000=74.000

(6)=++*=14.000+16.000+40.000=70.000(6)=+h(+2)+*=14.000+16.000+42.000+34.000=92.000

(6)=+h(+*=20.000+76.000+14.000=110.000

(6)=+h(+*=12.000+122.000+10.000=144.000(6)=+h(=10.000+172.000=182.000

(6)= min {74.000, 70.000, 92.000, 110.000, 144.000, 182.000}=70.000 =>(6)Aadar, la etapa 6, variant optim este (6). Aceasta implic s se aduc in etapa 5 cantitaile i , blocnd-o pe cea din urm o lun, i s se apeleze la variant cea mai bun din etapa 4. Adresndu-se la etapa 4, se observ ca varianta optim * este (4). Potrivit acesteia, urmeaz a se aduce n etapa 2 cantitile i cele dou din urm nregistrnd blocaje de mijloace - i s se apeleze n plus la varianta optim * de la etapa 1.

n figura 2 este redat reprezentarea grafic a soluiei optime menionate mai sus.

fig 2.

Se observ c fa de soluia n care s-ar putea aduce n fiecare lun cantitile cerute (t=1, 2, , 6) nregistrate n tabelul 1 soluia din figura 4. 14 se produc imobilizrile cantitilor

=6000 -o lun, =4000 -dou luni, i =8000 o lun, cheltuind n plus cu imobilizrile financiare si depozitarea,

2(6.000+24.000+8.000)=44.000$

Diferena de 56.000-44.000=12.000 $ reprezint ctigul net al firmei EKS rezultat din optimizarea stocurilor prin programarea dinamic demonstrat n cadrul acestei aplicaii.

Pe aceast cale, firma EKS poate satisface cererile exprimate de clienii si, nregistrate n tabelul 1, iar cu furnizorii va ncheia contracte dup, pe baza datelor din tabelul 1, va optimiza stocurile folosind metodologia artat mai sus, n urma creia s-a ajuns la soluia reprezentat n figura 4.14, respectiv s se aduc la nceputul lunii 1 cantitatea de 5.000 , din care se satisface necesarul acestei luni, dup care, la nceputul lunii a doua se aduce cantitatea de 12.000 acoperitoare a cererii din lunile 2,3 i 4 i, n fine, s se aduc la nceputul lunii a cincea cantitate de 13.000 necesar n lunile cinci si ase.Optimizarea meninerii i nlocuirii echipamentelor

Echipamentele partea cea mai important ca pondere i cea mai activ ca mbunataire a mijloacelor fixe ale agenilor economici au o evoluie dintre cele mai interesante din punct de vedere economic.

Doua tendine contradictorii caracterizeaz nlocuirea echipamentelor :

1) Daca se nlocuiesc prea frecvent, se cheltuiete prea mult cu preul de achiziionare

2) Daca se nlocuiesc prea rar, se cheltuiete prea mult cu mentenaa i operarea.

Programarea dinamic ofer o soluie optim de nlocuire, mult mai adecvat dect optimizarea funciei costurilor totale cu nlocuirea i meninerea, care spune la ce valoare minim a funciei trebuie fcut nlocuirea, dar nu spune la ce etap a exploatrii echipamentelor s se efectueze aceast nlocuire. Programarea dinamic vede problema nlocuirii i meninerii n manier regenerativ: politica de nlocuire este analizat n cadrul unui interval de timp ale crui diviziuni corespund momentelor nlocuirii. Iat, de exemplu, dac intervalul de timp considerat este un cincinal, graful aciclic (conex) de nlocuire, cu diviziuni anuale, arat ca n figura 3

fig 3.Valorile de pe arcele grafului reprezint cheltuielile incluznd preul de achiziie actualizat, plus cheltuielile pentru mentenan i operare ale noului echipament, minus valoarea reziduala a vechiului echipament.

Reteaua etapizata in figura 4.15 permite sa se calculeze functia ,reprezentnd costul politicii de nlocuire minim pentru perioadele n, n+1, , N-1, n condiiile cumprarii unui nou echipament la nceputul perioadei n. La valoarea functiei pentru momentul 0 al schemei de nlocuire, se ia decizia. Formula de recuren pentru o asemenea interpretare dinamic a politicilor nlocuirii este:=minimum [+] pentru n N-1, N-2, , 1, 0.

k= n+1, , N

= 0

Procesul de producie propriu-zis este supus n mod aleator unei sume de perturbaii cum ar fi: instabilitatea personalului, prezena rebuturilor, existena timpilor mori datorai defectrii utilajelor etc.

n felul acesta, producia devine un rezultat aleator al unei combinaii de fenomene care au loc n conformitate cu legile probabilitii. Nici un proces de producie nu e fiabil dac este supus direct aciunii perturbatoare a parametrilor ce apar n mod aleator. Este deci absolut necesar de a elimina aceste influene directe, adic s se deconecteze sistemul de la fluctuaiile externe. Elementul care asigur deconectarea i care joac rolul de tampon, de amortizor al variaiilor l reprezint stocurile.

Ca proces economic complex, gestiunea stocurilor are o sfer larg de cuprindere, aceasta incluznd att probleme de conducere, dimensionare, de optimizare a amplasrii stocurilor n teritoriu, de repartizare a lor pe deintori, de formare i eviden a acestora, ct i probleme de recepie, de depozitare i pstrare, de urmrire i control, de redistribuire i mod de utilizare.

Este important si absolut necesar ca stocurile s cuprinda cantitatea optima de bunuri sau produse finite pe care intreprinderea respectiv le produce, cantitate determinat prin utilizarea algoritmilor si programrii dinamice, principii prezentate n aceast lucrare.Bibliografie:

1. Ackoff, R.L., Maurice W. Sasieni, Fundamentals of Operations Research, John Wiley and Sons, 1968.

2. Allen, R.G.D., Analiza matematic pentru economiti, Editura tiinifica, 1971.3. Bellman, R., Dynamic Programming, Princeton Univ. Press, 1957

4. Bowman, E.H., Robert, B. Fetter, Analysis for Production and Operations Management, Homewood, 1967