Simulazione

Da Wikipedia, l'enciclopedia libera.
bussola Disambiguazione – Se stai cercando altri significati, vedi Simulazione (disambigua).
Simulatore di volo militare
Simulazione tramite analisi agli elementi finiti dell'impatto di un veicolo contro una barriera asimmetrica
Simulazione numerica del sistema di raffreddamento di un componente elettronico

Per simulazione si intende un modello della realtà che consente di valutare e prevedere lo svolgersi dinamico di una serie di eventi o processi susseguenti all'imposizione di certe condizioni da parte dell'analista o dell'utente. Un simulatore di volo, ad esempio, consente di prevedere il comportamento dell'aeromobile a fronte delle sue caratteristiche e dei comandi del pilota.

Le simulazioni sono uno strumento sperimentale di analisi molto potente, utilizzato in molti ambiti scientifici e tecnologici dettato dalla difficoltà o impossibilità di riprodurre fisicamente in laboratorio reale le effettive condizioni da studiare e che si avvale delle grandi possibilità di calcolo offerte dall'informatica e dai sistemi di elaborazione. La simulazione, infatti, altro non è che la trasposizione in termini logico-matematica-procedurali di un "modello concettuale" della realtà; tale modello concettuale o modello matematico può essere definito come l'insieme di processi che hanno luogo nel sistema valutato e il cui insieme permette di comprendere le logiche di funzionamento del sistema stesso. Essa dunque è assimilabile ad una sorta di laboratorio virtuale che consente spesso anche un abbattimento dei costi di studio rispetto ad esperimenti complessi realizzati in laboratorio reale.

Diffuso è quindi il suo utilizzo nell'analisi dei sistemi dinamici (semplici o complessi), sia naturali (sistema climatico), sia artificiali (sistemi meccanici e di automazione), sia anche socio-economici (sistema economico).

Le simulazioni possono anche avere carattere ludico; oggi esistono sul mercato diversi software (videogiochi di simulazione) che consentono di simulare il comportamento di persone, veicoli, civiltà. Ovviamente il livello di approfondimento di tali simulazioni, in termini di modello concettuale sottostante è più basso.

Simulazione di processi produttivi[modifica | modifica sorgente]

Nell'ambito delle simulazioni, acquisisce notevole importanza la simulazione del funzionamento dei processi produttivi e logistici. Tali sistemi sono infatti caratterizzati da elevata complessità, numerose interrelazioni tra i diversi processi che li attraversano, guasti dei segmenti, indisponibilità, stocasticità dei parametri del sistema. Consideriamo, ad esempio, un impianto semplice per la produzione di un unico articolo, con solamente due macchine automatiche ed imballaggio manuale; in questo semplice sistema l'arrivo delle materie prime, la durata delle lavorazioni, il tempo necessario agli operatori per imballare sono tutte variabili stocastiche, in quanto il ritmo produttivo e di arrivo non è costante; inoltre, le macchine sono soggette a guasti e manutenzione, gli operatori possono non essere sempre disponibili etc.

Il progettista degli impianti industriali e il responsabile delle operations possono certamente avere interesse a valutare con anticipo l'effetto delle loro scelte su tali sistemi complessi, in termini, ad esempio, di capacità di produzione, tempo di attraversamento, scorte, blocchi. Possono inoltre avere dei problemi riguardo al dimensionamento di macchine, magazzini, flotta dei carrelli trasportatori e simili.

La simulazione, consentendo l'analisi della realtà ad un elevato livello di dettaglio e padroneggiando facilmente la complessità del sistema, fa sì che alla fine sia possibile ottenere un gran numero di informazioni utili. Il prezzo da pagare per tale completezza è ovviamente il tempo; le operazioni di programmazione sono infatti assai lunghe, affinché si possano ottenere dei dati sufficientemente sensati e tali da dare la possibilità di ottenere un modello della realtà ad essa aderente.

Passi e procedure[modifica | modifica sorgente]

Al fine di poter procedere correttamente per avere un modello di simulazione utile e funzionante è opportuno procedere con una serie di passi:

  • Definizione degli obiettivi e delle problematiche da esaminare: un'attenta analisi del problema consente di circoscriverne l'esame riducendo il successivo tempo di analisi;
  • Stesura di un modello concettuale: consiste nella comprensione e modellazione del sistema produttivo che si intende simulare; questa fase è particolarmente importante in quanto definirà il comportamento dei diversi flussi di materiale e di informazioni che attraverseranno il modello.
  • Validazione del modello concettuale: si tratta di un confronto con la direzione dell'impresa e con gli operatori per assicurarsi della capacità del modello di offrire un'immagine consistente della realtà.
  • Analisi dei dati in ingresso: la raccolta e l'analisi dei dati che diverranno la base per la definizione dei parametri di funzionamento del sistema (ad esempio: i diversi tempi di lavoro di una singola macchina). Attraverso le tecniche del calcolo delle probabilità diviene possibile definire una distribuzione di probabilità per ogni parametro, da inserire all'interno del modello.
  • Scrittura del modello in termini matematici
  • Calibrazione e valutazione
  • Definizione di un piano degli esperimenti: una singola iterazione ("run") di simulazione non ha alcun significato; rappresenta solo una delle possibili evoluzioni del sistema. È quindi opportuno effettuare diversi "run" per poi analizzare i parametri in uscita. La lunghezza della singola iterazione e il numero delle iterazioni vengono determinate in questa fase.
  • Analisi dei dati in uscita: dopo aver raccolto i dati relativi ai parametri, depurati da eventuali transitori è possibile creare degli intervalli di confidenza ovvero stimare il "range" di valori in cui i parametri che analizzano il problema proposto al primo passaggio possono oscillare.

