La simulazione dei sistemi

La simulazione è una metodologia di studio dei sistemi. Consiste nel simulare il funzionamento di un sistema reale tramite un modello.

Non è sempre possibile studiare i fenomeni in modo diretto e sperimentare le conseguenze delle scelte sul campo.

La sperimentazione diretta può causare danni o conseguenze irreparabili al sistema reale. In alcuni casi il sistema reale potrebbe non esistere ancora. Ad esempio, un sistema in fase di progetto.

In questi casi si ricorre alla sperimentazione su un modello.

modello

La simulazione mi permette di replicare il fenomeno o un sistema tramite un modello detto simulatore per studiare gli effetti (scenari) delle varie scelte, purché il modello rifletta accuratamente il sistema reale.

In particolar modo la simulazione mi consente

  1. lo studio dei feedback del sistema dopo un'azione/decisione compiuta dal decision-maker (analisi input-output)
  2. lo studio del funzionamento del sistema in termini statistici che evolve dinamicamente nel corso del tempo nei vari scenari possibili senza interferenze da parte del decision-maker

Nota. Il modello può essere un modello fisico (es. vasca che simula le onde, galleria del vento, ecc.) oppure un modello matematico. In questi appunti parlo soprattutto dei sistemi matematici.
la differenza tra modelli fisici e matematici

Il modello di simulazione

Un modello matematico simula un fenomeno tramite variabili e relazioni matematiche.

Esistono due tipologie di modelli matematici

  • Soluzione analitica (numerica)
    Il modello matematico fornisce una soluzione numerica a un problema. Trova la soluzione migliore oppure ottimale. Purtroppo, gran parte dei sistemi del mondo reale sono troppo complessi per trovare soluzione analitica oppure il modello richiede un elevato costo computazionale (complessità spaziale o temporale).

    Nota. Per ridurre la complessità computazionale si può usare anche un metodo numerico che offre un'approssimazione della soluzione in tempi minori e/o impiegando meno risorse. Tuttavia, non sempre l'approssimazione è accettabile.

  • Simulazione
    Il modello matematico rappresenta la realtà fisica e replica il funzionamento del sistema reale al computer. Analizza i vari scenari possibili a seguito di una decisione.

    Esempio. Un modello di simulazione riproduce il funzionamento di un ufficio postale per stimare la coda. Il flusso dei clienti, gli sportelli aperti, il tempo e la frequenza delle pratiche, ecc.

la differenza tra i modelli matematici

Nota. La simulazione può portare a errori molto grandi se non è compiuta con la metodologia adeguata, perché si basa su risultati statistici simulati della realtà. Il concetto è molto semplice. Se il modello non riflette sufficientemente bene la realtà, conduce a scelte sbagliate.

Tipi di modelli di simulazione

Esistono due modi per classificare i modelli matematici di simulazione.

  • Modello di simulazione statico
    Il modello di simulazione statico rappresenta il sistema in un particolare momento o stato.
  • Modello di simulazione dinamico
    Il modello di simulazione dinamico rappresenta un sistema in evoluzione nel tempo.

I sistemi di simulazione si distinguono anche in

  • Modello di simulazione deterministico
    Il modello di simulazione deterministico non contiene elementi probabilistici o casuali. A parità di input fornisce la stessa risposta certa. E' caratterizzato da un'elevata complessità computazionale. Quindi, non sempre è realizzabile.
  • Modello di simulazione stocastico
    Il modello di simulazione stocastico si basa su elementi probabilistici. Sia l'input che l'output sono caratterizzati da fattori di casualità.

    Come sono generati gli eventi? Il modello riproduce gli eventi e i processi che caratterizzano il sistema tramite variabili aleatorie (distribuzioni di probabilità). Pertanto, gli eventi simulati sono casuali. Questo permette di studiare l'evoluzione dinamica degli eventi e del sistema stesso.

Un altro modo per classificare i modelli matematici di simulazione è tra

  • Modello di simulazione continuo
    Le variabili del modello variano in modo continuo. Le grandezze sono numeri reali.
  • Modello di simulazione discreto
    Le variabili del modello variano in modo discreto. Le grandezze sono numeri interi.

    Nota. Generalmente, i modelli di simulazione discreti sono indipendenti allo scorrere del tempo. Le variabili variano quando si verificano determinati eventi. Spesso sono usati per rappresentare i sistemi a eventi discreti (SED). I modelli discreti possono però essere usati anche per rappresentare sistemi ad avanzamento temporale (SAT). La scelta del modello dipende dagli obiettivi dello studio. In questi casi il tempo è associato al verificarsi degli eventi a partire dall'inizio della simulazione ( simulation clock ). Si parla di sistemi next-event time advance (avanzamento del tempo al prossimo evento). In questo modo il tempo viene visualizzato solo quando cambia lo stato del sistema.
    i sistemi di simulazione discreti ad avanzamento temporale
    Gli istanti in cui si verifica un evento (e1,e2,...) sono generati casualmente all'inizio della simulazione sulla base di una distribuzione di probabilità. Un altro approccio di gestione del tempo è l'avanzamento a incrementi fissi. Quest'ultimo approcco ha però una complessità computazionale maggiore perché visualizza il tempo anche quando nessuna variabile di stato del sistema è cambiata. E' quindi meno veloce e richiede un maggior spazio di memoria. Ad esempio, negli intervalli fissi di avanzamento i1 e i5 non si verifica alcun evento (variazione di stato del sistema) ma questa gestione di avanzamento temporale registra comunque le informazioni sullo stato del sistema anche se invariate.
    un esempio di gestione del tempo a incrementi fissi

