Sei sulla pagina 1di 8

Simulazione di un magazzino

1 prodotto
SIMULAZIONE CON VBA

La domanda è generata ogni giorno sulla base della


1 2
distribuzione di probabilità

Il magazzino viene rifornito sulla base del lotto economico Il costo totale è dato dalla somma di tre tipologie di costo:
di acquisto (EOQ)

2 * costo di ordinazione * tasso * 365


Q* = = 3820.99
costo di giacenza
⇒ 3821

Q*
t* = = 19.105 ⇒ 19
tasso

consegna ogni 19 giorni


 ogni 19 giorni vengono consegnate 3821 unità di prodotto
 costo di ordinazione ogni 19 giorni
3 4
stock-out giacenza
 costo di penalità  costo di giacenza
5 6

Esempio di simulazione del sistema: Costruiamo ora l’applicazione in Excel e VBA.

Creiamo innanzitutto i seguenti fogli:

Foglio “dati” viene alimentato dalla macro “dati”

7 8
Selezionare Strumenti  Macro  Macro Inseriamo il codice in VBA nella subroutine dati():

Per selezionare il foglio “dati” e cancellarne il contenuto

Per intestare le colonne A e B con “Domanda” e “Probabilità”


9 10
e inserire “dati” nella casella Nome macro. Premere Crea

Per ogni occorrenza, chiedere l’inserimento della domanda


Per chiedere l’inserimento del numero di occorrenze della
e della corrispondente probabilità
distribuzione di probabilità della domanda:

e scrivere i corrispondenti valori nelle colonne A e B


11 12
Calcolare la cumulata


13 14

Calcolare il tasso di assorbimento come valore atteso della Chiedere l’inserimento degli altri dati
domanda e scriverlo nella cella F1

100*0.1 + 200*0.8 + 300*0.1

15 16
e scriverli nelle colonne E ed F
Foglio “eoq”

Il foglio “eoq” contiene il calcolo del lotto economico di acquisto


e del tempo intercorrente fra due ordini consecutivi

17 18

Foglio “simula” viene alimentato dalla macro “simula” Selezionare Strumenti  Macro  Macro
contiene un run di simulazione

19 20
ed inserire “simula” nella casella Nome macro
Selezionare il foglio “simula” e cancellarne il contenuto
Per ogni giorno della simulazione

Intestare le colonne del foglio “simula” (ricordarsi di chiudere il ciclo con Next)

a) Scrivere il numero del giorno nella colonna A

b) Generare un numero casuale compreso fra 0 e 1

21 22

c) Determinare la domanda corrispondente al numero casuale

Essendo il numero
casuale compreso
fra 0.1 e 0.9, la d) Scrivere la quantità consegnata al magazzino nel giorno
domanda
corrispondente
La quantità è pari a Q*=3821 nei giorni 1, 19, 38, …
è 200
e 0 negli altri giorni

23 24
Creiamo un contatore dei giorni. Lo incrementiamo di uno
e) Calcolare il livello della giacenza
per ogni giorno della simulazione. Quando il contatore assume un
valore multiplo di 19, allora il giorno corrente è un giorno
di consegna Giorno 1: quantità consegnata – domanda
Giorno t: livello giorno t-1 + quantità consegnata - domanda

codice già
! inserito

f) Calcolare i costi corrispondenti

Giorno 1 - di ordinazione
Giorni
succes-
25 26
sivi

- di giacenza
La macro dovrebbe ora eseguire un run di simulazione

Il tutto va ripetuto per il numero di simulazioni indicato


nella cella F6 del foglio “dati”
- di penalità

Suggerimento: utilizzare un ciclo For

For j=1 to numero_simulazioni


- costo totale
macro_precedente

Next
27 28
Ultimo step: aggiungere alla macro “simula” l’aggiornamento del

Foglio “costi”

In questo foglio vengono memorizzati i risultati di ogni


simulazione

Le colonne B:H contengono il totale delle colonne corrispondenti


29
del foglio “simula”

Potrebbero piacerti anche