Esempio 3: Mobilificio

Documenti analoghi
Utilizzato per trattenere entità che vengono poi successivamente rilasciate e tipicamente per: trattenere entità che devono ricevere un

Mobilificio. Si vuole simulare il comportamento della gestione degli ordini da parte di una azienda che produce mobili di due qualità

TECNICHE DI SIMULAZIONE

ESEMPI DI SIMULAZIONE

Parte 5. L ambiente di sviluppo ARENA

Simulazione. Simulazione - Arena 1

La simulazione è l'imitazione di un processo o di un sistema reale per un

Fondamenti di Informatica

Listini Dinamici. Indice degli argomenti

MACCHINE ROTANTI. Versione 19.02

GESTIONE INVENTARIO Note operative

Esercitazione di Statistica Distribuzioni (Uniforme discreta e continua/ Binomiale/ Poisson) 18/11/2015

jsibac ELEZIONI REGIONALI ED AMMINISTRATIVE DEL 31 MAGGIO 2015 LISTE ORDINARIE Guida Area Servizi Demografici

Listini Dinamici. Indice degli argomenti

Per gestire le dichiarazioni CORRETTIVE/INTEGRATIVE bisogna sempre creare una nuova dichiarazione procedendo come indicato di seguito:

Università di Bergamo. Dipartimento di Ingegneria dell Informazione e Metodi Matematici. Laboratorio di Reti. Prof.

Aule. La classe in questo caso è composta solamente dal nome. Inserire quindi tale attributo all'interno della casella di testo indicata.

QuizFaber. nel «CLOUD»

Scrigno : Check-out locale

AUDITOR DEL SISTEMA QUALITÀ

Scope, Memoria e Tabella dei Simboli

Parte 3 Manuale amministratori

Fondamenti di Informatica

FAQ - Adeguamento IVA iva Che tipo di modifiche devo eseguire per variare l aliquota I.V.A. ordinaria dal 21% al 22%?

AZZERAMENTO INIZIALE CON RIPORTO GIACENZE

CONTABILITA GIOVE 118

PRINCIPI GENERALI. Corso di Tecniche di Simulazione, a.a. 2005/2006. Francesca Mazzia. Dipartimento di Matematica Università di Bari.

U-GOV - RU Ciclo Compensi Creazione Compenso da Contratto al Personale

Capitolo 23: Modulo di offertistica - modifica sconti

- 3 - NSCRIPT: un interfaccia grafica per NS

Appunti di informatica. Lezione 4 anno accademico Mario Verdicchio

AMMINISTRAZIONE DI UN SISTEMA SAP

Creazione di funzioni utente (UDF)

Corso di Laurea in Ingegneria Informatica e Automatica (A-O) Università di Roma La Sapienza

Note sull utilizzo di ISAGRAF V. 3.31

MDG Enpals Spettacolo MANUALE D USO E INSTALLAZIONE

Antonio Cianfrani. Standard Access Control List (ACL)

AVVIO ANNO SCOLASTICO 2014/2015

RDO Multi-lotto ad offerta economicamente più vantaggiosa

GESTIONE RIPOSI COMPENSATIVI PER I FULL TIME GIUSTIFICATIVO DA AUTOGIUSTIFICAZIONE

HUB SISTEMI/FATTURE E SPORTELLO.CLOUD MANUALE DI IMPOSTAZIONE PER LO STUDIO

ERMES DIRECT MARKETING ELETTRONICO E PERSONALIZZATO

Comunicazione Polivalente 2015 (Spesometro): Installazione Aggiornamenti e flusso operativo.

Versione Nella sede del cliente sono stati aggiunti i campi relativi alla modalità di spedizione dei documenti:

DK Link. INTRODUZIONE A DK Link 2. LA COLLABORAZIONE CON FattureGO 2

7 - Calibrazione di una mappa in formato raster per n punti

RICHIESTA CERTIFICATO DI AGIBILITÀ IMPRESE CHE OCCUPANO LAVORATORI DEL SETTORE DELLO SPETTACOLO

Sistemi Operativi 13 Novembre 2015

cliccare su: SCELTA CLASSE

Caselle di Posta Elettronica

Esercitazione Google Maps

La teoria delle code

GESTIONE ARCHIVIO FIFO (GESFIF05)

Sistemi Web per il turismo - lezione 3 -

PROCEDURE DA ESEGUIRE PER NUOVA ALIQUOTA IVA

Rappresentazione degli algoritmi

SEE Electrical Expert V4: FAQ

Distribuzioni di probabilità discrete. Prof.ssa Fabbri Francesca Classe 5C

