55
ACADEMIA D E STUDII ECONOMICE DIN BUCUREŞTI FACULTATEA CIBERNETICĂ, STATISTICĂ ŞI INFORMATICĂ ECONOMICĂ SIMULAREA ACTIVITĂŢII DE STOCARE ÎN FIRMA MOB- INSTALL STUDENT: BARABAŞ CAMELIA, GR.1035 BUCUREŞTI 2011 1

Barabas Camelia Simulare

Embed Size (px)

Citation preview

Page 1: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 1/55

 

ACADEMIA DE STUDII ECONOMICE DIN BUCUREŞTI

FACULTATEA CIBERNETICĂ, STATISTICĂ ŞI INFORMATICĂ ECONOMICĂ

SIMULAREA ACTIVITĂŢII DE STOCARE ÎN FIRMA MOB-

INSTALL

STUDENT: BARABAŞ CAMELIA, GR.1035

BUCUREŞTI

2011

1

Page 2: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 2/55

 

CUPRINS

I. IntroducereCaracteristici generale:

Societatea Mob-Install S.R.L a fost înfiinţatǎ în anul 2006, ca urmare a unei cereri crescute

în domeniul lucrărilor de instalaţii de încălzire, de aer condiţionat, mobilă şi alte lucrări de

instalaţii pentru construcţii. Primii clienţi ai firmei Mob Install S.R.L au semnat şi au beneficiat de

serviciile acesteia încă din toamna anului 2006. Printre aceştia se numără atât persoane fizice cât şi

societăţi comerciale, spitale, şcoli. În perioada 2008-2010 aceştia şi-au extins numărul de

 parteneri , iar echipa s-a mărit şi s-au mutat în centrul oraşului Alexandria. Mob Install S.R.L. a participat la conferinţe, târguri, expoziţii şi licitaţii din toată ţara în fiecare an de la înfiinţare.

Furnizorii întreprinderii:

Printre aceştia se numără: Bendek & CO Târgu Mureş, Clima Zone Satu Mare, Kontex

Alexandria, Petrom Alexandria, Regency Company Bucureşti, Arabesque Bucureşti, QFG Proiect

Braşov etc.

2

Page 3: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 3/55

 

Beneficiarii întreprinderii:

Utilizatorii produselor firmei sunt: persoane fizice şi juridice, şcoli, spitale, grădiniţe,

restaurante , primǎrii etc.

Domeniul principal în care societatea îşi desfăşoară activitatea este de lucrări de instalaţii

electrice şi tehnico-sanitare şi alte lucrări de instalaţii pentru construcţii-CAEN 432. Activitatea

 principală a acesteia este de 4322-lucrǎri de instalaţii sanitare, de încălzire şi de aer condiţionat.

Societatea are în dotare toate echipamentele şi utilajele necesare desfăşurării activităţii, printre care

şi diverse depozite de mărfuri. Unul dintre depozite, pe care îl vom lua în considerare în continuare

este depozitul de instalaţii pentru încălzire cum ar fi centrale termice, cazane pe lemne etc.

II. Formularea problemei

II.1 IpotezeAvând în vedere faptul că scopul menţinerii unui stoc este acela de a satisface orice cerere

în totalitate, în acest caz, compania Mob-Install trebuie să satisfacă comenzile către clienţi pentru

instalaţiile de încălzire. Aşadar, problema care apare este legată de formarea şi refacerea stocului

de instalaţii termice, dar şi minimizarea costurilor legate de finanţarea şi menţinerea acestui stoc

(costuri de lansare a comenzii, costuri de stocare, costuri de penalizare etc.).

Principalele concepte care se utilizează într-o problemă de gestiune a stocurilor sunt

următoarele: cantitatea intrată în stoc, Qi; frecvenţa sau momentul achiziţiei; cererea, r; cantitatealivrată q, intervalul de gestiune, θ; termenul de livrare τ; perioada de gestiune, costul de lansare a

comenzii, Cl; costul de stocare, Cs, costul de penalizare Cp etc.

În vederea obţinerii informaţiilor necesare cum ar fi costurile, cererea, cantitatea intrată în

stoc, durata de reaprovizionare etc. am studiat câteva rapoarte de contabilitate şi marketing ale

firmei, din care am dedus urmatoarele:

3

Page 4: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 4/55

 

 Figura 1: Stocurile în perioada 2006-2010

Sursa: prelucrări proprii in Excel pe baza raportului de contabilitate al firmei

În Figura 1 de mai sus, este prezentată structura şi valoarea stocurilor din cadrul firmei

Mob-Install, de la înfiinţare şi până în anul 2010 (pe o perioadă de 5 ani). Pe lângă valoarea în lei a

celor trei componente (mărfuri, materii prime şi materiale), am calculat şi procentul fiecărei

categorii din total. Observăm că profilul principal al firmei este achiziţionarea de bunuri (în acest

caz, instalaţii termice) în scopul revânzării, deoarece procentul valorii mărfurilor în total este de

70%-80% pe toată perioada analizată. În schimb, materiile prime şi materialele deţin un procent de

doar 12%-22% din total.

În ceea ce priveşte evoluţia stocurilor în perioada 2006-2010, aceasta este prezentată în

Figura 2 de mai jos. Observăm că valoarea acestora a crescut de la un an la altul, (cu excepţia

anului 2009), atingând maximul în anul 2010 (244780 lei). Faptul că valoarea stocurilor în anul2009 a scăzut, este probabil din cauză că efectele crizei au fost simţite la nivelul firmei prin

intermediul evoluţiei stocurilor.

 Figura 2: Evoluţia stocurilor în perioada 2006-2010

Sursa: Prelucrări proprii in Excel pe baza datelor din Figura 1

 Figura 3: Repartiţia cererii

Sursa: Prelucrări proprii în Excel pe baza observaţiilor 

 

4

Page 5: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 5/55

 

În urma acestor observaţii, împreună cu analiza datelor culese în timp privind activitatea

firmei, am constatat că cererea zilnică de instalaţii de încălzire este o variabilă aleatoare normală N

de medie m=5 instalaţii şi dispersie =2σ buc., notată r N(5,2)∿ .

 Durata de reaprovizionare τ, reprezintă timpul între momentul lansării unei comenzi şi

 primirea ei. Am constatat că aceasta este o variabilă aleatoare, având următoarea distribuţie:

:40.2 80.15 120.15 160.3 200.2τ

În ceea ce priveşte sistemul de costuri, acesta este alcătuit din următoarele:

Costul de lansare a comenzii, care este fix indiferent de cantitatea comandată:

Cl=50 lei/comandă.

Având în vedere faptul că cererea clienţilor privind acest produs variază, sunt posibile

următoarele două situaţii:

