Parte 4 Progettazione di una simulazione
Transcript
Parte 4 Progettazione di una simulazione
Parte 4 Progettazione di una simulazione 1 Fasi di uno studio di simulazione l’approccio a cascata Problema Sistema Analisi e validazione Modello concettuale Progettazione e test Programma di simulazione Esecuzione Statistiche Deployment Risultati 2 Fasi di uno studio di simulazione ANALISI PROGETTAZIONE ESECUZIONE (i) Interpretazione corretta dei problemi e la loro descrizione per mezzo di un linguaggio comune (ii) Descrizione del sistema in termini di processi, flussi decisionali e variabili di stato (iii) Identificazione di obiettivi, specifiche funzionali e misuratori di performance (iv) Raccolta di dati e individuazione delle distribuzioni di probabilità (v) Formulazione di un modello logico/matematico (vi) Discussione con esperti sulla validità del modello e delle sorgenti aleatorie (vii) Pianificazione del processo di sviluppo e della sperimentazione in termini di tempi, costi e risorse utilizzate 3 Analisi: descrizione del sistema e definizione del modello bIl livello di dettaglio/aggregazione e i confini del sistema dipendono dai propositi dello studio bLa definizione del modello prevede ; l’identificazione delle variabili di stato e dei valori che possono assumere ; l’identificazione degli eventi e delle transizioni di stato generate dagli eventi ; Un test di fitting sulle distribuzioni di probabilità utilizzate per generare i numeri casuali che realizzano gli scenari di simulazione 4 Analisi: dettaglio vs. sintesi un modello troppo dettagliato bè complesso e costoso da realizzare brichiede lunghi tempi per la raccolta dei dati bfornisce informazioni difficili da interpretare un modello troppo sintetico bnon contiene tutte le informazioni necessarie bnon coglie i comportamenti del sistema che si vogliono analizzare 5 Analisi: alcune regole pratiche bPartire da un modello elementare e progressivamente arricchirlo, ma… bla complessità del modello deve essere la minima necessaria per raggiungere gli scopi prefissati bCoinvolgere l’utilizzatore finale nella costruzione del modello bTenere conto di quali dati dovranno essere raccolti e di che onere computazionale sarà richiesto. Prototipazione ciclica 6 Fasi di uno studio di simulazione ANALISI PROGETTAZIONE ESECUZIONE (i) Scelta dell’ambiente e degli strumenti di sviluppo (ii) Realizzazione del software di simulazione (iii) Verifica del software e validazione del modello (i) Esecuzione run pilota e confronto dei risultati con misure sul sistema (se esistono) (ii) Analisi di sensitività (variazione dei risultati a seguito di piccole variazioni dell’input) 7 Progettazione: strumenti di sviluppo bLinguaggi general-purpose (C++, Fortran, Pascal, …) ; meno costosi e tipicamente più conosciuti e disponibili ; molto più flessibili ; i modelli richiedono meno tempo di calcolo perché realizzati ad-hoc bLinguaggi (e ambienti) di simulazione generali (Modsim, Siman, Arena) ; meno flessibili ma con caratteristiche specifiche per la simulazione ; costrutti elementari di programmazione che permettono una modellazione naturale ; minori tempi di sviluppo ; si ottengono modelli in generale più facili da modificare bSimulatori ; Sono pacchetti per la simulazione di specifici sistemi (call-center, centro di distribuzione, simulatori di volo) e permettono di definire una simulazione senza ricorrere ad attività di programmazione. ; Sono abbastanza facili da imparare ma poco flessibili 8 Progettazione: oggetti della simulazione bEntità: componente del sistema che richiede una rappresentazione esplicita nel modello e del cui stato si mantiene informazione nel corso della simulazione. ; Permanenti / Temporanee bAttributi: caratteristiche delle entità bRisorse: Sono in genere elementi del sistema che sono richiesti per svolgere attività ma che non svolgono attività bSet: insiemi di entità/risorse dello stesso tipo Se un elemento debba essere considerato una entità oppure una risorsa è in genere una scelta che compie chi costruisce il modello 9 Progettazione: operazioni La dinamica di un sistema discreto può essere descritta attraverso eventi, attività, processi. bUn evento è l'istante di tempo in cui si verifica un cambiamento dello stato del sistema (condizionati se coincidono sempre con altri eventi, primari altrimenti) bUna attività è un’operazione che svolge un’entità che inizia o finisce sempre con un evento bUn processo è una sequenza di eventi (e quindi di attività) che descrive il ciclo di vita di una entità 10 modellazione per processi: esempio processo dell’entità cliente in una coda con singolo servente: 1. Il cliente n entra nel sistema; 2. Creazione del processo relativo al cliente n + 1; 3. Il cliente n + 1 viene posto in stato di attesa fino al suo tempo di arrivo; 4. Il cliente n viene posto in stato di attesa fino a che non si trovi in testa alla coda ed il servente sia libero; 5. Il servente viene posto in stato di occupato; 6. Il cliente n viene tolto dalla coda; 7. Il tempo di servizio viene calcolato 8. Il cliente n viene posto in attesa fino a che il tempo di servizio non sia passato; 9. Il servente viene posto in stato di libero; 10. Il cliente n esce dal sistema. 11 Progettazione: diagramma dei processi bE’ un grafo orientato che descrive i processi e le interrelazioni fra le entità di un sistema. bOgni entità è rappresentata dalla sequenza degli stati (attivi e passivi) che può assumere. Stato passivo Stato attivo 12 Esempio: Servizio piccoli prestiti Si consideri una banca che offre un servizio di piccoli prestiti secondo la seguente procedura: bIl cliente si rivolge all’ufficio apposito, dove un impiegato esamina la richiesta, e, se questa rispetta un certo numero di criteri prefissati, la accetta; altrimenti invia il cliente al funzionario responsabile bIl funzionario riesamina la pratica, e quindi o accetta la richiesta oppure la respinge definitivamente. 13 Esempio: Servizio piccoli prestiti 1a coda Arriva Cliente 1° Esame Attesa approvata Non approvata Esce respinta approvata Attesa 2a coda 2° Esame 14 Progettazione: verifica del software e validazione del modello bVerifica ; animazione ; confronto dell’output del modello con i dati del sistema ; debugging interattivo. bValidazione ; test di fitting delle distribuzioni di probabilità utilizzate ; analisi di sensitività ; confronto dell’output del modello con i dati del sistema ; animazione ; Turing Test ; validazione sul campo 15 Fasi di uno studio di simulazione ANALISI PROGETTAZIONE (i) progetto degli esperimenti (ii) esecuzione degli esperimenti (iii) analisi dell’output (iv) animazione e documentazione ESECUZIONE 16 Esecuzione: progetto degli esperimenti bCondizioni iniziali bLunghezza del transitorio (warmup period). Per valutare il comportamento del sistema a regime (in condizioni stazionarie) è necessario collezionare statistiche a partire dall’istante in cui termina il transitorio. bDurata della simulazione o criterio di arresto aumentare la durata della simulazione aumenta la precisione delle stime delle quantità di interesse. bNumero di repliche il risultato di ogni simulazione è una v.a.: più alto è il numero di repliche (i.e. la numerosità del campione) più accurata è la stima dei valori attesi. 17 Esecuzione: Analisi dei risultati bL’output di una simulazione fornisce stime statistiche delle misure di prestazione del sistema. Ad ogni misura viene associato un intervallo di confidenza, cioè un intervallo di valori entro il quale la misura ricade con “elevata” probabilità 18