IPOTESI con riferimento al testo proposto come simulazione in preparazione all Esame di Stato 2015

programma P R I M U L A N T

Reti di Comunicazione e Internet

Accedere con le proprie credenziali nell Area Riservata dell azienda e dal menù principale cliccare su Nuova Importazione

Manuale Sito Videotrend

Esercitazione n 2 Costruzione di grafici

tel.: fax:

Fogli Elettronici. Idoneità Informatica Prof. Mauro Gaspari

Il proprietario di una catena di negozi vuole confrontare il reddito (in euro) dei suoi 5 negozi, riportato nella seguente tabella

Come accedere dalla rete cliente a dispositivi sulla rete macchina con NAT 1:1

Servizi e-business Aste elettroniche via buysite Manuale Buyer

SOLUZIONI DEL 2 0 TEST DI PREPARAZIONE ALLA 1 a PROVA INTERMEDIA

ESEGUIRE PER NUOVA ALIQUOTA IVA

HOTEL AS400 NOTE DI FINE ANNO

Verrà aperta una schermata come quella che segue in figura sottostante:

FATTURAZIONE ELETTRONICA J-BRIDGE

Questo è riservato all Organizzazione Intenazionale per la sistemazione delle parrocchie negli alberghi e per controlli contributi

- 3 - NS CR I P T : un interfaccia g rafica per NS

1.3.1 Usare i blocchi/celle

Distribuzioni di probabilità

GUIDA ALL ISCRIZIONE. Indice

DINAMIC LIGHT LIGHT PLUS Principali modifiche implementate nel corso dell anno 2012 e raggruppate e distribuite nella versione 4.76.

InvoiceComm Document Exchange

programma P R I M U L A N T

Teoria delle File di Attesa

Registro Lezioni e Diario Docenti

Comunicazione delle fatture emesse e ricevute

Verifica di resistenza al fuoco di un. edificio in cemento armato. Esempio guidato 9 Pag. 1

IMU SALDO 2015 Sequenza Operativa. Entro il prossimo deve essere versata la seconda rata IMU dovuta per il 2015.

Esempi di richiesta di Perizia effettuate sul sito e accettate dall agenzia, cliccando sul titolo in blu si passa alla seguente pagina di

6) Una variabile aleatoria discreta V ha la seguente densità di probabilità:

Collocamento ARCHIVI DI BASE PRATICHE COLLOCAMENTO COLLOCAMENTO PRATICHE

INDICE. FattureGO Guida introduttiva

I Timy. Programma COMMANDER

Phpmyadmin. Creazione Database

Installazione e utilizzo

Gestione Alunni. SCUOLA SECONDARIA DI I GRADO Anagrafe Nazionale Avvio a.s. 2016/2017

Xerox CentreWare Web Identificazione e applicazione della patch per il firmware di scansione

Presentazione Domande di Disoccupazione Agricoli e/o A.N.F. Internet Versione 1.0

Creazione account Bluemix (sulle schermate sarà visualizzato il testo in Italiano o Inglese a seconda delle impostazione del browser)

Transcript:

Esempio 3: Mobilificio Un azienda operante nel settore dell arredamento intende simulare il funzionamento del proprio reparto produttivo. L azienda produce armadi di diverse qualità, che, a seconda delle esigenza dei clienti, possono essere standard o personalizzati. Gli ordini arrivano secondo una distribuzione di Poisson di valor medio L. All arrivo di un ordine è necessario un processo di taglio delle lastre e di preparazione dei semilavorati. Tale processo è effettuato da N1 macchine automatiche identiche, ciascuna delle quali può produrre un armadio alla volta. Un eventuale ordine che arrivi quando tutte le macchine sono impegnate viene messo in una coda FIFO comune a tutte le macchine. La lavorazione di un armadio su una macchina richiede un tempo uniformemente distribuito in [TMIN1,TMAX1] ed è effettuata senza interruzioni. Gli armadi devono successivamente subire un operazione di verniciatura. Gli armadi standard sono sottoposti a tale operazione su un unica verniciatrice automatica, che impiega un tempo uniformemente distribuito in [TMIN2,TMAX2] e che lavora un armadio alla volta. Al termine di tale operazione esiste una probabilità p1 che la verniciatura risulti difettosa. In tal caso l operazione deve essere ripetuta. Gli armadi che devono essere sottoposti a verniciatura e incontrano la macchina occupata attendono in un unica coda FIFO. Al termine della verniciatura escono dal reparto produttivo. Con probabilità pp il cliente può richiedere un armadio personalizzato. In tal caso la verniciatura è effettuata da N2 addetti, che impiegano per la lavorazione di un singolo armadio un tempo uniformemente distribuito in [TMIN3,TMAX3]. Al termine di tale operazione esiste una probabilità p2 che l armadio risulti irrimediabilmente danneggiato e debba essere scartato. In tale eventualità l ordine viene ripreso dall inizio delle lavorazioni. Ogni operatore ha associata una coda FIFO che viene gestita secondo la seguente politica: se all'arrivo di un armadio c'è un addetto libero, la lavorazione inizia immediatamente, altrimenti l armadio viene assegnato all'addetto che ha la coda più corta. La simulazione termina quando NTOT armadi sono usciti dal sistema (tra scartati e completati). Si vuole determinare: il tempo medio di permanenza nel sistema degli armadi completati (esclusi gli scartati); il tempo medio di attesa in coda degli armadi personalizzati completati (esclusi gli scartati); il tempo medio di attesa in coda degli ordini completati; il numero di armadi scartati. Per ottenere i risultati della simulazione si utilizzino i seguenti parametri (le durate si intendano espresse in minuti): L = 8 N1 = 5 TMIN1 = 20 NTOT = 50 TMAX1 = 50 TMIN2 = 5 TMAX2 = 15 p1 = 0.1 pp = 0.2 N2 = 2 TMIN3 = 40 p2 = 0.2 TMAX3 = 70 1