a) cererea este satisfacută, şi anume, cantitatea din stoc este mai mare decât cererea

 pentru acea zi, caz în care putem vorbi despre costul de stocare Cs=10 lei/buc./zi.

 b) cererea este nesatisfacuta, caz în care cantitatea din stoc este mai mică decât cantitatea

solicitată de client, apare deci un cost de penalizare Cp=15 lei/buc./zi.

În continuare vor fi testate două variante de gestiune a stocului pentru a vedea care dintre

ele este mai bună, adică cea care minimizează cheltuielile. Cele două politici de aproviyionare sunturmătoarele:

I. Aprovizionarea se face cu o cantitate constantă Q0=15 buc. Stocul iniţial este

S0=20 de instalaţii de încălzire; durata de reaprovizionare este variabila aleatoare prezentată

anterior.

II. Aprovizionarea se face cu o cantitate constanta Q0=40 buc., iar  stocul iniţial este

S0=30 de instalaţii de încălzire; durata de reaprovizionare este aceeaşi.

În continuare, trebuie precizate următoarele elemente:

• noua comandă se lansează atunci când nivelul stocului devine mai mic decât nivelul

stocului de siguranţă Si<C, iar cantitatea comandată va intra în stoc la sfârşitul perioadei de

aprovizionare care a fost generată.

5

Page 6: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 6/55

 

• orizontul de simulare este de 30 de zile. Politica de aprovizionare descrisă mai sus

înseamnă că se lansează o nouă comandă de aprovizionare de volum Q atunci când nivelul stocului

 pentru produs este mai mic sau egal decât nivelul critic al stocului C.

• cererea de instalaţii de încălzire se satisface la începutul fiecărei zile;

• cheltuielile zilnice de stocare se calculează pentru stocul rămas în ziua respectivă după

satisfacerea cererii;

Scopul acestei simulări este stabilirea unui stoc eficient de mărfuri şi determinarea

următoarelor elemente:

•  perioada medie între două reaprovizionări sucessive;

• cererea medie zilnică calculată;

costul mediu de lansare calculat;• costul mediu de penalizare calculat;

• costul mediu de stocare calculat;

• media abaterii medii pătratică a cererii faţă de medie;

• media lotului optim de reaprovizionare calculat;

• nivelul critic mediu al stocului;

III. O altă politică de aprovizionare este luarea în considerare a unei comenzi speciale,

deşi în acest moment firma nu are în vedere această posibilitate. În continuare voi studia această

sugestie pentru a o putea compara cu politica curentă de aprovizionare a firmei şi a decide care din

ele este mai satisfăcătoare din punct de vedere al minimizării costurilor. Lansarea unei comenzi

speciale se face în cazul în care stocul nu acoperă cererea zilnică iar, ca urmare, apar unele costuri

 suplimentare Csup=60 lei/buc.

Probabilitatea ca în ziua respectivă să se facă o comandă specială este p=0.2. Trebuie

însă, luat în considerare şi faptul că dacă nu există posibilitatea efectuării unei comenzi speciale,apar costurile de penalizare legate de nesatisfacerea cererii.

II.2 Pregătirea exerciţiului de simulare

6

Page 7: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 7/55

 

Primul pas în pregătirea simulării îl reprezintă generarea numerelor aleatoare. Deoarece s-a

constatat faptul că cererea saptamanală Qi şi durata τ pot lua diferite valori, voi apela la tehnica de

simulare prin generarea de numere aleatoare.

Deoarece cererea urmează o repartiţie N∿(5,2), am generat cu ajutorul unui cod în Pascal

1000 de numere aleatoare.

uses crt;

var x,y:real;

n:integer;

i:longint;

f:text;

function generareq(a,b:real):integer;

var suma,unif:real;k:integer;

ok:boolean;

 begin

repeat

ok:=true;

suma:=0;

for k:=1 to 12 do beginunif:=random(1000)/1000;

suma:=suma+unif;

end;

suma:=suma-6;

suma:=sqrt(b)*suma+a;

if (suma>(a+b)) or (suma<(a-b)) then ok:=false;

until ok;

generareq:=round(suma);

end;

 begin

write('Valoarea medie:');readln(x);

write('Dispersia:');readln(y);

7

Page 8: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 8/55

 

write('Numarul de valori generate:');readln(n);

assign(f,'valori_generate.txt');

rewrite(f);

for i:=1 to n do begin

write(generareq(x,y),' ');

write(f,generareq(x,y),' ');

end;

close(f);

end.

În urma rulării acestuia, am introdus conform figurii de mai jos valoarea medie 5, dispersia

2 şi numărul de valori generate 1000.

Rezultatele sunt următoarele:

8

Page 9: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 9/55

 

 Figura 5: Numerele generate aleator 

Sursa: Prelucrări proprii în Turbo Pascal 

Observăm că programul a generat 1000 de numere aleatoare pentru cererea de instalaţii

termice de repartiţie normală N(5,2).

În ceea ce priveşte durata de reaprovizionare, în funcţie de intervalul de probabilitate în

care acestea se încadrează, se va considera durata de reaprovizionare respectivă. Se asociază

intervale de numere aleatoare fiecărei valori a variabilei probabiliste. Este necesară generarea unuişir de numere aleatoare uniform distribuite în intervalul [0,1] pentru simularea duratei de

reaprovizionare.

:40.2 80.15 120.15 160.3 200.2τ

  Tabelul 1

Durata (zile)

τ

Probabilitate

Probabilităţi

cumulate:

Intervalul

9

Obj100

Obj101

Page 10: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 10/55

 

4 0.2 0.2 [0-0.2)

8 0.15 0.35 [0.2- 0.35)

12 0.15 0.50 [0.35-0.5)

16 0.3 0.8 [0.5-0.8)20 0.2 1 [0.8-1]

Sursa: Prelucrări proprii

Cu ajutorul unui generator de numere aleatoare, am obţinut 20 de numere din intervalul

[0;1], în funcţie de care voi considera valoarea înregistrată pentru durata de reaprovizionare τ. Cu

ajutorul TP, şi cu următorul cod, am generat numere aleatoare în intervalul [0;1].

 Figura 6: Codul Pascal pentru generarea de numere

Sursa: prelucrări proprii în TP.

Rezultatele sunt următoarele:

În următorul tabel Excel, se observă în linia Function expresia funcţiei IF care a fost

utilizată pentru a se stabili durata de reaprovizonare, în funcţie de numărul aleator generat, pe baza

intervalelor prezentate mai sus (Tabelul 1).

10

Page 11: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 11/55

 

Tabelul 2

Sursa: Prelucrări proprii în Excel 

În ceea ce priveşte ce de-a treia politică de aprovizionare propusă de mine şi anume, luarea

în considerare a unei comenzi speciale, este nevoie de generarea unui şir de numere aleatoare în

intervalul [0,1] pentru a simula efectuarea sau neefectuarea comenzii speciale. Probabilitatea

