1.3 Fasi della simulazione
Le operazioni di codificazione necessarie per costruire un modello vanno inquadrate in un processo di studio del
sistema che segue diversi passi.
Questo processo non è una semplice sequenza di fasi, infatti è necessario ritornare al passo precedente ogni volta che si
acquisiscono conoscenze sempre più approfondite sul sistema.
Il processo di studio del sistema si può suddividere nelle seguenti fasi:
- Formulazione del problema:viene definito il sistema da studiare e i suoi obiettivi.
- Raccolta dati:si raccolgono osservazioni e dati quantitativi sul sistema.
- Costruzione del modello:si formulano delle ipotesi e si costruisce il modello.
- Validazione:è necessario confrontare le caratteristiche del modello con quelle del sistema tenendo conto di dati sempre più approfonditi per far aumentare la credibilità del modello.
- Costruzione del programma:si scrive il programma in un linguaggio generico o di simulazione. L'impiego di un simulatore user-friendly può semplificare molto questa attività rispetto all'utilizzo di un linguaggio generico di programmazione.
- Validazione:si effettuano dei pilot run per vedere se gli output del modello si avvicinano agli output di un sistema già esistente avente le stesse caratteristiche del modello. Se gli output non sono in accordo allora si modificano le ipotesi e il modello stesso.
- Definizione fase sperimentale:si devono stabilire i valori ottimali del tempo di simulazione, delle condizioni iniziali, del warm-up period, e il numero di run di simulazione necessari.
- Fase sperimentale:si effettuano i run di simulazione.
- Analisi dei risultati:vengono elaborati i risultati utilizzando le tecniche della statica per costruire intervalli di confidenza per le misure delle prestazioni del sistema.
- Presentazione dei risultati e loro implementazione.

Fig. 1.1- Flow chart di simulazione
L'utilizzo di tecniche di simulazione coinvolge normalmente tre tipi di variabili che caratterizzano il funzionamento del sistema
considerato:
- variabili di decisione:riguardano le scelte del progettista nell'ambito delle alternative progettuali disponibili per quanto riguarda la configurazione del sistema e le politiche operative adottate;
- variabili di prestazione:riguardano i parametri utilizzati come indici delle prestazioni fornite dal sistema;
- variabili esogene o vincoli:riguardano le limitazioni imposte dal progettista, sia per quanto concerne la configurazione dell'impianto che le condizioni operative previste per il suo funzionamento.
Il programma di simulazione fornisce, per ogni iterazione, una serie di osservazioni relative alle variabili di prestazione
(variabili dipendenti) in corrispondenza di assegnati valori delle variabili di decisione e delle variabili esogene (variabili
indipendenti) ed inoltre consente il monitoraggio continuo del loro andamento, come rappresentato in figura 1.1.
Gli elementi che caratterizzano la struttura logica di un modello di simulazione stocastico a eventi discreti di tipo dinamico
- che equivale al modello più adatto per l'analisi dei sistemi logistico-produttivi - sono:
- ENTITA': oggetti o persone in transito attraverso il sistema (es. pezzi in lavorazione o unità di carico movimentate);
- MACCHINE:componenti del sistema che effettuano specifiche attività sulle entità in transito e tutte le risorse che erogano un qualsiasi servizio nel sistema simulato(es. mezzi di produzione o di movimentazione);
- STATI:le variabili di stato del sistema sono l'insieme di variabili numeriche e logiche che contengono tutte le informazioni necessarie a descrivere la situazione del sistema stesso in ogni istante di tempo;
- ATTRIBUTI:le variabili permanenti (numeriche o logiche) che caratterizzano stabilmente le grandezze relative alle entità o alle risorse del sistema.
- ATTIVITA':operazioni effettuate dalle macchine sulle entità in transito(ad esempio quelle di trasformazione o movimentazione). A ciascuna attività è associata una durata, di tipo deterministico o stocastico, nota all'inizio dell'attività stessa (il ritardo di un'entità in una coda non è un'attività in quanto non ha una durata nota ma dipende dal verificarsi di certe condizioni).
- CODE:insieme di entità in attesa di accedere a specifiche macchine secondo definite regole di priorità.
- EVENTO:istantaneo verificarsi di un fenomeno che modifica lo stato del sistema. Ad esempio il prelievo di un'entità da una coda di attesa costituisce un evento, sia perché il magazzino viene a contenere un numero minore di parti, sia perché si modifica la situazione generale del sistema. In corrispondenza degli eventi si producono cambiamenti nelle variabili di stato.
- OPERAZIONI:sono le attività svolte dalle macchine (fasi attive) e provocate dal verificarsi di determinati eventi.
Le operazioni possono essere :
- immediate:conseguono immediatamente al verificarsi di un evento;
- condizionate:possono avvenire solo se sono soddisfatte determinate condizioni.
- SIMULATION CLOCK:è l'elemento che fornisce il tempo corrente di simulazione. Naturalmente non c'è alcuna relazione tra il tempo di simulazione e il tempo necessario per effettuare un run di simulazione sul calcolatore.
Prendendo come esempio un impianto di assemblaggio, le entità corrispondono ai prodotti in fase di completamento che transitano
attraverso le stazioni di lavoro;a ciascun tipo di entità corrisponde un assegnato ciclo di assemblaggio (attributo);
le macchine corrispondono alle stazioni di lavoro che effettuano operazioni di assemblaggio (attività) con durate diverse
a seconda del tipo di prodotto; le macchine possono trovarsi nello stato di libero o di occupato;
le code corrispondono ai buffer di accumulo dei prodotti in attesa di accedere alle stazioni che si trovano momentaneamente
allo stato di occupato.