ArticlesFeature Articolo: La simulazione Monte Carlo con Minitab

La Simulazione Monte Carlo con Minitab

 

La Simulazione Monte Carlo utilizza un campionamento casuale e ripetuto per simulare i dati in un determinato modello matematico e valutarne i risultati. Questo metodo è stato inizialmente applicato negli anni ’40, quando gli scienziati che lavorano sulla bomba atomica lo hanno utilizzato per calcolare la probabilità che una fissione dell’atomo di uranio provochi una reazione di fissione in un altro atomo. Visto che le quantità di uranio erano poche, non c’era spazio per prove sperimentali ed errori. Gli scienziati hanno scoperto che avendo una quantità sufficiente di  dati simulati, avrebbero potuto calcolare la probabilità e l’affidabilità riducendo notevolmente la quantità di uranio utilizzato per effettuare i test di prova.

Oggi è abituale utilizzare la simulazione dei dati in situazioni in cui le risorse sono limitate o la raccolta di dati reali sarebbe troppo costosa o impraticabile.

Utilizzando la capacità di Minitab di creare con facilità serie di dati casuali, è possibile utilizzare la simulazione Monte Carlo per:

  • Simulare la gamma di possibili risultati utili all’interno di un processo decisionale
  • Creare forecast, stimare previsioni o scadenze di un progetto
  • Comprendere la variabilità in un processo o di un sistema
  • Trovare i problemi all’interno di un processo o di un sistema
  • Gestire il rischio attraverso la comprensione delle relazioni costi / benefici
I diversi step della Simulazione Monte Carlo

A seconda del numero di fattori coinvolti, le simulazioni possono essere molto complesse. Ma, partendo da un livello base, tutte le simulazioni Monte Carlo si compongono di quattro semplici passaggi:

  1. Identificare l’ equazione di trasferimento
    Per fare una simulazione Monte Carlo, è necessario un modello quantitativo delle attività di business, dei piani o dei processi che si vogliono esplorare. L’espressione matematica del processo è chiamata “equazione di trasferimento.” Questa potrebbe essere una formula di ingegneria o di business conosciuta, oppure potrebbe essere basata su un modello derivante da un esperimento progettato (DOE) o da un’analisi di regressione
  2. Definire i parametri di input
    Per ogni fattore dell’equazione di trasferimento, è necessario determinare come i dati siano distribuiti. Alcuni input possono essere distribuiti normalmente, mentre altri possono seguire una distribuzione triangolare o uniforme. È quindi necessario determinare, per ogni input, i parametri di distribuzione. Ad esempio, è necessario specificare la media e la deviazione standard per gli input che seguono una distribuzione normale.
  3. Creare dati casuali
    Per fare una simulazione valida, è necessario creare un grande mole di dati casuali per ogni input che prendiamo in considerazione, qualcosa nell’ordine di 100.000 casi. Questi dati casuali simulano i valori che sarebbero visibili su un lungo periodo per ciascun input. Minitab può facilmente creare dati casuali per qualsiasi tipo di distribuzione che ci interessa considerare.
  4. Simulare e analizzare il processo di Output
    Con la simulazione dei dati in atto, è possibile utilizzare l’equazione di trasferimento per calcolare e simulare gli output. Prendere in considerazione per la variazione una grande e sufficiente quantità di dati di input con le relative variazioni, darà un’indicazione affidabile degli output di uscita di un processo nel corso del tempo.

Questi sono i passi che vanno seguiti per ogni simulazione Monte Carlo. Ecco come applicarli in Minitab.

Simulazione Monte Carlo utilizzando una formula conosciuta di ingegneria

Una società manifatturiera deve valutare la progettazione di un prodotto proposto: una piccola pompa a pistone che deve pompare 12 ml di liquido per minuto. Si vuole stimare il probabile rendimento di migliaia di pompe, data la naturale variazione del diametro del pistone (piston diameter – D), la lunghezza della corsa (stroke length – L), e giri al minuto (strokes per minute – RPM). Idealmente, la portata della pompa su migliaia di pompe avrà una deviazione standard non superiore a 0,2 ml.

Fase 1: Identificare l’Equazione di Transferimento
Il primo passo per fare una simulazione Monte Carlo è determinare l’equazione di trasferimento.
In questo caso, si può utilizzare semplicemente una formula di ingegneria stabilito che stabilisca la portata della pompa:
Flusso (in ml) = π (D / 2) 2 * L * RPM

Fase 2: Definire i parametri di input