estimată în functie de care se decide acest lucru este p=0.2.Aşadar, tot cu ajutorul TP, am generat 100 de numere in intervalul [0,1].

11

Page 12: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 12/55

 

 Figura 7: Numere generate aleator pentru comanda specială

III. Lista variabilelor:

Simularea se face pe un orizont de simulare de 30 de zile, iar lista variabilelor este

următoarea:

Ø nc-numărul de cicluri de simulare;

Ø cl -costul unitar de lansare;

Ø cs-costul unitar de stocare;

Ø cp-costul unitar de penalizare;

Ø şi -stocul iniţial;

Ø c-stocul de siguranţă (nivelul critic iniţial al stocului);

Ø –lotul de aprovizionare iniţial;

Ø k -indicele ciclurilor de simulare;

Ø mt -perioada medie între două reaprovizionări successive;

Ø mq-cererea medie zilnică;

Ø sqp-abaterea medie pătratică a cererii faţă de medie;

Ø  pr -probabilitatea ruperii de stoc;

Ø mcl -costul mediu de lansare;

12

Page 13: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 13/55

 

Ø mcs-costul mediu de stocare;

Ø mcp-costul mediu de penalizare;

Ø qom-lotul optim de reaprovizionare;

Ø ac-nivelul critic al stocului;

Ø tt -timpul cumulat al perioadelor de reaprovizionare într-un ciclu de simulare;

Ø t -incrementul de timp pentru o perioadă de reaprovizionare;

Ø t2-perioada dintre două reaprovizionări sucessive;

Ø teta-orizontul de simulare (30 de zile);

Ø l -indicele numărului de reaprovizionări pe perioada teta într-un ciclu de simulare;

Ø  p-indicele numărului de ruperi de stoc dintrun ciclu de simulare;Ø q-nivelul cererii;

Ø ts-suma stocurilor pe unitatea de timp;

Ø smq-suma mediilor cererilor din fiecare perioada de reaprovizionare ;

Ø sq-suma cererilor pe perioada ;

Ø tna-suma necesarelor suplimentare de reaprovizionare;

Ø na-necesarul suplimentar de reaprovizionare pe perioada ;

Ø tcs-totalul cheltuielilor de stocare;

Ø tcp-totalul cheltuielilor de penalizare;

Ø tcl -totalul cheltuielilor de lansare;

Ø msq-cererea medie pe perioada ;

Ø  ft -perioada medie optimă între două reaprovizionări successive;

Ø  fq-cererea medie zilnică calculată;

Ø  fcl -costul mediu de lansare calculat;

13

Page 14: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 14/55

 

Ø  fcp-costul mediu de penalizare calculat;

Ø  fcs-costul mediu de stocare calculat;

Ø sqf -media abaterii medii pătratice calculată a cererii;

Ø qof-media lotului optim de reaprovizionare calculată;

Ø  fac-nivelul critic mediu al stocului;

Ø  fpr -probabilitatea medie a ruperii stocului;

Ø rest -perioada rămasă din teta;

Ø rând, vb1, vb, ch, s1, s2, ok, z, x -alte variabile ajutătoare;

IV. Modelul de simulareÎn continuare, este prezentată schema logică a problemei de simulare a gestiunii stocurilor 

 pentru firma Mob-Install.

14

Page 15: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 15/55

 

15

Page 16: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 16/55

 

16

Page 17: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 17/55

 

V. Codul sursă al programului

uses graph,crt,dos;

const teta=50;

type

vector=array[1..1000] of real;

var

z,x,q,rand,i,k,nc,tt,t,t2,rest,l,p:integer;

s1,s2,ft,cl,cs,cp,si,c,ts,smq,sq,tna,na,fq,fcl,fcp,fcs,sqf,q0,qof,fac,fpr,sp:real;

vbl,vb:boolean;

tcl,tcs,tcp,pr,qom,msq,mt,mq,sqp,mcl,mcp,mcs,ac:vector;

ch:char;

f:text;

grDriver:integer;

grMode:integer;

ErrCode:integer;

17

Page 18: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 18/55

 

{Procedura de citire numar_cicluri_simulare si date_initiale}

procedure citeste;

begin

clrscr;

gotoxy(18,5);

writeln(' SIMULAREA GESTIUNII UNUI STOC');

writeln(f,' SIMULAREA GESTIUNII UNUI STOC');

gotoxy(18,6);

writeln('--------------------------------------');

writeln(f,'--------------------------------------');

write('Numarul de cicluri de simulare(<=1000):');readln(nc);gotoxy(18,11);

writeln('DATE INITIALE');

gotoxy(18,12);

write('Costul unitar de lansare comanda:');readln(cl);

gotoxy(18,13);

write('Costul unitar de stocare:');readln(cs);

gotoxy(18,14);write('Costul unitar de penalizare:');readln(cp);

gotoxy(18,15);

write('Stocul initial:');readln(si);

gotoxy(18,16);

write('Stocul de siguranta:');readln(c);

gotoxy(18,17);

write('Lotul de aprovizionare:');readln(q0);

gotoxy(18,18);

write('Cererea medie:');readln(z);

gotoxy(18,19);

write('Dispersia cererii:');readln(x);

ch:=readkey;

18

Page 19: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 19/55

 

end;

{Procedura de generare nivele_cerere}

function generareq(a,b:real):integer;

var suma,unif:real;k:integer;

ok:boolean;

begin

repeat

ok:=true;

suma:=0;

for k:=1 to 12 do begin

unif:=random(1000)/1000;

suma:=suma+unif;end;

suma:=suma-6;

suma:=sqrt(b)*suma+a;

generareq:=round(suma);

q:=round(suma);

if (suma>a+b) or (suma<a-b) then ok:=false;

until ok;end;

{procedura de generare perioade de timp intre 2 aprovizionari succesive}

procedure generare_t2(var t2:integer);

var al:real;

begin

al:=random(1000)/1000;

if (al>=0) and (al<0.2) then t2:=4;

if (al>=0.2) and (al<0.6) then t2:=8;

if (al>=0.6) and (al<0.75) then t2:=12;

if (al>=0.75) and (al<0.9) then t2:=16;

if (al>=0.9) and (al<=1) then t2:=20;

end;

19

Page 20: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 20/55

 

{Procedura scriere cap tabel}

procedure cap_tabel;

begin

gotoxy(6,4);

write(' REZULTATELE PT. FIECARE CICLU DE SIMULARE');

gotoxy(6,5);

write(' ------------------------------------------');

gotoxy(1,7);

writeln('NOTATII:');

writeln('Ciclu de simulare K');

writeln('Perioada medie intre 2 reaprovizionari MT(K)');writeln('Cererea medie zilnica MQ(K)');

writeln('Abaterea medie patratica a cererii SQP(K)');