Proposta di soluzione: Schema Generale 2

Settore 1: creazione entità ed operazioni. L azienda produce armadi di diverse qualità. Gli ordini arrivano secondo una distribuzione di Poisson di valor medio L. Utilizzando il modulo Create, che rappresenta il punto iniziale di ogni simulazione, definiamo il tipo di entità che vogliamo creare. Inoltre, specificando le modalità di creazione, generiamo il vero e proprio flusso delle entità nel sistema. 3

Attraverso un modulo Assign, che ci permette di settare nuovi valori a variabili, attributi e variabili di sistema, definiamo il nuovo attributo T_INIZIO settandolo opportunamente a TNOW (istante nel quale l entità attraversa tale blocco). Viene poi settato anche l attributo Vecchio a 0, per definire appunto che l entità rappresenta un nuovo ordine appena creato. All arrivo di un ordine è necessario un processo di taglio delle lastre e di preparazione dei semilavorati. Tale processo è effettuato da N1 macchine automatiche identiche, ciascuna delle quali può produrre un armadio alla volta. Il processo di taglio é simulato attraverso il modulo Process. Settando il campo Action con l opzione Seize Delay Release otteniamo le specifiche volute, cioè un operazione che richiede una coda, che richiede un ritardo e che infine rilascia l entità. Passiamo ora a definire le specifiche che riguardano le risorse utilizzate, settando ad 1 la quantità della risorsa Tagliatrice, proprio perché essa può produrre un armadio alla volta. 4

La lavorazione di un armadio su una macchina richiede un tempo uniformemente distribuito in [TMIN1,TMAX1] ed è effettuata senza interruzioni. Per simulare il tempo di lavorazione di un processo occorre settare l opzione Delay Type che specifica il tipo di ritardo. Abbiamo diverse scelte a seconda delle specifiche; nel nostro caso selezioniamo l opzione Uniform e poi specifichiamo il minimo e il massimo della distribuzione uniforme, settando i rispettivi campi Minimum e Maximum. L armadio Personalizzato risulta irrimediabilmente danneggiato e debba essere scartato. In tale eventualità l ordine viene ripreso dall inizio delle lavorazioni. 5

Questo modulo Decide viene creato per suddividere gli ordini nuovi da quelli vecchi, che devono esseri ripresi dopo che un armadio è stato scartato. La scelta viene fatta attraverso il confronto dell attributo Vecchio ( Type impostato a 2-way by Condition ). L attributo come abbiamo visto è settato per ogni nuova entità a 0. Quindi, se il valore è ad 1, significa che l ordine è tornato indietro. Dovrà allora essere subito rispedito verso il sottomodello Verniciatura Personalizzata, ricordandoci infatti che soltanto gli ordini di tipo Personalizzato potevano essere ripresi dall inizio. A seconda delle esigenza dei clienti, possono essere standard o personalizzati. Con probabilità pp il cliente può richiedere un armadio personalizzato. Al contrario se si ha una nuova entità creata ( Vecchio a 0) essa è inviata verso un altro modulo Decide per simulare la probabilità che un cliente richieda nel proprio ordine un armadio Standard o uno Personalizzato, impostando correttamente il valore Type a 2-way by Chance. Dopo la suddivisione degli ordini, sempre con due moduli Assign, settiamo i due attributi ASPETTATO e Personalizzato come in figura. 6