Ora è necessario definire i parametri e la loro distribuzione per ogni input utilizzato nell’equazione di trasferimento. Il diametro del pistone della pompa e la lunghezza della corsa sono noti, ma è necessario calcolare i giri al minuto (RPM) necessari per raggiungere la velocità di flusso desiderata di 12 ml / minuto. Il volume pompato per ogni giro è dato dalla seguente equazione:

π (D / 2) 2 * L

Dato D = 0,8 e L = 2.5, ogni giro sposta 1.256 ml. Quindi, per ottenere un flusso di 12 ml / minuto, il RPM è 9,549.

Sulla base del rendimento di altre pompe fabbricate dalla medesima azienda, si può dire che il diametro del pistone è distribuito normalmente con una media di 0,8 centimetri e una deviazione standard di 0,003 centimetri. La lunghezza della corsa è normalmente distribuita con una media di 2,5 cm e una deviazione standard di 0,15 centimetri. Infine, i giri al minuto sono normalmente distribuiti con una media di 9,549 RPM e una deviazione standard di 0,17 RPM.

Fase 3: Creazione di dati casuali
Ora è possibile impostare la simulazione in Minitab. Con Minitab è possibile istantaneamente creare 100.000 valori di dati simulati. Partendo con i dati simulati riguardanti il diametro del pistone, scegli Calc > Random Data > Normal. Nella finestra di dialogo, scrivere 100.000 in Number of rows of data to generate e “D” come colonna in cui memorizzare i dati. Inserire la media e la deviazione standard per il diametro del pistone nei campi appropriati. Premere OK per popolare il foglio di lavoro con 100.000 dati campionati casualmente dalla distribuzione normale specificata.

monte-carlo-create-random-data-normal-distribution[1] Articolo: La simulazione Monte Carlo con Minitab

Infine è sufficiente ripetere il processo per  Stroke Length – L (lunghezza della corsa) e per Strokes per Minute -RPM (giri al minuto)

Fase 4: Simulare e analizzare il processo di Output
Creare una quarta colonna nel foglio di lavoro, Flow, per inserire i risultati dei calcoli del processo di output. Con i dati di ingresso generato in modo casuale a posto, è possibile impostare la calcolatrice di Minitab per calcolare gli output e memorizzarli direttamente nella colonna Flow.

Andare su Calc > Calculator e impostare l’equazione di flusso:

monte-carlo-enter-transfer-equation[1] Articolo: La simulazione Monte Carlo con Minitab

Minitab calcola rapidamente l’output per ciascun valore dei dati simulati.
Ora è possibile guardare i risultati. Selezionare Stat > Basic Statistics > Graphical Summary e selezionare la colonna Flow.

Minitab genera un graphical summary che include i seguenti grafici:

– Un istogramma dei dati con una curva sovrapposta normale
– un boxplot
– un grafico degli intervalli di confidenza per la media e la mediana

Il grapfical summary mostra anche i risultati del Test di Normalità di Anderson-Darling, le statistiche descrittive e gli intervalli di confidenza per la media, mediana e la deviazione standard.

monte-carlo-create-graphical-summary[1] Articolo: La simulazione Monte Carlo con Minitab

Il graphical summary dell’output della Simulazione Monte Carlo sarà come il seguente:

monte-carlo-summary-for-flow[1] Articolo: La simulazione Monte Carlo con Minitab

Sulla base dei dati generati casualmente per questo esempio, risulta che la portata media è 12.004 basata su 100.000 campioni. In media, siamo in target, ma il valore più piccolo era 8,882 e il più grande era 15,594.  Questa differenza è abbastanza ampia. La variazione trasmessa (per tutti i componenti) determina una deviazione standard di 0,757 ml, superando di gran lunga il target 0,2 ml. Inoltre, si vede che l’obiettivo 0,2 ml cade al di fuori dell’intervallo di confidenza per la deviazione standard.
Da ciò si evince che il disegno di questa pompa mostra troppa variazione e deve essere ulteriormente raffinato prima di passare alla produzione; tutto questo è possibile comprenderlo tramite la Simulazione Monte Carlo con Minitab, senza dover sostenere le spese di produzione e di controllo su migliaia di prototipi.

Simulazione Monte Carlo usando DOE Response Equation

Analizziamo un caso in cui non si sappia quale equazione usare, o si stia cercando di simulare il risultato di un processo unico.