writeln('Probabilitatea ruperii de stoc PR(K)');

writeln('Costul mediu de lansare comanda MCL(K)');

writeln('Costul mediu de penalizare MCP(K)');

writeln('Costul mediu de stocare MCS(K)');

writeln('Lotul optim de aprovizionare QOM(K)');writeln('Nivel critic al stocului AC(K)');

gotoxy(1,20);

write('=======================================================

====');

writeln('=================================');

gotoxy(1,19);

write(' K MT(K) MQ(K) SQP(K) PR(K) MCL(K) ');

writeln('MCP(K) MCS(K) QOM(K) AC(K)');

gotoxy(6,4);

write(f,' REZULTATELE PT. FIECARE CICLU DE SIMULARE');

20

Page 21: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 21/55

 

gotoxy(6,5);

write(f,' ------------------------------------------');

gotoxy(1,7);

writeln(f,'NOTATII:');

writeln(f,'Ciclu de simulare K');

writeln(f,'Perioada medie intre 2 reaprovizionari MT(K)');

writeln(f,'Cererea medie zilnica MQ(K)');

writeln(f,'Abaterea medie patratica a cererii SQP(K)');

writeln(f,'Probabilitatea ruperii de stoc PR(K)');

writeln(f,'Costul mediu de lansare comanda MCL(K)');

writeln(f,'Costul mediu de penalizare MCP(K)');

writeln(f,'Costul mediu de stocare MCS(K)');writeln(f,'Lotul optim de aprovizionare QOM(K)');

writeln(f,'Nivel critic al stocului AC(K)');

gotoxy(1,20);

write(f,'======================================================

=====');

writeln(f,'=================================');

gotoxy(1,19);write(f,' K MT(K) MQ(K) SQP(K) PR(K) MCL(K) ');

writeln(f,'MCP(K) MCS(K) QOM(K) AC(K)');

rand:=19;

gotoxy(1,21);

end;

{Procedura scriere cap tabel si afisare rezultate fiecare ciclu - continuare}

procedure cap_tabel_cont;

begin

gotoxy(6,4);

21

Page 22: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 22/55

 

write(' REZULTATELE PT. FIECARE CICLU DE SIMULARE');

gotoxy(6,5);

write(' ------------------------------------------');

gotoxy(1,7);

writeln('NOTATII:');

writeln('Ciclu de simulare K');

writeln('Perioada medie intre 2 reaprovizionari MT(K)');

writeln('Cererea medie zilnica MQ(K)');

writeln('Abaterea medie patratica a cererii SQP(K)');

writeln('Probabilitatea ruperii de stoc PR(K)');

writeln('Costul mediu de lansare comanda MCL(K)');

writeln('Costul mediu de penalizare MCP(K)');writeln('Costul mediu de stocare MCS(K)');

writeln('Lotul optim de aprovizionare QOM(K)');

writeln('Nivel critic al stocului AC(K)');

gotoxy(1,20);

write('=======================================================

====');

writeln('=================================');gotoxy(1,19);

write(' K MT(K) MQ(K) SQP(K) PR(K) MCL(K) ');

writeln('MCP(K) MCS(K) QOM(K) AC(K)');

gotoxy(1,20);

write('=======================================================

====');

writeln('=================================');

gotoxy(1,19);

write(' K MT(K) MQ(K) SQP(K) PR(K) MCL(K) ');

writeln('MCP(K) MCS(K) QOM(K) AC(K)');

rand:=19;

gotoxy(1,21);

22

Page 23: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 23/55

 

end;

{Procedura de afisare a rezultatelor finale}

procedure rez_finale;

begin

gotoxy(10,5);

writeln('**************************************************************

****');

gotoxy(10,7);

writeln(' R E Z U L T A T E F I N A L E');

gotoxy(10,8);

writeln(' pentru ',nc:2,'cicluri de simulare');gotoxy(10,10);

writeln('**************************************************************

***');

gotoxy(10,11);

writeln(' Perioada optima intre 2 reaprovizionari : ',ft:9:4);

gotoxy(10,12);

writeln(' Cererea medie zilnica calculata : ',fq:9:4);gotoxy(10,13);

writeln(' Costul mediu de lansare calculat : ',fcl:9:4);

gotoxy(10,14);

writeln(' Costul mediu de penalizare calculat : ',fcp:9:4);

gotoxy(10,15);

writeln(' Costul mediu de stocare calculat : ',fcs:9:4);

gotoxy(10,16);

writeln(' Media abaterii medie patratice : ',sqf:9:4);

gotoxy(10,17);

writeln(' Media lotului optim de aprovizionare : ',qof:9:4);

gotoxy(10,18);

writeln(' Nivel critic mediu al stocului : ',fac:9:4);

23

Page 24: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 24/55

 

gotoxy(10,19);

writeln(' Probabilitatea medie a ruperii de stoc : ',fpr:9:4);

gotoxy(10,20);

writeln('**************************************************************

***');

for i:=6 to 20 do begin

gotoxy(10,i);

writeln('*');

gotoxy(75,i);

writeln('*');

end;

gotoxy(10,8);writeln(f,'************************************************************

***');

gotoxy(10,10);

writeln(f,' R E Z U L T A T E F I N A L E');

gotoxy(10,11);

writeln(f,' pentru ',nc:2,'cicluri de simulare');

gotoxy(10,13);writeln(f,'************************************************************

***');

gotoxy(10,14);

writeln(f,' Perioada optima intre 2 reaprovizionari : ',ft:9:4);

gotoxy(10,15);

writeln(f,' Cererea medie zilnica calculata : ',fq:9:4);

gotoxy(10,16);

writeln(f,' Costul mediu de lansare calculat : ',fcl:9:4);

gotoxy(10,17);

writeln(f,' Costul mediu de penalizare calculat : ',fcp:9:4);

gotoxy(10,18);

writeln(f,' Costul mediu de stocare calculat : ',fcs:9:4);

24

Page 25: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 25/55

 

gotoxy(10,19);

writeln(f,' Media abaterii medie patratice : ',sqf:9:4);

gotoxy(10,20);

writeln(f,' Media lotului optim de aprovizionare : ',qof:9:4);

gotoxy(10,21);

writeln(f,' Nivel critic mediu al stocului : ',fac:9:4);

gotoxy(10,22);

writeln(f,' Probabilitatea medie a ruperii de stoc : ',fpr:9:4);

gotoxy(10,23);

writeln(f,'************************************************************

***');

end;

{Procedura 3}

procedure proced3;

begin

rest:=teta-tt;

if rest=0 then vb:=falseelse

begin

generare_t2(t2);

if t2>rest then t2:=rest;

l:=l+1;

tt:=tt+t2;

sq:=0;na:=0;

for t:=1 to t2 do begin

generareq(z,x);

sq:=sq+q;

si:=si-q;

if si>c then begin

25

Page 26: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 26/55

 

tcs[k]:=tcs[k]+cs*si;

ts:=ts+si;

end

else begin

tcp[k]:=tcp[k]+cp*(c-si);

na:=na+(c-si);

p:=p+1;

if si>0 then tcs[k]:=tcs[k]+ts*si;

end;

end;

tcl[k]:=tcl[k]+cl*(na+q0);

si:=si+na+q0;tna:=tna+na;

msq[l]:=sq/t2;

smq:=smq+msq[l];

end;

end;

{procedura 2}

procedure proced2;

begin

tcl[k]:=0;tcs[k]:=0; tcp[k]:=0;pr[k]:=0;tt:=0;ts:=0;smq:=0;

l:=0;sp:=0;p:=0;tna:=0;

vb:=true;

while vb do proced3;

mq[k]:=0;

mt[k]:=tt/l;

s1:=0;

for i:=1 to l do begin

26

Page 27: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 27/55

 

mq[k]:=mq[k]+msq[i]/l;

s1:=s1+msq[i]/l;

end;

s2:=0;

for i:=1 to l do s2:=s2+sqr(msq[i]-mq[k]);

sqp[k]:=sqrt(s2/l);

pr[k]:=p/teta;

if tna+q0*l<>0 then mcl[k]:=tcl[k]/(tna+q0*l)

else mcl[k]:=0;

if tna<>0 then mcp[k]:=tcp[k]/tna

else mcp[k]:=0;

if ts<>0 then mcs[k]:=tcs[k]/tselse mcs[k]:=0;

if (mcs[k]*mcp[k]<>0) then begin

s1:=2*mq[k]*mt[k]*mcl[k]*(mcs[k]+mcp[k])/(mcs[k]*mcp[k]);

if s1<0 then qom[k]:=sqrt(-s1)

else qom[k]:=sqrt(s1);

end

else qom[k]:=0;ac[k]:=mt[k]*mq[k]+pr[k]*sqp[k]*sqrt(mt[k]);

write(k:2,' ',mt[k]:5:2,' ',mq[k]:7:2,' ',sqp[k]:7:2);

write(' ',pr[k]:3:2,' ',mcl[k]:7:2,' ',mcp[k]:7:2);

writeln(' ',mcs[k]:7:2,' ',qom[k]:8:2,' ',ac[k]:7:2);

write(f,k:2,' ',mt[k]:5:2,' ',mq[k]:7:2,' ',sqp[k]:7:2);

write(f,' ',pr[k]:3:2,' ',mcl[k]:7:2,' ',mcp[k]:7:2);

writeln(f,' ',mcs[k]:7:2,' ',qom[k]:8:2,' ',ac[k]:7:2);

rand:=rand+1;

if (rand=24) then begin

ch:=readkey;

27

Page 28: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 28/55

 

clrscr;

cap_tabel_cont;

end;

end;

{procedura 1}

procedure proced1;

begin

citeste;

randomize;

ft:=0;fq:=0;fcp:=0;fcs:=0;sqf:=0;qof:=0;fac:=0;fpr:=0;

rand:=0;clrscr;

cap_tabel;

for k:=1 to nc do proced2;

ch:=readkey;

for k:=1 to nc do begin

ft:=ft+mt[k]/nc;

fq:=fq+mq[k]/nc;fcl:=fcl+mcl[k]/nc;

fcp:=fcp+mcp[k]/nc;

fcs:=fcs+mcs[k]/nc;

sqf:=sqf+sqp[k]/nc;

qof:=qof+qom[k]/nc;

fac:=fac+ac[k]/nc;

fpr:=fpr+pr[k]/nc;

end;

clrscr;

rez_finale;

end;

28

Page 29: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 29/55

 

{PROGRAMUL PRINCIPAL}

begin

grDriver:=Detect;

InitGraph(grDriver,grMode,' ');

ErrCode:=GraphResult;

if ErrCode=grOK then begin

setbkcolor(blue);

setcolor(yellow);

outtextxy(130,150,'SIMULARE-GESTIUNEA STOCULUI');

outtextxy(130,170,'--------------------');

outtextxy(230,190,'aplicat unui depozit');

outtextxy(230,210,'------------');readln;

restorecrtmode;

ch:=' ';

assign(f,'stoc.txt');

rewrite(f);

repeat proced1;

gotoxy(12,24);write('Doriti o noua simulare (D/N)?:');

readln(ch);

until (ch='n') or (ch='N');

setgraphmode(getgraphmode);

closegraph

end

else

WriteLn('Eroare la initializarea grafica:',GraphErrorMsg(ErrCode));

end.

În urma rulării în TP a codului de mai sus, apare următoarea fereastră în care introducem

datele iniţiale după cum urmează:

29

Page 30: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 30/55

 

 Figura 8: Introducerea datelor iniţiale

VI. Rezultate

VI.1 Simulare cu ajutorul Turbo Pascal Simularea primei politici de aprovizionare

În urma rulării programului pentru 1000 cicluri de simulare, rezultatele sunt puse în fisierul

 stoc1.txt şi afişate în figura de mai jos:

30

Page 31: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 31/55

 

 Figura 9: Rezultatele pentru primele 30 de cicluri de simulare

 Iteraţia 1:

Observăm în tabelul de mai sus că după primul ciclu de simulare,  perioada medie între 2

reaprovizionări (MT(K)) rezultată este de 8.33 zile; cererea medie zilnică calculată (MQ(K)) după

 prima iteraţie este 5.15 instalaţii termice; probabilitatea ruperii de stoc (PR(K)) este 0.3, costul 

mediu de lansare a comenzii (MCL(K)) este 50, deoarece este tot timpul fix indiferent de cantitatea

comandată, costul mediu de penalizare (MCP(K)) este 15 lei; costul mediu de stocare (MCS(K))

 pe parcursul celor 30 de zile este 13.67 lei; lotul optim de aprovizionare (QOM(K)) este 25 buc.

 Iteraţia 2:

Pentru cea de-a doua iteraţie, a rezultat o perioadă medie de reaprovizionare de 10 zile;

cererea medie zilnică calculată rezultată este de 4.83 instalaţii; probabilitatea ruperii de stoc este

31

Page 32: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 32/55

 

0.16; costul mediu de penalizare este tot 15 lei, costul mediu de stocare a crescut la 18 lei, iar lotul 

optim de aprovizionare 24.29 buc.

 Iteraţia 3:

După încă 30 de zile se simulare, au reieşit următoarele rezultate: perioada medie între 2

reaprovizionări de 10 zile, cererea medie zilnică calculată 5 zile, probabilitatea ruperii de stoc

0.12, costul mediu de penalizare este tot 15 lei, costul mediu de stocare este 14.76 lei, lotul optim

de aprovizionare 25 de buc.

În urma rulării programului pentru 1000 de cicluri de simulare, am obţinut rezultatele din

figura de mai jos:

 Figura 10: Rezultatele medii finale dupa 1000 cicluri de simulare

Sursa: prelucrari proprii in TP 

Pe baza acestor rezultate, putem spune că situaţia gestiunii stocului la depozitul de instalaţii

termice este favorabilă, activitatea depozitului putând fi îmbunătăţită prin reaprovizionarea la

intervale de 9-10 zile cu o cantitate de 16-17 instalaţii de încălzire, dată de media lotului optim de

reaprovizionare. În acest caz, costul mediu de penalizare calculat este de 58.6 lei, iar costul de

stocare de 13.29 lei. O soluţie ar fi încheierea unor contracte corespunzătoare cu furnizorii săi. Simularea celei de-a doua politici de aprovizionare

În cazul în care aprovizionarea se face cu o cantitate constantă Q0=40 buc., iar  stocul 

iniţial  este S0=30 de instalaţii de incălzire, dacă rulăm programul pentru 1000 de cicluri de

simulare, obţinem următoarele rezultate:

32

Page 33: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 33/55

 

 Figura 11: Datele iniţiale ale problemei

Dacă managerul firmei ar decide mărirea cantităţii cu care se face aprovizionarea la 40 de

 buc. (lotul de aprovizionare) şi mărirea stocului iniţial la 30 de instalaţii termice, rezultatele ar fi

următoarele (fişierul stoc2.txt ):

 Figura 12: Rezultatele pentru 12 cicluri de simulare

33

Page 34: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 34/55

 

 Figura 13: Rezultatele medii finale după cele 1000 cicluri de simulare

Analizând aceşti indicatori, observăm că perioada opimă între 2 reaprovizionări este

aceeaşi ca şi cea rezultată în urma simulării primei politici de aprovizionare; în schimb, costulmediu de penalizare calculat a scăzut de la 58.6 lei la aproape jumătate 28 lei, ceea ce constituie un

avantaj al celei de-a doua politici în sensul diminuării riscului de a avea cerere neacoperită şi, prin

urmare, de a înregistra penalizări.

Observăm că cheltuielile medii de stocare au scăzut şi ele la 11.22 lei; deşi ne-am fi

aşteptat ca acestea să crească din cauza faptului că a crescut cantitatea intrată în stoc, acest lucru nu

s-a întâmplat, deoarece cererea de instalaţii termice este mare, iar produsele nu au rămas mult timp

în stoc. Ca o consecinţă, observăm că probabilitatea medie a ruperii de stoc a scăzut semnificativ.

În concluzie, putem spune că cea de-a doua politica de aprovizionare este mai eficientă

decât prima, deoarece reduce cheltuielile de stocare şi în special pe cele de penalizare.

VI.2 Simulare cu ajutorul produsului software QMÎn continuare, folosind produsul software QM, am simulat activitatea de gestiune a stocului

de instalaţii de încălzire pentru firma Mob-Install, luând în considerare politica actuală de

aprovizionare a firmei, şi anume, prima politică decrisa mai sus. Din meniul principal, am selectat

Simulation, iar în cadrul acesteia am ales simularea unui stoc (Inventory Simulation).

34

Page 35: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 35/55

 

 Figura 14: Meniul principal în QM 

 Figura 15: Alegerea tipului de simulare

Alegând opţiunea de a crea o nouă problemă, am introdus titlul acesteia: Simulare,

35

Page 36: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 36/55

 

 Fig. 16: Introducerea datelor iniţiale

numărul de iteraţii dorite şi anume 1000, numărul de cereri 7 bucăţi şi numărul de zile de la

lansarea comenzii până la primirea materialelor (durata de aşteptare a comenzii): 5 zile.

Am specificat apoi că costul de lansare a comenzii (ordering cost, exprimat în lei/comandă)

este de 50 lei/comanda, iar costul de stocare (holding cost ) este de 10 lei/buc. Shortage cost 

reprezintă costul de penalizare care este de 15 lei/instalaţie de încălzire.  Business days reprezintă

 perioada de gestiune (1 an), iar min şi max order quantity reprezintă cantitatea minimă şi cea

maximă de instalaţii de încălzire comandată şi anume, o cantitate constantă de 15 instalaţii de

încălzire. Min şi max reorder point reprezintă cantitatea minimă şi cea maximă existentă în stoc în

momentul lansării comenzii, în cazul nostru, minimul este 0, iar maximul este 7 buc. Stocul iniţial

(iniţial inventory) este de 20 de instalaţii.

Am introdus apoi cererea de instalaţii de încălzire şi probabilităţile acesteia, dar şi durata

de reaprovizionare, cu probabilităţile de apariţie aferente acesteia.

După ce am introdus datele că în figura de mai sus, am rulat programul, iar rezultatele

obţinute sunt cele de mai jos:

36

Page 37: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 37/55

 

 Figura 17: Rezultatele simulării în QM 

Observăm că datele de intrare sunt afişate din nou aşa cum le-am introdus iniţial; mai jos

sunt afişate probabilităţile pentru cerere şi durata de reaprovizionare, dar sunt calculate şi

 probabilităţile cumulative pentru aceste două variabile:

 Figura 18

Mai departe, sunt afişate rezultatele programului (program output):

37

Page 38: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 38/55

 

 Figura 19

Observăm că la o aprovizionare cu o cantitate constantă de 15 instalaţii, la un nivel al

stocului de 3 instalaţii, costul total este de 29294 lei anual, dar din rezultate constatăm că aceasta

nu este cea mai bună soluţie. Cel mai bine este că firma să se aprovizioneze cu 15 instalaţii de

încălzire la un nivel al stocului de 2 instalaţii, iar în acest, observăm că este vorba despre un cost

total de 28213 lei, care este minimul ce poate fi obţinut.

38

Page 39: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 39/55

 

 Figura 20

În figura de mai jos, observăm că rezultatele finale după cele 1000 de iteraţii sunt, aşa cum

le-am descris şi mai sus, următoarele:

Cost mimin total de (anual): 28213.255 lei;

Cantitatea minimă comandată (în acest caz este constantă): 15 instalaţii;

 Nivelul critic al stocului: 2 instalaţii.

 Figura 21: Rezultatele finale în QM 

Concluzii:

În concluzie, putem spune că decizia finală privind un anumit nivel de lansare a comenzii o

reprezintă alegerea uneia dintre cele mai bune soluţii obţinute prin simulare. Aşadar, observăm că

cel mai mic cost total de 28213 lei se obţine dacă aprovizionarea se va face cu 15 instalaţii, la un

nivel critic al stocului de 2 buc.

VI.3 Simulare cu ajutorul produsului software Excel

În tabelul de mai jos sunt prezentate calculele necesare pentru simularea procesului de

stocare în conditiile date:

Pentru construirea capului de tabel am folosit următoarele notaţii:

39

Page 40: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 40/55

 

Zi-ziua curentă din orizontul de simulare;

Si-nivelul stocului din ziua curentă înainte de satisfacerea cererii;

Q-cantitatea intrată în stoc;

ri-cererea din ziua curentă;

ri*-cererea zilnică nesatisfacută;

Cs-cheltuieli de stocare în ziua curentă;

D-durata de reaprovizionare;

Cp- cheltuieli de penalizare în ziua curentă;

Cl-cheltuieli de lansare în ziua curentă;

Ct-cheltuieli totale (stocare, penalizare, lansare);

 Iteratia 1:

Tabelul 3

40

Page 41: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 41/55

 

Am calculat pentru prima iteraţie (30 de zile) cererea totală, costul total de stocare, costul

total de penalizare, costul total de stocare, costul total de lansare a comenzii şi costul total la

sfârşitul celor 30 de zile. Rezultatele sunt subliniate cu roşu în tabelul de mai sus. Observăm că am

obţinut un cost de stocare de 550 de lei, un cost de penalizare destul de mare (1620 lei), iar costul

total este de 2270 lei.

În continuare, voi prezenta structura cheltuielilor.

Cheltuieli Valoare (lei) Structura cheltuielilor

(%)

Cheltuieli de stocare 550 24%

Cheltuieli de penalizare 1620 71%Cheltuieli de lansare 100 5%

Cheltuieli totale 2270 100%

 Figura 22: Structura cheltuielilor pentru prima iteraţie

Dacă analizăm acest tabel, observăm că ponderea cheltuielilor de penalizare este foarte

mare în cheltuielile totale (71 %) faţă de numai 24% cât reprezintă cheltuielile de stocare. Acest

lucru se datorează faptului că durata de reaprovizionare este foarte mare, iar firma nu poate decide

lansarea unei noi comenzi până în momentul în care nu soseşte comandă în curs. Faptul că timpul

dintre lansarea unei comenzi şi momentul primirii acesteia este mare este din cauză că furnizorii de

instalaţii de încălzire sunt situaţi la mare distanţă de sediul firmei, iar costul de lansare a comenzii

este ridicat.

 Iteraţia 2:

În Anexă, figura 1 conţine ce de-a doua iteraţie a simulării. Observăm că de această dată,

cheltuielile totale sunt mai mici (2105 lei), iar ponderea cheltuielilor de penalizare este şi deaceastă dată cea mai mare.

 Iteraţia 3:

În urma simulării pe un orizont de alte 30 de zile (iteraţia 3, figura 2 din Anexă), a rezultat

o valoare a cheltuielilor totale de 2295 lei şi din nou cheltuielile de penalizare au cea mai mare

 pondere.

41

Page 42: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 42/55

 

Rezultate medii

În figurile 3, 4, 5,6,7 şi 8 din Anexă se regăsesc restul paşilor simulaţi în Excel. Aşa cum

se observă, am folosit funcţia IF pentru a nu introduce manual datele şi pentru a parcurge cât mai

mulţi paşi.

În urma celor 350 de paşi realizaţi în cadrul procesului de simulare cu ajutorul Excel, am

calculat valorile medii ale următoarelor elemente:  perioada optimă între două reaprovizionări

 successive, cererea medie zilnică, costul mediu de stocare, costul mediu de penalizare şi costul 

total mediu.

Observăm în figura de mai jos că perioada optimă între două reaprovizionări succesive

rezultată este de aproximativ 10 zile, ceea ce înseamnă că durata de reaprovizionare optimă trebuie

să fie de 10 zile. Cererea medie zilnică de instalaţii de încălzire este de 5.09 buc., lucru pe care îl

ştiam din ipoteză. Costul mediu zilnic de stocare este destul de mic (12.29 lei); în schimb costulmediu zilnic de penalizare este de 58.8 lei; costul mediu zilnic total calculat este de 75.13 lei.

În urma obţinerii acestor rezultate, putem spune că pentru a obţine o situaţie favorabilă a

gestiunii stocului la depozitul de instalaţii, managerul poate îmbunătăţi activitatea firmei prin

reaprovizionarea depozitului la intervale fixe de 9-10 zile cu o cantitate de 15-16 instalaţii. Acest

lucru poate fi realizat prin încheierea unor contracte corespunzătoare cu furnizorii firmei.

 Figura 23:Rezultatele medii finale după 350 de paşi

VI.4 Simularea celei de-a treia politici de aprovizionare cu ajutorul TPPentru a vedea daca posibilitatea lansării unei comenzi speciale imbunatăţeste activitatea

de gestiune a stocurilor la firma Mob-Install, am rulat în TP următorul cod:

uses crt;

type vector=array[1..2000] of real;

42

Page 43: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 43/55

 

var r,s,rS,sf,ctv,csv,cqSv,cdv,cpv,qSv,qv:vector;

qi,cqi,t,i,n,q,cq,csup,cs7,s0,aa,bb,tau,cp7,cd7:integer;

tcd,tcs,tcp,tct,tcqS,cd,tcdm,tcsm,tcqSm,cua,tcpm,tctm,cqS,qS,x,z,cs,cp,ct:real;

o:string;

f:text;

function generarer(a,b:real):integer;var suma,unif:real;k:integer;

ok:boolean;

 begin

repeat

ok:=true;

suma:=0;

for k:=1 to 12 do beginunif:=random(1000)/1000;

suma:=suma+unif;

end;

suma:=suma-6;

suma:=sqrt(b)*suma+a;

generarer:=round(suma);

if (suma>a+b) or (suma<a-b) then ok:=false;

until ok;

end;

 procedure generaretau;

var z:real;

tau:integer;

43

Page 44: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 44/55

 

 begin

if (z>=0) and (z<0.2) then tau:=4;

if (z>=0.2) and (z<0.6) then tau:=8;

if (z>=0.6) and (z<0.75) then tau:=12;

if (z>=0.75) and (z<0.9) then tau:=16;

if (z>=0.9) and (z<=1) then tau:=20;

end;

 procedure init;

 begin

write('Stocul initial(S0):');readln(s[1]);

write('Costul de lansare(CQ):');readln(cqi);

write('Cantitatea comandata(Q):');readln(qi);write('Numar de zile simulate(N):');readln(n);

write('Costul unitar de stocare(cs):');readln(cs7);

write('Cost unitar suplimentar(Csup):');readln(csup);

write('Cererea medie(rm):');readln(aa);

write('Dispersia cererii(sigma):');readln(bb);

cq:=cqi;

q:=qi;tcqS:=0;

tct:=0;

tcs:=0;

tcp:=0;

tcd:=0;

t:=0;

t:=0;

i:=1;

end;

44

Page 45: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 45/55

 

 procedure trei;

 begin

tct:=tct+ct;

if i<n then

begin

i:=i+1;

o:='1';

end

else

begin

tcdm:=tcd/n;tcsm:=tcs/n;

tcqSm:=tcqS/n;

tcpm:=tcp/n;

tctm:=tct/n;

o:='d';

end;

end; procedure doi;

 begin

generaretau;

t:=i+tau;

x:=(random(1000))/1000;

if x<=0.6 then begin

cqS:=qS*(csup+cua);

cqSv[i]:=cqS;

tcqS:=tcqS+cqS;

ct:=cqS+cq;

ctv[i]:=ct;

qSv[i]:=qS;

45

Page 46: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 46/55

 

qv[i]:=0;

end

else begin

cp:=rS[i]*cp7;

cpv[i]:=cp;

tcp:=tcp+cp;

ct:=cp+cq;

ctv[i]:=ct;

qSv[i]:=0;

qv[i]:=0;

end;

s[i+1]:=0;o:='3';

trei;

end;

 procedure procA;

 begin

tcs:=tcs+cs;

ct:=cd+cs;ctv[i]:=ct;

s[i+1]:=sf[i]; {!!!!!!!!!}

trei;

end;

 procedure unu;

 begin

if i=t then s[i]:=s[i]+q;

r[i]:=generarer(aa,bb);

if s[i]>=r[i] then

begin

sf[i]:=s[i]-r[i];

cd:=s[i]*cd7;

46

Page 47: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 47/55

 

cdv[i]:=cd;

tcd:=tcd+cd;

cs:=sf[i]*cs7;

csv[i]:=cs;

o:='A';

q:=qi;

end

else begin

rS[i]:=r[i]-s[i];

qS:=rS[i];

if i>=t then beginq:=qi;

qv[i]:=q;

cq:=cqi;

z:=random(1000)/1000;

end

else begin

cq:=0;end;

o:='2';

end;

if o='A' then procA;

if o='2' then doi;

end;

 begin

init;

repeat

unu;

until o='d';

47

Page 48: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 48/55

 

assign(f,'simulare2.txt');

rewrite(f);

writeln(' k S r Sf r* Q* Q CQ* CP CS CT');

writeln('-----------------------------------------------------------');

writeln(f,' k S r Sf r* Q* Q CQ* CP CS CT');

writeln(f,'-----------------------------------------------------------');

for i:=1 to n do writeln(f,i:3,' ',s[i]:4:0,' ',r[i]:2:0,' ',sf[i]:4:0,' ',rS[i]:2:0,'

',qSv[i]:4:0,' ',qv[i]:4:0,' ',cqSv[i]:6:0,' ',cpv[i]:6:0,' ',csv[i]:6:0,' ',ctv[i]:6:0,' ');

writeln(f,'TCDM=',tcdm:6:0,' ','TCSM=',tcsm:6:0,' ','TCQ*M=',tcqSm:6:0,'

','TCPM=',tcpm:6:0,' ','TCTM=',tctm:6:0);

writeln('TCDM=',tcdm:6:0,' ','TCSM=',tcsm:6:0,' ','TCQ*M=',tcqSm:6:0,'

','TCPM=',tcpm:6:0,' ','TCTM=',tctm:6:0);close(f);

end.

Am introdus apoi datele iniţiale ale problemei de stocare după cum urmează:

 Figura 24: Datele iniţiale ale celei de-a treia politici de aprovizionare

În urma rulării programului pentru 30 de zile de simulare, am obţinut următoarele rezultate

(fişierul simulare2.txt ):

48

Page 49: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 49/55

 

 Figura 25: Rezultatele simulării pentru 30 de zile

Observăm în figura de mai sus, că a rezultat un cost total mediu de 202 lei.

VII. ConcluziiÎn urma studierii activităţii de stocare existentă la momentul actual în cadrul firmei Mob-

Install, am constatat că aceasta nu adoptă o politică de aprovizionare potrivită. Argumentul este că,

în urma celor 1000 de cicluri de simulare, am constatat că în cadrul procesului de aprovizionare cu

 produsul instalaţii termice de încălzire, firma trebuie să suporte un cost de penalizare foarte mare

din pricina faptului că cererea este foarte mare, iar cantitatea comandată de la furnizori este

insuficientă.

O soluie în acest sens este modificarea contractelor cu furnizorii şi mărirea cantităţiicomandate de la aceştia pentru ca numărul de instalatii termice vândute să crească, iar costurile de

  penalizare să scadă. Aşadar, am simulat o altă politică de aprovizionare în care cantitatea

comandata era mai mare, iar rezultatele au fost pe măsura aşteptarilor.

49

Page 50: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 50/55

 

Mai departe, am testat o altă politica de aprovizionare prin care firma poate lua în

considerare posibilitatea unei comenzi speciale. Rezultatele în urma celor 1000 de cicluri de

simulare au sugerat însă, că lansarea unei asemenea comenzi creşte costul total mediu de stocare.

În concluzie, pe baza celor 1000 de iteraţii, am constatat că cea mai bună politică de

aprovizionare este cea de-a doua, şi anume în care cantitatea comandată de la furnizori este de 40

de instalaţii termice, iar ca o sugestie, comandă specială ar trebui şi ea luată în calcul din când în

când, pentru că deşi costurile totale cresc, profitul firmei ar putea creşte şi el.

VIII. Anexa

 Iteraţia 2

 Figura 1: Iteraţia 2

50

Page 51: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 51/55

 

 Iteraţia 3

 Figura 2: Iteraţia 3

51

Page 52: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 52/55

 

 

  Figura 3: Simulare în Excel Figura4: Simulare în Exc

52

Page 53: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 53/55

 

 

  Figura 5: Simulare în Excel Figura 6: Simulare în Excel 

53

Page 54: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 54/55

 

  Figura 7: Simulare în Excel Figura 8: Simulare în Excel 

IX. Bibliografie

Dobre, I., Musta , F., & P un, M. (2000).ţă ă Simularea numeric a proceselor economice.ă  

Bucureşti: Editura ASE.

Dobre, I., Musta F., & Stoica, M. (2006).ţă Simularea proceselor economice. Bucureşti:

Editura Inforec.

54

Page 55: Barabas Camelia Simulare

5/14/2018 Barabas Camelia Simulare - slidepdf.com

http://slidepdf.com/reader/full/barabas-camelia-simulare 55/55

 

Ra iu-Suciu, C. (2005).ţ Modelarea şi simularea proceselor economice:teorie şi

 practic .ă Bucureşti: Editura economic .ă

***.,http://www.contabilizat.ro/file/cursuri_de_perfectionare/economie_generala/model

area_si_simularea_proceselor_economice_sinteza/cap8.pdf .

55