Introduzione alla simulazione emiliano.casalicchio@uniroma2.it http://www.uniroma2.it/didattica/mmi
I fondamenti (1) Per studiare scientificamente un Sistema è spesso necessario fare delle assunzioni semplificative riguardo al suo funzionamento L insieme delle assunzioni semplificative fatte sul funzionamento di un sistema, che vengono espresse sotto forma di relazioni logico-matematiche, costituiscono un modello del sistema Studieremo come Simulare il comportamento di un processo/sistema reale. to simulate: to imitate the operations of various kinds of real-world facilities or processes Law-Kelton, Simulation modeling and analysis System=set of facilities and/or processes
I fondamanti (2) Un modello di sistema può essere analizzato mediante: metodi matematici algebra, calcolo numerico, teoria della probabilità ottenendo cosi una Soluzione Analitica ed ESATTA. Ciò è possibile in caso di modelli semplici Simulazione Usata in caso di modelli per i quali è complesso calcolare una soluzione analitica Il modello è valutato numericamente i dati sono collezionati con lo scopo di stimare le caratteristiche reali del modello
Esempio Modello matematico, ideale: coda M/M/1 Arrivi poissoniani, tempo servizio esponenziale, server singolo, coda infinita, popolazione client infinita. Modello Simulativo Facility (Centro di servizio + coda) Misura attiva di N,W,R Possibilità di scegliere come voglio il processo degli arrivi (non sono legato ad una particolare distribuzione) Libertà nella scelta della disciplina di servizio λ π 0 = 1 µ λ λ π k = 1 µ µ ρ N = ; W = 1 ρ k ρ / µ ; 1 ρ R = 1/ µ ; 1 ρ
I fondamanti (3) Campi di impiego della simulazione: Progettazione ed analisi di sistemi manufatturieri Valutazione di requisiti HW/SW di un sistema di elaborazione Progettazione di sistemi di comunicazione (RETI) e protocolli di comunicazione Analisi di sistemi economici e finanziari Analisi di sistemi biologici Studio delle interdipendenze tra infrastrutture critiche (HomeWork: S. Rinaldi, J. Peerenboom, and T. Kelly, Complexities in Identifying, Understanding, and Analyzing Critical Infrastructure Interdependencies, IEEE Control Systems Magazine on Complex Interactive Networks, December 2001.)
Sistema Un sistema è una collezione di entità (persone, dispositivi HW/SW, processi) che agiscono e interagiscono per realizzare un obiettivo comune. Lo stato di un sistema è la collezione delle variabili necessarie per descrivere il sistema in un dato istante, relativamente agli obiettivi dello studio. ES: Sistema: un server Web ed utenti Web; Scopo dello studio: determinazione del tempo medio di servizio al crescere del numero degli utenti Stato: numero di utenti in coda, tempo di servizio istantaneo, tempo di interarrivo degli utenti
Metodi per studiare un sistema Sistema Sistema Reale Modello Sistema Modello Reale - prototipo Modello matematico Misure dirette Soluzione Analitica esatta Simulazione
Soluzione analitica v.s. simulazione Definito un modello matematico, la soluzione analitica (esatta) è consigliabile solo se il modello è semplice ed esiste una forma chiusa della soluzione del modello. Modelli complessi senza una forma chiusa della soluzione o per cui è computazionalmente impossibile calcolarne la soluzione per via analitica vengono risolti mediante simulazione ad esempio il problema dello scheduling di workflow in una griglia di risorse è notoriamente NP.
Modelli Simulativi Statico Deterministico Dinamico Stocastico Continuo Discreto
Modelli simulativi: Statico vs Dinamico Statico: rappresenta un sistema in un determinato istante di tempo (o un sistema invariante rispetto al tempo) Dinamico: rappresenta un sistema che evolve nel tempo Statico Dinamico Deterministico Stocastico Continuo Discreto
Modelli simulativi: Deterministico vs Stocastico Deterministico: un sistema che non contiene componenti probabilistiche, fissato l input l output è determinato Stocastico: sistema contente componenti probabilistiche, ad esempio qualche componente di input stocastica. Ciò determina dati di output che variano in maniera probabilistica Statico Deterministico Dinamico Stocastico Continuo Discreto
Modelli simulativi: Discreto vs Continuo Discreto: le variabili cambiano valore istantaneamente, ed il tempo è discretizzato. Se t1 e t2 sono due istanti successivi di osservazione del sistema: x(t1)=x1 e x(t2)=x2 e non è definita l evoluzione del sistema tra t1 e t2. x(t) t Continuo: le variabili cambiano valore continuamente nel tempo, ed è ben definita l evoluzione temporale del sistema. x(t) t
Discrete-event simulation model Deterministico Statico Stocastico Dinamico Discreto Continuo
Discrete-event simulation Modellazione di un sistema che evolve nel tempo le variabili di stato cambiano istantaneamente in istanti di tempo separati lo stato del sistema può cambiare solo un numero contabile di volte nel tempo Gli istanti di tempo che segnano l evoluzione sono quelli in cui si verificano gli EVENTI Un evento è un occorrenza istantanea che POTREBBE cambiare lo stato del sistema Non necessariamente l occorrenza di un evento cambia lo stato del sistema. Ad esempio un evento può essere usato per Schedulare il termine della simulazione ad un determinato istante di tempo Schedulare una decisione circa un operazione di sistema
Meccanismi di Avanzamento del Next-event time advance tempo e0 e1 e2 e3 e4 e5 t0=0 t1 t2 t3 t4 A t0, dopo che l evento t0 è occorso, Determino gli eventi successivi ed i relativi istanti di occorrenza, ad esempio {(e2,t2), (e3,t3), (e4,t4)} Individuo l evento che si verificherà per primo, ad esempio e2 ed avanzerò il tempo di simulazione all istante t2. t5 Fixed increment time advance
Bibliografia M.Low, W.D.Kelton, Simulation Modeling and Analysis, McGraw Hill.