Gli armadi devono successivamente subire un operazione di verniciatura. Per rappresentare le due diverse tipologie di verniciatura si è deciso di usare due sottomodelli. Sottomodello: Verniciatura Standard Gli armadi standard sono sottoposti a tale operazione su un unica verniciatrice automatica, che impiega un tempo uniformemente distribuito in [TMIN2,TMAX2] e che lavora un armadio alla volta. 7

Con un altro modulo Process simuliamo l operazione di verniciatura standard settando tale modulo come avevamo fatto per l operazione di taglio proprio perché abbiamo specifiche simili. Al termine di tale operazione esiste una probabilità p1 che la verniciatura risulti difettosa. In tal caso l operazione deve essere ripetuta. Con un altro modulo Decide simuliamo la probabilità che la verniciatura risulti difettosa. Ovviamente se si ha esito negativo l entità continua il suo cammino nel sistema, se no l ordine ritorna nel modulo Verniciatrice Standard per ripetere il processo. 8

Sottomodello: Verniciatura Personalizzata In tal caso la verniciatura è effettuata da N2 addetti, che impiegano per la lavorazione di un singolo armadio un tempo uniformemente distribuito in [TMIN3,TMAX3]. Utilizziamo questa volta moduli separati, cioè un modulo Process per ogni addetto (N2 addetti = N2 processi), per gestire al meglio il fatto che abbiamo una coda per ogni risorsa. 9

Se all'arrivo di un armadio c'è un addetto libero, la lavorazione inizia immediatamente. Con un modulo Decide a tre vie selezioniamo il processo che ha momentaneamente la propria risorsa libera. Per fare ciò aggiungiamo nelle condizioni le due espressioni: o Verniciatura P1.WIP == 0 o Verniciatura P2.WIP == 0 Altrimenti l armadio viene assegnato all'addetto che ha la coda più corta. Se non ci sono addetti liberi allora si passa al secondo modulo Decide che indirizza le entità verso la coda più corta. Questa volta abbiamo un'unica espressione che rappresenta la condizione da verificare; cioè controlliamo se il numero di entità in coda nel modulo Verniciatura P1 è minore uguale di quelli in coda nel secondo processo: o NQ(Verniciatura P1.Queue)<=NQ(Verniciatura P2.Queue) 10

N.B. Ad una prima analisi poteva sembrare ovvio utilizzare soltanto quest ultimo blocco Decide con la sua unica condizione; infatti verificando il numero di entità in coda avremmo subito indirizzato gli ordini verso il processo momentaneamente più libero. Ma operando così non avremmo tenuto in conto il caso in cui il numero di entità di entrambe le code fosse stato zero, mentre nel modulo Verniciatura P1 si aveva un ordine che occupava la risorsa e in Verniciatura P2 risorsa libera. Così facendo il blocco Coda P1 più corta? avrebbe infatti spedito l ordine verso il processo P1, rallentando le operazioni e quindi non simulando correttamente il sistema. Al termine di tale operazione esiste una probabilità p2 che l armadio risulti irrimediabilmente danneggiato e debba essere scartato. Sempre con un modulo Decide simuliamo la probabilità che l armadio si rovini e venga scartato. 11

In tale eventualità l ordine viene ripreso dall inizio delle lavorazioni Se questo si verifica l entità passa prima in nuovo modulo Assign e poi riprende il suo percorso all interno del sistema ritornando al modulo Taglio, proprio perché devono essere ripetute tutte le operazioni. Il blocco ArmadiRovinati setta ovviamente ad 1 l attributo Vecchio e attraverso la nuova variabile rovinati, utilizzata come contatore, aggiorna il numero di armadi scartati. Viene anche modificato l attributo ASPETTATO, settandolo ad Entity.WaitTime, per mantenere il tempo d attesa, se c è stato, dell ordine scartato. Infine, il tempo di ingresso nel sistema dell armadio viene re-inizializzato (sto per iniziare a lavorare un nuovo mobile relativo ad un vecchio ordine). Code Tutte le macchine sono impegnate viene messo in una coda FIFO (Taglio) Attendono in un unica coda FIFO (V. Standard) Ogni operatore ha associata una coda FIFO (V. Personalizzata) Per definire il tipo di coda associata ad ogni processo apriamo la tabella Queue in Basic Process. Come notiamo, di default, abbiamo sempre una coda di tipo FIFO; quindi nel nostro caso non occorre apportare nessuna modifica. Risorse 12