Un produttore di elettronica desidera migliorarne il funzionamento del sistema di elettropulitura, che prepara le parti metalliche per la galvanizzazione. La galvanizzazione consente ai produttori di materie prime di rivestire quest’ultime con uno strato di un metallo diverso, per ottenere le caratteristiche desiderate. La placcatura però, non aderisce su una superficie sporca, per cui l’azienda dispone di un sistema di elettropulitura a flusso continuo che è connesso ad una macchina di elettroplaccatura. Un nastro trasportatore immerge ogni parte in un bagno sotto tensione, pulendo la parte in questione. Sono stati però riscontrati inadeguati risultati di pulizia, con un alto Root Mean Square Average Roughness – RMS – (valore quadratico medio della ruvidità) e una povera finitura superficiale. Le parti pulite, invece, hanno una superficie liscia e un basso RMS.

Per ottimizzare il processo, è possibile regolare due valori critici: voltage – Vcc – (tensione ) e current density – ASF – (densità di corrente). Per il metodo di elettropulitura preso in considerazione, i limiti tecnici tipici per la tensione Vdc sono da 3 a 12 volt. I limiti per la densità di corrente sono da 10 a 150 ampere per piede quadrato (ASF).

Fase 1: Identificare l’Equazione di Trasferimento
Per questo processo non è possibile utilizzare una formula stabilita, ma è possibile impostare un DOE Response Surface in Minitab per determinare l’equazione di trasferimento. Response Surface DOE sono spesso utilizzati per ottimizzare la risposta trovando le migliori impostazioni per “pochi e vitali” fattori.

In questo caso, la risposta sarà la qualità superficiale dei componenti dopo che sono stati puliti.

Per creare in Minitab un esperimento di response surface, scegliere Stat > DOE > Response Surface > Create Response Surface Design.

Dato che disponiamo di due fattori – voltage (Vdc)current density (ASF) – selezioniamo un two-factor central composite design, che abbia 13 prove.

monte-carlo-create-response-surface[1] Articolo: La simulazione Monte Carlo con Minitab

Minitab crea l’esperimento, dopodiché è necessario eseguire le 13 prove sperimentali, la raccolta dei dati, e registrare la rugosità superficiale dei 13 pezzi finiti.

Minitab rende facile analizzare i risultati del DOE, ridurre il modello, e verificarne le ipotesi attraverso i grafici dei residui. Utilizzando il modello finale e il response optimizer di Minitab, è possibile trovare le impostazioni ottimali per ciascuna variabile. In questo caso, è possibile impostare la tensione a 7.74 V e la corrente ASF per 77,8 A per ottenere un valore di rugosità di 39,4.

La superficie di risposta DOE ottiene la seguente equazione di trasferimento per la simulazione Monte Carlo:

Roughness = 957.8 − 189.4(Vdc) − 4.81(ASF) + 12.26(Vdc2) + 0.0309(ASF2)

Step 2: Definire i parametri di input

Ora è possibile impostare i parametri di input per la Simulazione Montecarlo. (Le deviazioni standard devono essere note o stimate sulla base di conoscenza di processi pregressi.)

La tensione è normalmente distribuita con una media di 7.74 Vdc e una deviazione standard di 0,14 Vdc. La corrente per piede quadrato (ASF) è normalmente distribuita con una media di 77,8 ASF e una deviazione standard di 3 ASF.

Step 3: Creazione di dati casuali

Con i parametri definiti, è semplice creare con Minitab 100.000 valori di dati simulati per i due input, usando Calc > Random Data > Normal

Step 4: Simulare e analizzare il processo di Output

Usiamo la calcolatrice per inserire la nostra formula, seguita da Stat > Basic Statistics > Graphical Summary.

monte-carlo-summary-for-rms[1] Articolo: La simulazione Monte Carlo con Minitab

Il graphical summary mostra che anche se gli input sottostanti sono normalmente distribuiti, la distribuzione della rugosità RMS è non normale.

Il summary mostra anche che la variazione trasmessa da tutti i componenti si traduce in una deviazione standard di 0,521, e questo indica che si tratta di un buon risultato per il processo.

Sulla base di un DOE con solo 13 prove, possiamo determinare la realtà di ciò che si vedrà in futuro nel processo produttivo.

Per approfondire l’argomento potete visionare il video tutorial gratuito dedicato all’argomento realizzato da GMSL sull’argomento: Minitab, infatti, è uno strumento molto completo, permette non solo di creare modelli matematici attraverso regressioni, ANOVA e Design of Experiment, bensì anche di utilizzare tali modelli per eseguire simulazioni Monte Carlo ed analizzarne i risultati.