La differenza tra simulazione e ottimizzazione

Sia la simulazione che l'ottimizzazione si basano su modelli matematici ma non sono la stessa cosa.

  • Il modello di ottimizzazione
    Il modello di ottimizzazione trova la soluzione ottima a un problema. Risponde alla domanda "quale è la scelta ottimale?" o what best.

    Esempio. Nella ricerca operativa un modello matematico è composto da una funzione obiettivo da minimizzare o massimizzare e da una serie di vincoli. L'algoritmo trova la soluzione ottimale del problema. Ad esempio, il percorso migliore negli spostamenti, l'uso efficiente delle risorse, ecc.

  • Il modello di simulazione
    Il modello di simulazione replica il funzionamento di un sistema fisico e analizza gli scenari possibili (analisi di scenario). Risponde alla domanda "cosa accade se..." o what if. In pratica studia cosa accade a seguito di una decisione o di un cambiamento della configurazione. E' soprattutto un modello procedurale e non ci sono vincoli.

    Esempio. Un modello di simulazione di un ufficio postale studia la variazione della coda se si riducono gli sportelli aperti. Ripetendo l'esperimento più volte, il modello estrapola scenari diversi. Lo scenario più frequente è quello più probabile.

Quindi, se il simulatore rappresenta bene la realtà, la simulazione fornisce la soluzione migliore tra gli scenari analizzati.

Non fornisce la soluzione ottima perché non elabora tutti gli scenari possibili. Per trovarla dovrebbe compiere infiniti esperimenti.

Nota. Va comunque specificato che non è compito di un modello di simulazione trovare la soluzione ottima di un problema. Un buon simulatore deve essenzialmente fornire informazioni realistiche sul comportamento del sistema (analisi di scenari) tramite l'approccio what if. Le decisioni sono prese dall'utilizzatore del modello sulla base della sperimentazione.

Quando conviene usare la simulazione?

Laddove possibile si utilizza un modello di ottimizzazione.

Quando la complessità diventa elevata si ricorre alla simulazione tramite un software simulatore.

La simulazione è particolarmente utile per studiare fenomeni caratterizzati da forte aleatorietà, eventi casuali e sistemi stocastici (es. coda all'ufficio postale, traffico in città, uso della rete internet, ecc. ).

Nota. In alcuni casi conviene costruire un modello misto, in parte di ottimizzazione e in parte di simulazione. Ad esempio, utilizzo il simulatore per trovare i vari scenari possibili (configurazioni). Poi utilizzo il modello di ottimizzazione per scegliere quello migliore per massimizzare una funzione obiettivo.

Vantaggi e svantaggi della simulazione

Vantaggi

  1. Rappresenta sistemi reali complessi in condizioni di incertezza
  2. Riproduce il comportamento del sistema in situazioni che non sono sperimentabili direttamente
  3. Aiuta a comprendere come funziona il sistema reale
  4. Permette di identificare i problemi (es. ritardi, conflitti, ecc.)
  5. Il modello simula il funzionamento di un sistema reale nel lungo periodo (es. mesi o anni) in pochi minuti di elaborazione.
  6. Permette di studiare dei sistemi di cui già si conosce un modello analitico seguendo un'ottica diversa

    Esempio. La simulazione può essere applicata per studiare i sistemi a coda in alternativa ai modelli analitici. Il modello analitico di un sistema a coda è ben conosciuto e utile ma è strettamente legato alla configurazione dei parametri (es. tempi di attesa, tempi di servizio, ecc. ). La simulazione consente di verificare il funzionamento del sistema a coda in modo meno rigido tramite dei parametri gestiti in condizione di incertezza.

Svantaggi

  1. L'implementazione del modello di simulazione è complessa. Richiede molte risorse, tempo e conoscenze.
  2. In alcuni casi il tempo di esecuzione della simulazione richiede molto tempo (es. ore o giorni).
  3. E' necessario ripetere la simulazione più volte
  4. L'analisi dei risultati dell'output della simulazione può essere un lavoro difficile e complesso.

E così via.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

La teoria dei sistemi