Tale processo è effettuato da N1 macchine automatiche identiche (Taglio) Tale operazione su un unica verniciatrice automatica (V. Standard) In tal caso la verniciatura è effettuata da N2 addetti (V. Personalizzata) Infine ricordiamoci di controllare il valore Capacity nella tabella Resource in Basic Process. Di default le capacità di ogni risorsa sono settate ad uno, quindi andiamo a modificare solo il valore della risorsa Tagliatrice settandolo appunto ad 5 = N1. Da notare infatti che il campo Capacity accetta solo valori di tipo intero e non variabili. Invece, siccome abbiamo utilizzato due risorse divise per il processo di Verniciatura Personalizzata, le capacità di Addetto1 e Addetto2 rimangono ovviamente ad uno. Ora che tutte le operazioni sono state eseguite le entità possono uscire dal sistema, cioè devono essere solo distrutte, ma prima di ciò attraverso altri moduli raccogliamo dati e statistiche per poi ricavare i risultati voluti. Settore 2: statistiche e distruzione entità. Gli armadi personalizzati terminato il processo di verniciatura (se tale verniciatura è andata a buon fine) entrano nel blocco attesop?. È un modulo Decide che seleziona le entità che hanno atteso almeno in una coda all interno dell intero sistema da quelle che invece non hanno mai aspettato. Tale scelta viene effettuata a seconda che il valore Entity.WaitTime, che memorizza appunto il tempo di attesa dell entità, sia maggiore dell attributo ASPETTATO. Ricordiamo infatti che quest ultimo è sempre settato a zero e il suo valore può variare soltanto se l ordine deve essere ripreso dall inizio a causa di un armadio scartato. In altre parole, l attributo ASPETTATO 13

memorizza tutto il tempo trascorso in coda dagli armadi relativi allo stesso ordine che sono stati scartati NON includendo invece il tempo di attesa in coda dell ultimo armadio che finalmente è stato verniciato correttamente. Se la condizione è verificata l ordine (l armadio) finisce nel modulo Assign che aumenta il tempo di attesa in coda globale degli armadi della quantità necessaria. La variabile modificata è: Sia che l armadio abbia aspettato o meno, dobbiamo incrementare il numero di armadi personalizzati usciti dal sistema in modo da poter usare il dato per calcolare il tempo medio atteso in coda dagli armadi personalizzati completati: 14

Ora tutti gli ordini confluiscono nell ultimo blocco dedicato alle statistiche, il modulo Assign Incrementa Usciti che, come dice il nome stesso, incrementa il valore di una nuova variabile ogni volta che un ordine esce dal sistema, aggiornando ogni volta così il numero totale di ordini terminati. In più vengono prese altre statistiche: In particolare: viene incrementata la variabile che memorizza il numero di armadi/ordini completati 15

la variabile che memorizza il tempo totale passato dagli armadi completati nel sistema la variabile che memorizza il tempo totale passato nel sistema dagli ordini In conclusione tutte le entità finiscono nel modulo Dispose, punto di fine di ogni simulazione. Qui le entità vengono distrutte e vengono raccolte le statistiche. Variabili L = 8 N1 = 5 TMIN1 = 20 NTOT = 50 TMAX1 = 50 TMIN2 = 5 TMAX2 = 15 p1 = 0.1 16

pp = 0.2 N2 = 2 TMIN3 = 40 p2 = 0.2 TMAX3 = 70 Ora non ci rimane che aprire la tabella Variable in Basic Process, inserire ancora le variabili che ci servono, impostare tutti i valori che ci vengono assegnati e selezionare le variabili che vogliamo che compaiano sulle tabelle delle statistiche. La simulazione termina quando NTOT armadi(tra completati e rifiutati) sono usciti dal sistema (o anche quando NTOT ordini sono stati completati). Ricordarsi poi di impostare nel menù Run Setup la condizione di terminazione della simulazione (NTOT = 50). 17

Si vuole determinare: o il tempo medio di permanenza nel sistema degli armadi completati (esclusi gli scartati); o il tempo medio di attesa in coda degli armadi personalizzati completati (esclusi gli scartati); o il tempo medio di attesa in coda degli ordini completati; o il numero di armadi scartati. Le statistiche vengono definite nella tabella Statistic in Advanced Process. Non e necessario definire nella tabella il numero di armadi scartati perché e sufficiente cercare nei risultati il valore della variabile rovinati. Infine eseguire la simulazione, mandando in run il sistema e attendere i relativi risultati. 18