Comments
Description
Transcript
Arena simulation
Arena simulation Cos’è la simulazione • Simulazione è un termine generico, che comprende una serie di metodi e applicazioni che consentono di imitare o rappresentare sistemi reali, tipicamente attraverso un calcolatore. • Simulare prevede la costruzione di un modello che deve essere validato • La simulazione non mira ad ottenere una soluzione analitica • Risulta essere molto più utile e potente dei rigidi approcci matematici “Approximate answer to exact problem is better than exact answer to approximate problem” Simulazione di processi 1 Aree di applicazione • • • • • • • • Produzione: schedulazione e gestione delle scorte Servizi Trasporti e logistica Sanità Sistemi Telecomunicazioni Militare Politiche pubbliche Simulazione di processi Simulazione: il problema di Buffon (1733) Per stimare π, viene lanciato un ago lungo l su un tavolo, diviso in strisce di larghezza d (con d > l) La probabilità che l’ago attraversi una linea è data da P = 2l/ πd. Ripetendo il lancio si ottiene p = n°volte che l’ago attraversa una linea, e si può stimare π. Esperimento per stimare un parametro difficile da definire esattamente casualizzazione replicazioni per ridurre l’errore Simulazione di processi 2 Simulazione di un sistema Attraverso la simulazione è possibile: Studiare Misurare Migliorare Progettare Controllare un sistema esistente. La simulazione permette soprattutto di “provare” il sistema virtualmente, quando direttamente può essere svantaggioso, pericoloso o costoso Simulazione di processi Modellazione Un modello è un insieme di assunzioni e approssimazioni che descrivono, rappresentano come funziona un sistema. Non esiste un modello da cui attingere, caso mai esistono metodi e strumenti su cui fondare il modello. I principali vantaggi derivanti da una buona modellazione: 1. studiare un modello anziché il sistema reale può risultare più facile, più veloce, meno rischioso e più economico 2. è possibile testare un’ampia gamma di idee (fare un errore su un modello non ha conseguenze, diverso è farlo direttamente sul sistema) Simulazione di processi 3 Modellazione: tipologie Analizzando lo stato dell’arte della modellazione è possibile riscontrare diverse classificazioni a seconda di: • Obiettivo • Dinamicità • Approccio • Orizzonte temporale • Metodo • Tecniche di implementazione Simulazione di processi Modellazione: classificazione OBIETTIVO - Minimizzazione di una funzione di costo Massimizzazione delle performance Ottimizzazione del sistema attraverso riconfigurazione Ottimizzazione del layout Corretta allocazione delle risorse Miglioramento continuo DINAMICITA’ - Statico Dinamico Simulazione di processi 4 Modellazione: classificazione 2 APPROCCIO - Integrato - Gerarchico VARIABILI - Discrete - Continue - Miste ORIZZONTE TEMPORALE - Lungo - Medio - Breve N°ITEMS - Mono - Multi Simulazione di processi Modellazione: classificazione 3 TECNICHE di IMPLEMENTAZIONE - Software - Algoritmi - Network design - …. METODO - Deterministico - Stocastico - Economico - Simulativo Simulazione di processi 5 Simulazione: vantaggi • Flessibilità di progettazione, implementazione ed applicazione • Consente di introdurre nella modellazione stocasticità e dinamicità • Fornisce rappresentazione accurata e visibilità dei processi • Supporta complessità decisionale e operativa • Facilità di implementazione ed apprendimento • Reattività agli eventi e alle variazioni Simulazione di processi Simulazione: svantaggi • La simulazione non conduce a risposte esatte, solo ad approssimazioni • L’incorporazione di variabili stocastiche necessita di un’accurata conoscenza statistica per l’analisi dei risultati in output Simulazione di processi 6 ARENA Kelton D., Sadowski R., Sturrock D., 2004, Simulation with Arena, 3rd ed., McGraw-Hill Simulazione di processi Basi del linguaggio SIMAN / Arena – ENTITA’: oggetti che fluiscono attraverso il sistema, come clienti, pezzi, parti, veicoli, etc. oppure informazioni, elementi logici, etc. – CODE: aree di attesa dove il movimento delle entità è temporaneamente sospeso. – RISORSE: componenti del sistema che devono essere allocate alle entità, come macchine, operatori, centralini, etc. – ATTRIBUTI: rappresentano dei valori associati alle singole entità, come il tipo di lavorazione, il tempo di arrivo, etc. – VARIABILI: rappresentano valori che descrivono lo stato del sistema o del processo, come il numero di macchine disponibili, il numero di setup, etc. Simulazione di processi 7 ARENA SIMULATION ENVIRONMENT Dal menu di Avvio di Windows selezionare Programs\Rockwell Software\Arena 8.01\Arena 8.01 Il software in dotazione è una versione “studenti”. E’ possibile utilizzarlo per costruire modelli simulativi di dimensione limitata in termini di numero di moduli ed entità. Simulazione di processi ARENA Arena è un’applicazione di Windows: – Aspetto, operatività e funzioni sono standard – Permette di interfacciarsi con altri comuni software (MS Office, CAD..) Si presuppongono note le principali nozioni di informatica circa: – Dischi, file, cartelle, percorsi – Utilizzo del Mouse e della tastiera – Ridimensionare, muovere finestre – Menu – le chiavi Ctrl, Alt, Shift – Tagliare, copiare e incollare – Compilare caselle di dialogo Simulazione di processi 8 Aprire un modello esistente File/Open … o icona Si cerca l’opportuna directory tramite la finestra di dialogo Cliccando su Apri o tramite un doppio click sul file. I file di Arena hanno estensione “.doe”. Toolbar Project Bar Model Window Status Bar Simulazione di processi ARENA menus Simulazione di processi 9 ARENA Toolbars STANDARD DRAW ARRANGE ANIMATE ANIMATE TRANSFER VIEW RUN INTERACTION Simulazione di processi ARENA toolbar basics Apre un nuovo file. Equivalente a File/New Apre un file salvato in precedenza, equivalente a File/Open Aggiunge o elimina i pannelli templates, che contengono i moduli per la simulazione Help Chiude la sessione di Arena, equivalente a File/Exit Simulazione di processi 10 Model Window La finestra modello è separata in due parti: 1.Flowchart view Dove appaiono -Grafici -Schemi e mappe dei Processi -Animazioni e disegni Ciascuno dei quali modificabili aprendo con un doppio click una casella di dialogo 2.Spreadsheet view vengono visualizzati dati del modello, che possono essere qui modificati - vengono visualizzati tutti gli elementi simili presenti nel modello Molti parametri in un modello possono essere modificati in entrambe le visualizzazioni La barra orizzontale regolabile suddivide le due viste. Attraverso View Split/Screen (o ) è possibile visualizzare solo l’ultima vista selezionata Simulazione di processi Project bar Si trova normalmente sulla parte sinistra di una finestra di Arena. E’ composta da pannelli che contengono gli oggetti per la modellazione: i moduli - sia moduli per il diagramma che per fogli di calcolo Viene visualizzato un pannello per volta. - sono presenti vari pannelli: Basic process, Reports, Navigate. Altri possono essere aggiunti - La project Bar può essere nascosta via View/Project Bar Simulazione di processi 11 Status bar Si trova nella parte inferiore della finestra di Arena. Visualizza varie informazioni sul posizionamento: - coordinate del cursore - tempo e numero di replicazioni durante la la simulazione - è possibile nasconderla con il comando View/ Status Bar Simulazione di processi Muoversi nella finestra modello La finestra rappresenta il world space - individuato in coordinate (x,y). In ogni direzione lo spazio si estende per 32,000 unità. - Attraverso le barre di scorrimento è possibile muoversi all’interno della finestra. ZOOM -Zoom in (down): -Zoom out (up): or View/ Zoom In or View/ Zoom Out Named views – permette di nominare una particolare vista per poi richiamarla Display grid ( ), o snap ( ) Simulazione di processi 12 MODULI • Sono blocchi basilari per la costruzione di un modello di simulazione. • Sono di due tipi: flowchart e data • Differenti moduli significano diverse azioni o specifiche • I moduli da utilizzare si trovano all’interno della Project Bar - per aggiungere un modulo flowchart nel modello, occorre trascinarlo dalla Project Bar nella finestra modello. - in ogni modello possono essere presenti molti moduli flowchart uguali - per selezionare un modulo data, occorre cliccare sulla Project Bar e modificare il modulo nella vista spreadsheet della finestra modello - in ogni modello può essere presente un unico modulo data, ma può contenere molte righe Simulazione di processi MODULI Flowchart L’insieme di questi moduli descrive il processo – rappresentano nodi e stadi attraverso cui le entità fluiscono – tipicamente sono connessi tra loro Il pannello Basic Process contiene i seguenti moduli flowchart: –Create, Dispose, Process, Decide, Batch, Separate, Assign, Record Gli altri pannelli offrono differenti collezioni di moduli Esistono due modi per modificarli: –Doppio click per aprire la finestra di dialogo per le modifiche –Selezionare (singolo click) un tipo di modulo dalla Project Bar, che visualizza in formato dati tutti I moduli del tipo presenti nel modello Simulazione di processi 13 MODULI Data Settano valori e condizioni per l’intero modello –Non sono interessati da flussi di entità nè da connessioni Il pannello Basic Process contiene i seguenti moduli data: –Entity, Queue, Resource, Variable, Schedule, Set Gli altri pannelli offrono differenti collezioni di moduli Le icone sulla Project Bar appaiono come piccole tabelle Per usare un modulo data, occorre selezionarlo (singolo click) nella Project Bar, modificandolo nella vista spreadsheet –Doppio click per aggiungere una riga –Cliccare col destro per altre operazioni Simulazione di processi Relazioni tra moduli I vari moduli Flowchart e Data sono relazionati dai nomi degli oggetti: Queues, Resources, Entity types, Variables … altri Arena provvede ad una lista di nomi di default per questi oggetti – Predefinendola dove utile – Aiutando a richiamare I nomi e prevenendo nomi non corretti Tutti i nomi nel modello devono essere univoci, anche i nomi dei moduli Simulazione di processi 14 ARENA SIMULATION BASIC PROCESS TEMPLATE Simulazione di processi Il modulo CREATE E’ il modulo da cui vengono generate le entità - se sono presenti più di un modulo Create, essi devono avere nomi differenti Simulazione di processi 15 Il modulo CREATE: condizioni Name – nome del modulo (sovrascrivere al default) Entity Type – immettere un nome descrittivo – possono esserci diversi Entity Type con nomi distinti Time Between Arrivals area – specifica la natura dei tempi che separano due arrivi successivi (Type - Value – Units) Entities per Arrival – constant, random o generalmente “Expression” Max Arrivals – blocca la creazione di entità dopo aver raggiunto tale quantitativo First Creation – tempo della prima creazione SMART file 054 Simulazione di processi Modifica dei moduli nella vista spreadsheet E’ un’alternativa alle finestre di dialogo. Risulta conveniente quando si ha bisogno di modificare più moduli simili o molte caratteristiche del modulo. • Click, doppio click sui campi per visualizzare o modificare • Click destro sul margine sinistro per cancellare una riga e il relativo modulo • Click destro sul campo per richiamare Expression Builder di aiuto per costruire espressioni complesse con le variabili di Arena. Simulazione di processi 16 Il modulo ENTITY E’ un modulo di dati, quindi modificabile solo nella visualizzazione spreadsheet. Visualizza, modifica aspetti relativi a diversi tipi di entità. Selezionando I campi si attivano liste a tendina Simulazione di processi Il modulo PROCESS Rappresenta il processo (solitamente un macchinario) che include le risorse, le code e il tempo di processo Simulazione di processi 17 Il modulo PROCESS: condizioni Logic area – cosa succede alle entità Action • Seize Delay Release – le entità occupano alcune unità di una Risorsa (spesso dopo aver atteso in coda), vengono ritardate del tempo di processo, poi rilasciano le unità di risorsa occupata. • E’ possibile ritardare (Delay) solamente le entità senza risorse nè code • E’ presente anche l’opzione Seize Delay (rilascio successivo) o Delay Release (se la risorsa è stata precedentemente occupata) • Priority– numeri più bassi significano priorità più alta Resources definisce le risorse da allocare e/o rilasciare • Doppio click sulla riga (o Add) per aprire la sottofinestra di dialogo • Definire Nome, numero di unità da occupare della risorsa Simulazione di processi Il modulo PROCESS: condizioni (2) Delay Type l’unità di tempo per il ritardo è definita da distribuzioni di probabilità, da una costante o da Expression. Units Unità di tempo del ritardo Allocation Come considerare il ritardo nei costi SMART files 037-040 Simulazione di processi 18 Il modulo RESOURCE Definendo una risorsa nel modulo Process, automaticamente viene creata una voce identificativa della risorsa nel modulo di dati Resource. La risorsa può essere modificata in questo modulo, in particolare: –Type: definisce se la capacità della risorsa sia fissa o variabile secondo una specifica schedulazione – Failures: definisce pause o fermate della risorsa SMART files 004 – 021 - 027 Simulazione di processi Il modulo QUEUE Specifica ogni aspetto delle code presenti nel modello –Se non viene specificato un particolare nome in altri moduli, la coda prende il nome di default di Queue I. Type Specifica la disciplina della coda –Se viene scelto Lowest or Highest Attribute Value, compare un altro campo dove viene specificato quale attributo Shared Definisce se la coda è condivisa tra più risorse SMART file 046 Report Statistics Selezionato per rendere automatico il collezionamento di statistiche e report circa lunghezza della coda o tempo trascorso in coda Simulazione di processi 19 Animazione di Code e Risorse L’animazione di una coda si ottiene già selezionando un comando Seize in un modulo Process. Il tipo di entità animata nella coda viene definita da Entity.Picture nel modulo Entity. Per modificarla View/Entity Pictures Invece non vengono definite automaticamente le animazioni di una Risorsa – per aggiungerne una, nella barra strumenti Animazione, cliccare su Resource per aprire la finestra di dialogo Resource Picture Placement • Identifier – nome della risorsa • Specificare differenti disegni per gli stati della risorsa Idle, Busy, … – Per disegni predefiniti, occorre aprire una “picture library” (.plb estensione) – Selezionare la figura sulla destra, selezionarla (singolo-click), selezionare uno stato (Idle, Busy, …)sulla sinistra, poi per copiare la figura –Per modificarla in seguito, doppio click sulla figura SMART files 010 – 014 - 015 Simulazione di processi Il modulo DISPOSE Rappresenta entità che escono dal modello Name Nome univoco del modulo Record Entity Statistics Se selezionato dà in automatico tempo medio e massimo nel sistema delle entità che escono da questo punto del sistema. Check per statistiche Molti sono selezionati per defult Nessuna difficoltà nel selezionarle In alcuni modelli possono rallentare la simulazione Simulazione di processi 20 Collegare moduli flowchart I collegamenti permettono di definire la corretta sequenza dei moduli attraverso i quali le entità fluiscono, Per fare una connessione – Cliccare su Connect (o Object/Connect) – Il cursore diventa una croce – Cliccare sul punto di uscita del modulo origine, poi sul punto d’accesso del modulo destinazione – per non avere una linea segmentata, ma personalizzata, cliccare durante il collegamento Object menu - Auto-Connect: collega automaticamente l’ultimo modulo inserito con un modulo selezionato ed inserito in precedenza - Smart Connect: impone segmenti verticali o orizzontali - Animate Connectors: mostra le entità in movimento lungo le connessioni Simulazione di processi PLOT Visualizza l’andamento di variabili del sistema durante la simulazione Il plot scompare quando la simulazione termina E’ una modalità di visualizzazione dinamica dei dati Selezionare Plot dalla barra strumenti animazione; “Add” per aggiungere – Expression da visualizzare nel plot – Min/Max valore dell’asse y – Numero di punti da visualizzare (# History Points) per plot – Stepped option (per curve a tratti costanti) – Colori Nel dialog principale sono presenti una serie di caselle per perfezionare il plot SMART file 058 Simulazione di processi 21 Abbellimento del modello E’ possibile aggiungere e modificare oggetti dalla barra degli strumenti Disegno E’ possible aggiungere e modificare anche testo (font, dimensione, colore, orientamento) dalla barra degli strumenti Disegno. Simulazione di processi Run Setup Run/Setup dialog – cinque tabelle – Project Parameters: Titolo del progetto, il proprio nome, statistiche in output – Replication Parameters – numero di Replicazioni, durata e unità di tempo delle replicazioni, periodo di Warm-up (dopo quanto vengono azzerate le statistiche), condizione di termine, opzioni di inizializzazione tra le replicazioni. – Le altre tre tabelle specificano la velocità dell’animazione, le condizioni della simulazione e le preferenze per I report. Terminare la simulazione: Siccome Arena non definisce di default il termine delle simulazioni, se non viene specificato, la simulazione continuerebbe all’infinito Simulazione di processi 22 Iniziare la simulazione Run: Cliccare – – – – – – – dalla barra strumenti Standard Prima o dopo un cambiamento è possibile vedere gli errori logici del modello: Run/Check Durante la simulazione è possibile osservare il modello, spostarsi all’interno dello stesso, ma non modificarlo E’ possibile aumentare la velocità dell’animazione durante la simulazione (Speed up (>) or slow down (<)). Per togliere l’animazione Run/Run Control/ Batch Run(no animation). Una volta terminata la simulazione viene chiesto se si desidera visualizzare i report Premendo si esce dalla modalità Run E’ possibile mettere in pausa la simulazione con Altre opzioni permettono di controllare e analizzre il modello durante la simulazione Simulazione di processi REPORT Se si vogliono vedere i risultati della simulazione si accede ai report: – – – Si apre una nuova finestra per I report (separata dalla finestra modello) La Project Bar mostra il pannello Reports, con vari report Ricordarsi di chiudere tutte le finestre report prima di una nuova simulazione Le impostazioni standard mostrano Category Overview report che riassume molti dei risultati della simulazione – – I Report sono costituiti da più pagine da scorrere ( e ) In anteprima è possibile saltare rapidamente da una pagina all’altra usando I tempi sono misurati in Base Time Units definite in precedenza. Simulazione di processi 23 Tipologie di statistiche nel Report La maggior parte delle statistiche sono classificabili in tre tipologie 1. Tally risultano dalla media, massimo e minimo di una lista (finita) di valori. Utilizzata per output di processo relativo a intervalli di tempo discreto, come tempi di attesa in coda, tempo totale nel sistema,… 2. Time-persistent fanno riferimento a risultati di un plot dove l’asse delle x è un tempo continuo. Utilizzata per output di processo relativo a tempi continui, come lunghezza delle code, WIP, utilizzo delle risorse,…. 3. Counter Somme di qualcosa. Spesso viene utilizzata per contare quante entità passano attraverso un punto nel modello. Vedi modulo RECORD Simulazione di processi Altro sui Report I report così definiti sono basati su database di MS Access, che automaticamente vengono completati durante la simulazione. Se la simulazione prevede più replicazioni vengono prodotti più report per ciascuna di esse. La colonna “Half Width” indica l’intervallo di confidenza dell’output in simulazioni lunghe. E’ un ottimo indice per la validità dei risultati ottenuti. Simulazione di processi 24