Elementi caratteristici di un modello di simulazione[modifica | modifica sorgente]

  • Entità - Le entità sono gli elementi "trattati" dal processo; tali "oggetti" hanno la caratteristica di essere "temporanei", e di subire passivamente le trasformazioni. Ad esempio, in un'impresa di lavorazioni meccaniche, i semilavorati e le materie prime, che devono essere fresati, spianati etc possono essere modellizzati come "entità". Naturalmente, è possibile simulare anche processi in cui la produzione non riguardi un bene fisico, ma un servizio: in questo caso, le entità rappresenteranno informazioni, documenti, clienti, a seconda delle necessità.

Le entità, all'interno del modello, possono essere considerate a loro volta come:

  • Anonime - Nella maggior parte dei casi, non interessa tenere traccia del singolo pezzo in lavorazione o in generale in transito nel sistema. Pertanto le entità non sono caratterizzate, e vengono considerate come un "flusso" indistinto.
  • Personalizzate - Caso duale del precedente, si presenta quando l'analista, spesso per il numero esiguo di pezzi in lavorazione, ha interesse a considerare i parametri di lavorazione del singolo pezzo.
  • Operazione: rappresenta una delle trasformazioni che avranno luogo sull'entità.

Possono essere individuati due cicli di operazioni:

  • Il ciclo macchina: attinente agli stati (vedi) ed operazioni che la macchina attraverserà, ovvero l'insieme di tutte le possibili successioni di operazioni e attese.
  • Il ciclo pezzo: rappresenta il percorso delle entità nel sistema, le macchine visitate e le operazioni subite
  • Macchine: rappresentano gli elementi "fissi" del sistema, la cui definizione degli stati definisce univocamente la situazione generale del sistema, e delle quali sono di rilevanza per l'analista soprattutto le prestazioni. Le macchine possono essere fisiche, ed in questo caso ci si riferisce a macchine realmente presenti nel sistema da modellizzare, o "logiche", ed in questo caso compiono operazioni "fittizie" fisicamente, ma presenti logicamente nel sistema (ad esempio, il controllo di quantità in ingresso nell'impianto non ne provoca trasformazioni "fisiche" ma lo "trasforma" da "lotto da controllare" a "lotto controllato").
  • Stati: gli stati sono delle variabili (di tipo vario: possono essere numeri o valori logici) che descrivono lo stato del sistema e delle sue componenti, per ogni istante di tempo.
  • Eventi: fenomeni che modificano lo stato del sistema (ad esempio, la fine di una lavorazione modifica lo stato di una macchina da "occupata" a "libera").
  • Code: insiemi di entità che non possono accedere alle trasformazioni successive in quanto la macchina risulta occupata.
  • Attributi: proprietà permanenti di un insieme di entità o di una macchina.
  • Orologio locale: orologio che contiene, a livello di singola macchina, l'istante di tempo che identifica la fine della lavorazione in corso.
  • Orologio generale: orologio che regola lo scorrere generale del tempo di simulazione.

Funzionamento dei simulatori[modifica | modifica sorgente]

  • Fase di scan
  • Fase di rescan

Tipi di simulatori[modifica | modifica sorgente]

  • Orientati agli eventi
  • Orientati ai processi
  • Orientati alle attività

Programmazione del modello[modifica | modifica sorgente]

Una volta costruito il modello esso va tradotto in un programma su calcolatore. È possibile usare linguaggi general purpose quali Pascal, C, C++, per i quali esistono delle librerie di routines orientate alla simulazione. Esistevano anche diversi linguaggi specializzati quali ad esempio SIMSCRIPT, MODSIM e GPSS. Una interessante alternativa è quella di ricorrere ad applicazioni di tipo interattivo per la simulazione, fra gli altri: AutoMod, Simul8, Arena Simulation, Simio, AnyLogic, Witness, Extend e Micro Saint. Tali applicazioni sono di facile uso e quindi molto adatte a costruire rapidamente modelli, anche sofisticati, ma sono meno versatili e potenti dei linguaggi specializzati o di quelli general purpose. Per problemi di piccole dimensioni è anche possibile usare strumenti informatici di uso comune quali le spreadsheet. Tali strumenti possono essere utili quando si vuole rapidamente avere un'idea del funzionamento di una singola componente o di un sottosistema di un sistema complesso.

Voci correlate[modifica | modifica sorgente]

Altri progetti[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]

ingegneria Portale Ingegneria: accedi alle voci di Wikipedia che trattano di ingegneria