Scarico - UniversiBO
Transcript
Scarico - UniversiBO
Sistemi di Produzione Avanzati M Cristina Mora [email protected] Obiettivi del corso Capire cosa serva ad un'impresa attualmente → modalità innovative e tecniche avanzate da applicare in azienda → Lean Thinking ma in particolare Lean Manufacturing. Base di tale filosofia è ridurre/eliminare gli sprechi. Prendiamo come linea guida un caso aziendale, HydroPump, semi-reale, in cui l'azienda deve aprire un nuovo reparto. Programma del corso • Introduzione alla Lean Manufacturing ed alla Lean Supply Chain • Progettazione di sistemi di produzione avanzata in ottica lean ◦ Cellular Manufacturing ◦ Livellamento della produzione ◦ Progettazione delle risorse ◦ Progettazione del Layout aziendale (Software LRP) ◦ Analisi dei flussi di materiale e progettazione dei sistemi di trasporto interni (Software LFAS) ◦ Progettazione degli impianti di servizio ◦ Valutazione economica del progetto e incidenza sul prezzo del prodotto finito • Lean supply chain (gestione integrata delle scorte [col fornitore] e consignment stock [col cliente]) • Progettazione dei sistemi di picking (non si parla più di Unità di Carico intere ma di piccole quantità frazionate) • Logistica distributiva (Software Log Optimizer) • Evoluzione da logica push a logica pull (Value Stream Mapping come strumento di analisi per capire com'è l'attuale situazione dell'azienda) Esame e Appelli • Parte di teoria (2 domande) + Parte di esercizi (2 esercizi), entrambe devono essere sufficienti. • Durata 2h 30'. Iscrizione su Almaesami. • 1° appello: 21/06/2011 • 2° appello: 19/07/2011 Seminari • P&G • Caterpillar • Arcese • Bosch A. Acquaderni, A. Azami, A. Gennari 1 a.a. 2010-2011 Indice Pagine Lean Manufacturing System & Lean Supply Chain …............................................................ 3 Sviluppo della progettazione di un sistema produttivo ….................................................... 10 1. Analisi del mix di vendita ed individuazione del mix produttivo …........................... 11 2. Studio dei cicli di produzione ................................................................................... 12 3. Calcolo statico del numero di risorse necessarie ….................................................... 13 4. Applicazione di tecniche di clustering sulle risorse …............................................... 22 5. Determinazione del layout di stabilimento …............................................................ 52 6. Analisi dei flussi di materiale e ottimizzazione dei parametri di trasporto ............. 60 Esercitazione sui flussi e sui sistemi di movimentazione …...................................... 65 7. Ottimizzazione del comportamento dinamico mediante simulazione ….................. 77 8. Dimensionamento del sistema di cogenerazione energetica aziendale …................ 78 9. Cenni sulla procedura autorizzatoria …..................................................................... 85 10. Valutazione (draft) del costo di lavorazione ….......................................................... 86 Gestione integrata delle scorte nella catena logistica …....................................................... 89 Lotto Economico Congiunto ….............................................................................….. 89 Consignment Stock …............................................................................................... 105 Esercizi Gestione Integrata delle Scorte …................................................................ 111 Progettazione e controllo di sistemi flessibili di Order Picking …...................................... 115 Esercizio di progettazione area di stoccaggio picking ….......................................... 130 La logistica distributiva …................................................................................................... 144 Esercizio reti distributive .…..................................................................................... 155 Lean Thinking e Value Stream Mapping …......................................................................... 158 Esercizio Value Stream Mapping (Learning to See) …............................................. 159 Caterpillar Paving …............................................................................................................. 172 Piattaforma software per la progettazione di network logistico – distributivi …............… 176 Valutazione delle ridondanze (duplicazione) dei tipi di macchine …................................. 179 Arcese – Gruppo Progetto .................................................................................................. 183 Approfondimento Value Stream Mapping …...................................................................... 186 Dettagli esame + domande esame 21/06/2011 …............................................................... 188 Esercizi Vari …..................................................................................................................... 189 A. Acquaderni, A. Azami, A. Gennari 2 a.a. 2010-2011 1/03/2011 Lean Manufacturing System & Lean Supply Chain “It's not spectacular concepts that distinguish world class companies, it's the uncompromising way of applying already known tools and methods” Lean manufacturing E' un sistema integrato di attività progettato per realizzare ampi mix produttivi usando scorte minime di materie prime, WIP e di prodotti finiti. • E' una filosofia che abbraccia tutti i settori industriali (produzione, logistica, manutenzione, CQ, ecc) • Scopo: conseguire il miglioramento continuo in termini di qualità e produttività • Produrre solo gli articoli effettivamente voluti dal cliente nelle quantità e nei momenti effettivamente necessari L'attenzione che oggi si deve avere è per l'ampio mix produttivo. Nel 1950 Ford produceva 7.000 auto al giorno, Toyota 2.685 in 30 anni, Ford utilizzava la catena di montaggio che in Giappone non avrebbe funzionato, a detta di Eiji Toyoda e Taiichi Ohno, poiché: • Mercato interno limitato e gamma elevata • Lavoratori non volevano essere considerati come variabili o pezzi intercambiabili • Economia Giapponese devastata dalla guerra soffriva per mancanza di capitali → non poteva costruire tecnologiche catene di montaggio → Nasce la produzione snella, Just in Time [Lettura consigliata: “The machine that changed the world”, Womack e Jones; anni dopo gli stessi autori scrivono “Lean Thinking”]. • • • Ohno voleva produrre auto di massa, utilizzando poche presse per produrre l'intero veicolo Sperimentò la tecnica dei cambi rapidi (da 1 giorno a 3 minuti per il setup) Sperimentò che il costo unitario dello stampaggio di piccoli lotti era inferiore a quello relativo a grandi partite (per ritardi nella rilevazione di problemi di qualità) → Produrre quantitativi ridotti eliminava le spese di immobilizzo degli immensi stock di pezzi finiti. → La fabbricazione di pochi pezzi rivelava istantaneamente gli errori di stampaggio prima che fosse assemblata l'auto. A. Acquaderni, A. Azami, A. Gennari 3 a.a. 2010-2011 03/03/2011 1840-1910 → Job shop → reparti produttivi, functional layout 1910-1970 → Flow shop, product layout 1960-2010 → Linked cells, TPS, One piece flow via Linked cells 2010-future → Integrated Manufacturing Computerized, Linked assembly of large modules or subassemblies. Il jobshop non consente di conseguire economie di scopo → ottenere la variabilità domandata dal cliente, in maniera efficiente. Nel modello americano si definiva il guadagno partendo dall'obiettivo di prezzo → aggiungendo il margine al costo (Costo + Profitto = Prezzo) → l'azienda, conoscendo i costi, impone un margine percentuale e ricava il prezzo. Adesso il prezzo è determinato dal cliente → è un input dell'azienda → dal prezzo si sottraggono i costi e si ottiene il profitto → logica Giapponese ribaltata e più orientata al cliente. Ne risulta la necessità di impostare un sistema produttivo focalizzato alla riduzione dei costi; i costi sono direttamente proporzionali agli sprechi → Obiettivo è la riduzione degli sprechi (muda); ad esempio sprechi sono le attese e le movimentazioni di materiali. Il tempo di attraversamento è caratterizzato da: • Tempo in cui il prodotto sta sulla macchina = 5% • Tempo di movimentazione e attesa = 95% Il tempo di permanenza effettiva sulla macchina (→ creazione del valore) è solo il 5% → il cliente in teoria è disposto a pagare solo per il 5%, il resto è spreco in teoria a nostro carico. Il 5% di lavorazione è diviso in: • 36% di effettiva lavorazione • 14% Setup • 17% Carico/Scarico • 16% Attività di ispezione e controllo Attività non a valore aggiunto ma necessarie → non eliminabili (ma riducibili) Il restante 95% del throughput time rappresenta attività non a valore aggiunto e non necessarie → da ridurre il più possibile. Del 5% solo il 36% è produttività → 5% * 36% = 2%, anche passando dal 36% ad un teorico 60% si avrebbe una produttività totale del 3% → non molto aumentata, in compenso per A. Acquaderni, A. Azami, A. Gennari 4 a.a. 2010-2011 tale passaggio si avrà un forte investimento (nuovi macchinari); si avrebbe invece un notevole miglioramento se si passasse dal 5% ad un 50% → 36% * 50% = 18% e con un investimento relativamente basso, riducendo movimentazioni ed attese → TPS (Toyota Production System). Indici di valutazione dei sistemi produttivi: • Throughput time • Tempo ciclo/tasso di produzione (tempo che intercorre tra 2 prodotti/semilavorati usciti dalla macchina) • Work in Process Definizioni Throughput time: tempo di attraversamento del sistema produttivo (= lead time) [min/pz] Temo di ciclo: tempo che intercorre tra l'uscita di 2 prodotti [min/pz] = tempo in cui l'operatore svolge tutte le attività su un pezzo prima di ripeterle sul pezzo successivo. E' anche detto “takt time” per le realtà di assemblaggio. Il tempo ciclo è l'inverso del tasso di produzione Pr [pz/min] → Tc = 1/Pr. Il takt time è funzione della domanda del cliente e del tempo disponibile → Takt time = Tdisponibile / Domanda Tempo di produzione: • Setup • Carico/Scarico • Controllo Qualità • Lavorazione sul prodotto (Tempo di truciolo) Tempo operatore: tempo di effettivo impiego dell'operatore → l'operatore lavora in setup, controllo, e carico/scarico, per il resto è disimpegnato. Il TPS prevede che nel mentre lavori ad altre macchine → si abbassa la specializzazione Tempo a Valore Aggiunto: tempo di truciolo, di effettiva lavorazione alla macchina. Si crea tanto più valore quanto più faccio coincidere il tempo di truciolo col takt time. (VA < TC < LT) Nella configurazione a celle la disposizione migliore è la U-shape, in cui l'operatore sta al centro e minimizza gli spostamenti, inoltre è specializzato per tutti i macchinari della cella → si riduce il tempo di produzione che si avvicina all'obiettivo di takt time. A. Acquaderni, A. Azami, A. Gennari 5 a.a. 2010-2011 Nell'analisi si parte da un as-is, si spiegano i cambiamenti, si rilevano i miglioramenti ed i peggioramenti, ad esempio diminuzione delle scorte vs diminuzione di produttività. Infatti la U-shape cell riduce il WIP ed i tempi di movimentazione ( → il 95% diminuisce) ma passando da job shop a celle a U potrebbe diminuire la produttività e la necessità di operatori. Il tempo ciclo è dato dalla somma del tempo di lavoro dell'operatore e il tempo che l'operatore ci mette a spostarsi da una macchina all'altra. Nell'esempio in questione è TC = 110 s/pz. Questo deve essere inferiore al tempo macchina, se non lo è duplico o triplico i macchinari. Si eliminano i motivi di mantenimento di scorte che sono considerate negative perché: • Rappresentano un immobilizzo di capitale • Nascondono i reali motivi di inefficienza del sistema produttivo Per contro si utilizzano scorte per far fronte a : • Variabilità della domanda • Variabilità del lead time, di produzione e di fornitura Dalla Lean Production alla Lean Enterprise Progettazione (concurrent engineering, configuratori di prodotto, co-design) Produzione (Pull System) Ambiente (ISO-14000, EMAS) Lean Production Logistica (Supply Chain Management) Sicurezza (626, OSHAS 18001) Qualità (TQM, ISO-9000) Manutenzioe (TPM, CBM, CMMS) Strumenti della lean production • 5S → Seiri, Sieton, Seiso, Seiketsu, Shitsuke = Organizzare, Ordinare, Pulire, Standardizzare, Disciplina • Just in Time → Fornire i pezzi giusti al momento giusto, nelle giuste quanità • Kanban → Rapida ed efficace trasmissione delle informazioni • Kaizen → Miglioramento continuo • Poka Yoke → Strumento diretto alla prevenzione degli errori ed alla rapida individuazione di un errore • Heijunka → Livellamento della produzione distribuendo in modo uniforme il mix produttivo nel tempo; livellamento dei carichi di stabilimento, rappresenta la regolarizzazione dei flussi di produzione per attenuare le onde d'urto normalmente scatenate dalle variazioni di programmazione (una variazione a monte in una fase di assemblaggio si riperquote a valle lungo la supply chain in modo amplificato). • TPM → Total Productive Maintenance • Takt Time → Velocità alla quale le parti devono essere prodotte per soddisfare la domanda • Cellular Manufacturing → Unità di lavoro definite per realizzare una famiglia di prodotti. A. Acquaderni, A. Azami, A. Gennari 6 a.a. 2010-2011 Eliminazione degli sprechi Il sistema produttivo Toyota prevede eliminazione degli sprechi ma allo stesso tempo rispetto per le persone. Spreco è qualsiasi cosa diversa dal quantitativo minimo di attrezzature, materiali, parti e addetti che sono assolutamente essenziali alla produzione. Sprechi Come eliminare gli sprechi Sovraproduzione Network di fabbriche focalizzate Tempi di attesa Group Technology (cellular manufacturing) Trasporti Qualità alla fonte Scorte Produzione JIT Processi Livellamento dei carichi di stabilimento Movimentazioni Controllo di produzione con Kanban Prodotti difettosi Minimizzazione dei tempi di attrezzaggio A. Acquaderni, A. Azami, A. Gennari 7 a.a. 2010-2011 7/03/2011 I 10 passi della Lean Manufacturing Nel tempo dal TPS si è cercato di definire una metodologia → sono stati stilizzati 10 steps per definire la Lean Manufacturing (è importante rispettare l'ordine). 1. Riorganizzare il sistema produttivo: Costruire buone fondamenta → Layout → Cellular Manufacturing, in cui ogni cella è dedicata ad una famiglia di prodotti; Ushape cells; si riduce il WIP e quindi le scorte in generale si riducono i tempi di attesa e le movimentazioni 2. Riduzione/eliminazione dei setup: Ridurre l'incidenza dei tempi di setup su throughput time (mediamente ne costituiscono il 16-17%). Avendo Tsetup elevato devo “ammortizzarlo” con produzioni più lunghe (Cip Time deve essere >> Tsetup). Se Tsu >> Tprod [min/pz] (unitario) → si tende ad avere lotti elevati → non va bene con il lean thinking perché lotti alti = scorte alte. Se invece Tsu fosse ridotto potrei andare verso lotti più bassi → One Piece Flow → ciò permette di avere lotti molto più ridotti all'interno dello stesso throughput time. Bassi Tsu consentono di ottenere livellamento della produzione, per avere ciò si utilizzano ad esempio tecniche SMED 3. Total Quality Control: Integrazione del controllo di qualità all'interno del processo produttivo. Nella lean production la qualità non è demandata solo alla fase finale ma va fatta in tutte le fasi del processo produttivo → l'operatore oltre a carico e scarico deve verificare la qualità del prodotto, inoltre deve essere responsabile della piccola manutenzione della macchina. 4. Integrare la manutenzione preventiva: Fare in modo che la macchina non si fermi mai → evitare tempi persi per guasti; è l'operatore che gestisce la manutenzione della macchina. TPM = Total Productive Maintenance 5. Livellamento della produzione: E' importante dal momento che ci permette di eliminare o contenere le fluttuazioni della domanda. Con una domanda livellata posso introdurre i Kanban e ridurre il più possibile l'intervallo di riferimento di produzione per rispondere meglio alle esigenze del cliente. A. Acquaderni, A. Azami, A. Gennari 8 a.a. 2010-2011 M = Domanda mensile del cliente [pz/mese] Dd = Domanda giornaliera [pz/gg] = M/D dove D = giorni lavorativi del mese Tc = Tempo di ciclo = Tdisponibile giornaliero / Dd = [h/gg] / [pz/gg] = [h/pz] Infine si definisce il n° di pezzi che deve costituire il lotto di produzione, il TPS prevede una condizione ideale di 1 pz/lotto. Con una produzione livellata ottengo una domanda giornaliera ideale per la formula del KB: N ° KB= D d⋅Lead Time n Obiettivo è produrre tutti i prodotti ogni giorno → devo individuare una sequenza ABCD che risponda alla domanda giornaliera. Esempio: sono fornite le quantità giornaliere di 4 varianti di automobile realizzate sulla stessa linea → TDC, TDF, FDS, FDW, sono i 4 prodotti del mix: Tdisponibile = 8 h/gg = 480 min/gg Tciclo = Td / Dd = 480 [min/gg] / 240 [pz/gg] = 2 [min/pz] Dd [pz/gg] TcicloModello = Tdisponibile / Dciascuno N° di volte in cui Dopo aver trovato la stanno nel più grande sequenza di base vedo che la posso ripetere 2 volte/gg TDC 50 480/50 = 9,6 [min/pz] 2 x2 = 4 TDF 100 480/100 = 4,8 [min/pz] 4 x2 = 8 FDS 25 480/25 = 19,2 [min/pz] 1 x2 = 2 FDW 65 480/65 = 7,4 [min/pz] 2,5 x2 = 5 Tot 240 [pz/gg] 6. Production Control: Introduzione di un sistema di controllo e programmazione della produzione → Just in Time e Kanban 7. Ridurre i WIP: Reingegnerizzando il processo produttivo 8. Integrazione con i fornitori: Anche i fornitori devono essere in linea con questa filosofia 9. Automazione: 10. Computer Integrated Manufacturing: A. Acquaderni, A. Azami, A. Gennari 9 a.a. 2010-2011 Sviluppo completo della progettazione di un sistema produttivo: dallo studio di fattibilità al progetto esecutivo Caso Hydropump Azienda Hydropump produce pompe idrauliche di 2 tipologie: uso agricolo ed uso industriale → avendo l'azienda acquistato un terreno da 20.000 m 2, e dovendo riprogettare il reparto Lavorazioni meccaniche, in cui vengono assemblati parti da fornitori e parti prodotte internamente, si chiede di: • Riprogettare il reparto in ottica lean • Progettare la nuova centrale cogenerativa • Riorganizzare la gestione delle scorte Step della progettazione 1. Analisi del mix di vendita ed individuazione del mix produttivo 2. Studio dei cicli di produzione 3. Calcolo statico del n° di risorse 4. Applicazione di tecniche di clustering sulle risorse 5. Determinazione del layout di stabilimento 6. Analisi dei flussi di materiale e ottimizzazione dei parametri di trasporto 7. Ottimizzazione del comportamento dinamico mediante simulazione 8. Dimensionamento del sistema di cogenerazione energetica aziendale 9. Cenni sulla procedura autorizzatoria e sulla sicurezza 10. Valutazione (draft) del costo di lavorazione Step della riorganizzazione delle scorte 1. Analisi e definizione dei lotti economici di fornitura e distribuzione 2. Studio delle modalità di allocazione della merce a magazzino mediante order picking 3. Analisi e definizione del sistema di distribuzione dei prodotti finiti In azienda si hanno 2 situazioni: • “Prato verde” → progettazione di un sistema produttivo partendo dal terreno (come nel caso del Reparto Lavorazioni Meccaniche) • “As-is” → Analisi e riprogettazione → “To-be” con migliori parametri prestazionali. Si utilizzano in questo caso strumenti come il Value Stream Mapping. A. Acquaderni, A. Azami, A. Gennari 10 a.a. 2010-2011 8/03/2011 1. Analisi del mix di vendita ed individuazione del mix produttivo Mix di produzione • • • • • Agri 1 → 11 varianti (a membrana, 20 < P < 60 bar) Per l'agricoltura Agri 2 → 7 varianti (a pistoni, P > 60 bar) Ind 1 → 14 varianti (a pistoni, P alta > 350 bar) Ind 2 → 15 varianti (a pistoni, media P) Per l'industria Ind 3 → 8 varianti (a pistoni assiali) In totale 55 varianti diverse Ogni pompa è composta da numerosi componenti di cui solo alcuni sono costruiti internamente al Reparto Lavorazioni Meccaniche, ad esempio per Ind 1 testate (in lega), bielle (in acciaio), carter (in lega) e alberi presa di forza (in acciaio). Primo passaggio è cercare di individuare una certa modularità, e di ciò si occupa l'Ufficio Tecnico poiché è un passaggio prettamente tecnologico. Nel caso di Ind 1 il reparto dovrà far uscire 20 componenti divisi tra le 4 → si crea una Distinta Base (componenti e quantità), ed in seguito si vanno ad analizzare i cicli produttivi → infine dall'incrocio della DB con i cicli si identificano le risorse. Mix di vendita Per l'analisi del mix di vendita prima cosa da fare è l'analisi della serie storica sulle vendite passate → poi si creano modelli predittivi su vendite future → ordini aperti già confermati → analisi “empirica” del mercato. Da questa prima analisi si passa alla previsione di vendita dei prodotti finiti dell'anno venturo (2012) → Si decide la produzione di riferimento del reparto lavorazioni meccaniche per l'anno venturo (2012). A. Acquaderni, A. Azami, A. Gennari 11 a.a. 2010-2011 2. Studio dei cicli di produzione Vanno evidenziate le similarità di operazioni sui diversi componenti, ma questo è uno studio tecnologico non svolto da noi. Si ottengono da questo studio dei tempi che sono frutto di una rilevazione sul campo nel caso di azienda già esistente, nel caso di lavorazioni nuove o inesperienza invece si utilizzeranno tempi standard. In ogni caso i tempi vanno verificati con cronometro per dimensionare correttamente la produzione. Questi tempi si dividono in Tmacchina, Ttruciolo, Toperatore e Tsetup; Tmac = tempo di lavoro che comprende anche in alcuni casi il Tempo operatore → T mac = Ttruciolo + Toperatore (si possono sommare i due termini perché sono entrambi riferiti al pezzo [min/pz] → T mac = [min/pz]. Il tempo di setup non è sommato perché non è riferito ad 1 pezzo ma all'intero lotto, inoltre non tutte le macchine hanno il tempo di setup, ad esempio gli FMS non ce l'hanno. Dallo studio dei cicli si individuano 4 tipologie di risorse: Tipologie di risorse Tmac Top Tsetup [min/pz] [min/pz] [min/lotto] Note Centri di lavoro per lavorazioni lungo le coordinate (da organizzare in logica FMS) I centri di lavoro richiedono attività manuale di piazzamento dei componenti sui pallet portapezzo eseguite in tempo mascherato → Tmac = Ttruciolo Macchine stand-alone con setup (equilibratrice, rettifica, tornio,...) All'operatore sono richieste attività per pezzo (carico/scarico e/o check) e attività di setup per cambio lotto Macchine stand-alone senza setup (lavatrice, forno TT,...) Le macchine chiedono all'operatore solo attività “per pezzo” (carico/scarico + check) Stazioni di lavoro “manuali” (cabina di sbavatura, tavolo, durometro,...) Gli operatori si applicano a lavorazioni manuali che impegnano le risorse per lo stesso tempo di impiego dell'operatore → Top = Tmac (Negli FMS il prodotto può subire diversi piazzamenti, ovvero può essere disposto su facce diverse per subire differenti lavorazioni) Ora bisogna vedere di quante risorse si ha necessità. A. Acquaderni, A. Azami, A. Gennari 12 a.a. 2010-2011 3. Calcolo statico del numero di risorse necessarie Bisogna calcolare l'impegno annuo per ogni risorsa e per ogni operatore. Ci serve la produzione annua, i cicli di lavoro, ma dobbiamo anche ragionare sul livellamento della produzione → capire quanto incide il setup sul tempo totale. I casi estremi sono: • Fare 1 setup e soddisfare la produzione di tutto l'anno • Fare 1 setup e produrre 1 pezzo (il Tsetup è di 10 minuti) Il n° di risorse ci serve per calcolare il livellamento ma per calcolare il n° di risorse mi serve il livellamento → 2 strade: • Fisso il numero di risorse e calcolo il livellamento • Fisso il livellamento con criteri di buonsenso e calcolo il n° macchine, poi verifico per “trials & errors” la bontà del nostro criterio. Questo è il nostro caso → dobbiamo trovare un criterio di buon livellamento che può essere ad esempio di fare 1 lotto/gg che soddisfi l'intera domanda giornaliera Nel nostro caso partiamo da una domanda annua e ricaviamo una domanda giornaliera, che è il quantitativo il nostro cliente potenzialmente ci chiede ogni giorno. Oltre alla quantità giornaliera dobbiamo considerare il tempo quotidiano disponibile. Con l'ipotesi di aver fissato il livellamento calcoliamo l'impegno annuo per ogni risorsa macchina e operatore. Tsetup (in base al livellamento) [min/setup * n° setup/gg] + T mac (Top carico e scarico e Ttruciolo) m n T Mac =T annuoMac=∑ ∑ T ijTotMac⋅P j i=1 j =1 E' il tempo che la macchina “i” impiega a lavorare il pezzo “j”. Esempio Tornio: Albero 1 T Mac Albero 2 min pz =33,51,2024,60 ⋅4.600 36, 201,2024, 60⋅5.200 ... [ ] pz Albero 3 [ ] anno Albero 4 Albero 5 26,512,20⋅1.200 26,5021,3024, 60⋅250 26,501,2024, 60⋅2.500 ... min T Mac =738.470 anno [ ] ⌈ N ° macchine = ⌉⌈ T richiesto T T setup = lavorazione T disponibile T disponibile ⌉ Livellamento della produzione → Dd = [lotto/gg]. Come livellamento della produzione avevamo infatti stabilito di produrre 1 lotto al giorno di entità pari alla domanda giornaliera. N° setup = n° di volte con cui una risorsa compare nel ciclo di lavoro di un prodotto. A. Acquaderni, A. Azami, A. Gennari 13 a.a. 2010-2011 → Faccio 1 setup per lavorare 1 lotto di produzione → 4.600 [pz/anno] / 220 [gg/anno = lotti/anno] = 20,9 [pz/lotto]. L'albero 1 (A1) dunque avrà bisogno di 3 setup da 10 minuti ciascuno poiché subisce 3 lavorazioni sul tornio. A2 → 3 su, A3 → 2 su, A4 → 3 su, A5 → 3 su. Si hanno dunque 14 setup in totale → 140 [min/gg]. 140 * 220 = 30.800 [min (setup) / anno] Questo tempo di setup per la risorsa tornio va sottratto al tempo 738.470 [min/anno]. Si ripete poi il procedimento per le altre macchine stand-alone con setup. N°piazzamenti = 3(x) + 6(y) = 9 x → 3 * 16.700 = 129.300; → Trichiesto = 129.300 * 2,65 = 342.645 y → 6 * 13.200 Tdisponibile = 8 [h/gg] * 60 [min/h] * 220 [gg/anno] a questo punto nel T disponibile si può considerare un ulteriore fattore di 2-3 [turni/gg] a seconda dei dati; in base alla moltiplicazione o meno per questo fattore otterremo nella formula seguente un n° di operatori/turno uguale per tutti i turni o un numero di operatori/giorno che poi andranno distribuiti nei turni. N ° operatori = [ ] [ ] 342.645 operatori =1,08 2 316.800 turno oppure N ° operatori = 342.645 operatori =3,24 4 8⋅60⋅220 giorno Considerando le 2 soluzioni si può notare come la prima richieda (trattandosi di 3 turni) ben 6 operatori contro 4 della seconda (differenza dovuta all'arrotondamento per eccesso del risultato parziale vs totale). I 4 operatori andranno dunque suddivisi in tutti e 3 i turni o solo in 2 o solo in 1 turno (queste sono considerazioni da fare in seguito alla simulazione dinamica del sistema). A. Acquaderni, A. Azami, A. Gennari 14 a.a. 2010-2011 10/03/2011 Sviluppo completo della progettazione di un sistema produttivo [continua da lezione del 8/03] Quando parliamo di dimensionamento delle risorse possiamo trovarci di fronte a 4 casi: • FMS → dimensionamento in base a T mac che non comprende in questo caso T op → il Tmac coincide col tempo di truciolo • Stand Alone → Tmac (= Ttruciolo + Top) + Tsetup • Stand Alone senza setup → Tmac (= Ttruciolo + Top) • Stazioni manuali → Tmac = Top Dimensionamento di una risorsa macchina e dimensionamento di una risorsa operatore perché necessario ridimensionare da zero un reparto Lavorazioni Meccaniche. Il dimensionamento avviene sempre come: N ° risorse = Tempo richiesto Tempo disponibile Le formule per calcolare il tempo richiesto sono: m n T annuoMac =∑ ∑ T ijTotMac⋅P j i=1 j=1 m n m = n° di macchine n = n° di parti Pj = n° di pezzi di tipo j T annuoOper =∑ ∑ T ijOp⋅P j i=1 j=1 Sono simili ma per l'operatore anziché considerare il tempo in cui è impegnata la macchina si considera il tempo in cui è impegnato l'operatore sulla macchina i-esima (e sto considerando solo il tempo di carico-scarico). Attraverso tali formule abbiamo individuato tutti i tempi necessari al calcolo delle risorse per le 4 diverse tipologie di macchina. • Caso macchina stand alone con setup → vedi l'esempio del tornio ◦ Risultava Trichiesto (lavorazione) = 738.470 [min/anno] ◦ A parte avevamo calcolato il T setup partendo da un'ipotesi di livellamento (fare 1 lotto al giorno per ogni prodotto finito in cui il n° di pezzi di ogni lotto coincide con la domanda giornaliera (= domanda annua/220) del numero di prodotti finiti → Tsetup = 30.800 [min/anno]. ◦ Risulta dunque che il tempo totale richiesto alla macchina è dato dalla somma dei 2 tempi precedenti ed il numero di risorse è dato da questo tempo richiesto diviso quello disponibile dato da 220 gg/anno * 2 turni/gg * 7,5 h/turno * 60 min/h N ° torni = 738.47030.800 2⋅7,5⋅60⋅220 ◦ risulta dunque un numero di torni pari a 3,89 → 4 torni ◦ Per calcolare il n° di operatori devo considerare che l'operatore dovrà effettuare A. Acquaderni, A. Azami, A. Gennari 15 a.a. 2010-2011 sia C/S sia setup e che opera su 2 turni → almeno 1 operatore a turno ◦ Top (tornio) = [a1] (1,50 + 0,60 + 0,80)*4600 + [a2] (2,20 + 0,60 + 1,60)*5200 + [a3] (2,50 + 2,10)*1200 + [a4] (0,80 + 2,50 + 0,80)*250 + [a5] (2,10 + 0,60 + 0,80)*2500 = 51.515 [min/anno] ◦ A questo devo aggiungere il Tsetup → Tsetup = 30.800 [min/anno] ◦ Per il tempo disponibile bisogna considerare il fatto che devono rispettare gli orari del turno, non posso trattenere un operatore oltre le 7,5 ore → ◦ N°operatori = Trichiesto/Tdisponibile → N ° operatori = [ 51.51530.800 operatori =0,42 2⋅7,5⋅60⋅220 turno ] → 1 operatore. Questo operatore però non può fare tutti e 2 i turni, ne devo assumere 1 per ogni turno. [Esempio: Trichiesto/Tdisponibile = 2,5 considerando a denominatore i turni al giorno → arrotondo a 3 e moltiplico per i turni in un giorno → 9 operatori al giorno; se invece a denominatore non dividiamo per i turni → 7,5 op/gg → arrotondiamo a 8 e abbiamo risparmiato un operatore!]. • Caso macchina stand alone senza setup, es lavatrice sbavatura ◦ Il numero di macchine è dato dal rapporto T mac / Tdisponibile = 70.725 [min/anno] / 198.000 [min/anno] = 0,36 → 1 macchina ◦ Toperatore/ Tdisponibile = 31.250/198.000 = 0,16 [op/turno] • Caso stazioni manuali ◦ N° risorse (attrezzature = operai) = T operatore (= Tmac)/ Tdisponibile = 406.510/198.600 = 2,05 → 3 op/turno • Caso FMS → Centro di Lavorazione Acciaio ◦ Calcolo numero di macchinari FMS → risultano arrotondati 4 macchinari N ° cla = T mac T disponibile = 1.074.870 =3,62 3⋅7,5⋅60⋅220 ◦ Devo calcolare il n° di attrezzisti per effettuare i piazzamenti e preparare i pallet porta-pezzo, lavorano però su tempo mascherato → potenzialmente potrei farli lavorare su un solo turno. Per calcolare il numero di piazzamenti devo calcolare il n° di piazzamenti per pezzo e lo moltiplicherò per il n° di pezzi P j, ciò per tutti i pezzi e tutte le macchine m n N piazzamentiAnnuali=∑ ∑ N ijPiazzamenti⋅P j i =1 j=1 ◦ Per il numero di piazzamenti in un solo centro di lavoro escludo la sommatoria di tutte le macchine (i = 1 - m); da tabella emergono 7 piazzamenti per [a1], 8 per [a2] ecc → N°piazzamenti = [a1]7*4600 + [a2]8*5200 + [a3]5*1200 + [a4]7*250 + [a5]7*2500 + [b1]5*4600 + [b2]7*5200 + [b3]5*1200 + [b4]3*300 + [b5]5*2500 = 191150 [piazzamenti/anno] ◦ Considerando che T unitario per piazzamento è 4,3 min/piazzamento A. Acquaderni, A. Azami, A. Gennari 16 a.a. 2010-2011 N ° OpPiazzamento= T piazzamento 821945 = =2,77 T disponibile 297000 ◦ 2,77 sono gli operatori necessari al turno. Senza considerare i 3 turni avrei Tdisponibile = 99.000 → 8,3 operatori al giorno → 9 operatori. Potrei farli lavorare tutti su un turno ma lo svantaggio è che devo prevedere un numero elevato di pallet porta-pezzo, oltre a molto spazio per lo stoccaggio, inoltre un pezzo per subire un altro piazzamento deve aspettare il giorno dopo; per contro il secondo ed il terzo turno costano di più all'azienda. Posso però spalmare questo numero di operatori nella giornata Esempio di esercizi d'esame – Dimensionamento risorse Noti 3 prodotti di cui si ha la domanda annua, per i macchinari di diverso tipo vengono forniti i Tmac, Top, Ttot mac, in questo caso il Top non è inglobato nel tempo macchina e non è mascherato. Prodotti Produzione [pz/anno] Operazioni subite Perno x 16700 cla – tornio - forno Staffa y 13200 cla – cla - forno Puntale z 18650 tornio – tornio - forno Tpiazzamento = 2,65 min/piazz 3 turni da 8h/gg Tsetup tornio = 20 min/setup FMS CLA → Tmac X = 13,25 Tmac Y = 26,3 Tmac Z = 0 Ttot mac → 221.275 [min/anno] → 347.160 →0 → 568.435 [min/anno] N°cla = 568.435/316.800 =1,79 → 2 T richiesto 568.435[min/anno ] = T disponibile 316.800 [min/ anno] dove Tdisponibile = 8 h/turno * 3 turni/gg * 60 min/h * 220 gg/anno N°piazzamenti = 3(X) + 6(Y) + 0(Z) = 9 X → 3*16.700 = 129.300 Y → 6*13.200 = 79.200 Trichiesto = 129.300*2,65 = 342.645 N°operatori = 342.645/316.800 = 1,08 [op/turno] oppure = 342.645/(8*60*220) = 3,24 → 4 Questi 4 operatori andranno distribuiti su tutti e 3 i turni o su 2 o su uno solo. A. Acquaderni, A. Azami, A. Gennari 17 a.a. 2010-2011 14/03/2011 Continuiamo l'esercizio: si ha una macchina stand alone con set up (tornio) ma mentre nel caso di Hydropump avevamo fatto un'ipotesi di livellamento ora vediamo il contrario Si ha un Centro di Lavoro, un tornio (setup) ed un forno Avevamo visto il centro di lavoro in cui: N°cla =1,79 → 2 1,79/2 = 0,895 → 89,5% = Coefficiente di utilizzo → la percentuale di fermi accettabile al massimo è 1-0,895 → 0,105 → 10,5% di tempo che può essere impiegato per il fermo macchina (incidenza dei fermi o di qualunque altra cosa come manutenzione preventiva/predittiva o manutenzioni a guasto). Considerando il numero di macchine ottenuto (2) si calcoli l'eventuale numero di pezzi Y che si potrebbero produrre con il tempo in esubero. 2* 316.800 = 633.600 [min/anno] disponibili alla cella di lavoro con 2 FMS 633.600 – 568.435 = 65.165 [min/anno] di esubero. In questo tempo potrei produrre x, y, z, → posso utilizzare questo tempo per produrre altri x, y, o z. Nell'ipotesi in cui io producessi solo Y: N ° yEsubero = 65.165 65.165 = =2.477,7=2.477 T macY 26,3 avevamo visto anche N°operatori = 342.645/316.800 = 1,08 [op/turno] dove N°operatori = 342.645/316.800 = 1,08 [op/turno] oppure 342.645/(8*60*220) = 3,24 [op/gg] → 4 operatori che lavorano in tempo mascherato → li distribuisco come voglio io in 1 o 2 o tutti e 3 i turni. Tornio In questo caso calcoliamo la lottizzazione che deriva dal calcolo del numero di macchine, nel caso hydropump avevamo fatto il contrario. Dalla lottizzazione calcoliamo il trade off tra massimo livellamento della produzione e ottimizzazione setup. N ° torni= T richiesto T disponibile X → 4,3 [min/pz] + 1,7 [min/pz] = 6 [min/pz] Y→0+0 Z → 12,6 + 2,7 = 15,30 [min/pz] TtotX = 6*16.700 = 100.200 [min/anno] TtotZ = 15,3*18.650 = 285.345 [min/anno] TtotTornio = 385.545 [min/anno] = Trichiesto Tdisponibile = 316.800 = 8*3*220*60 N ° torni = A. Acquaderni, A. Azami, A. Gennari T richiesto 385.545 = =1,22 T disponibile 316.800 18 a.a. 2010-2011 → 2 torni → coefficiente di utilizzo = 61% → ho una buona parte del tempo per fare altro e non posso utilizzare tutto questo tempo per produrre pezzi extra o per fermi macchina → calcolo il tempo rimanente per poter eseguire setup. 2*316.800 – 385.545 = Tdisponibile – Tproduzione = 248.055 [min/anno] per set up Sappiamo che ci si mettono 20 min ogni setup da eseguire, indipendentemente dal tipo di prodotto da realizzare (attenzione perché in altri esercizi ci potrebbero essere tempi diversi ad esempio tra X e Y) N ° setup = [ 248.055 setup =12.402,75=12.402 20 anno ] Questo (arrotondato per difetto perché non posso sforare le 8h) è il numero massimo di setup fattibili all'anno. Dovremo gestire delle sequenze di X-Z-X-Z-... Le 2 alternative estreme sono Setup X → Setup Z o Setup X → Setup Z → Setup Z quindi 2 setup/sequenza contro 3 poiché Z deve subire 2 lavorazioni sullo stesso macchinario → a meno che non sia esplicato qualcos'altro nel testo (e in questo caso non sappiamo se deve subire un setup tra una lavorazione e l'altra) consideriamo in maniera indipendente e casuale, ad esempio scegliamo l'ipotesi di 2 setup per ogni sequenza. [ [ [ ] ] ] N ° sequenzeMax = 12.402 sequenze =6.201 2 anno N ° PezziLottoX = 16.700 pezzi =2,69 6.201 sequenza N ° PezziLottoZ = 18.600 pezzi =3,007 6.201 sequenza Devo decidere se il numero di pezzi per lotto va arrotondato per eccesso o per difetto: se si arrotonda per difetto non si riesce a rispondere alla domanda ma si riesce a garantire il massimo numero di sequenze (ma non rispettare la domanda non è affatto buona cosa); se si arrotonda per eccesso si risponde alla domanda ma si sfora nei tempi → devo abbassare il numero di sequenze. Nel nostro caso arrotondiamo per eccesso e ci accontentiamo di un livellamento più basso. Sequenza: 1 Setup X * 20 [min/setup] → 3pzX* 6 [min/pz] → 1 Setup Z * 20 [min/setup] → 4pz Z * 15,20 [min/pz] = 20 + 18 + 20 + 61,2 = 119,2 [min/sequenza]. La sequenza è quella che andrà ripetuta più volte nel periodo di riferimento (anno) → calcoliamo quante sequenze serviranno. Se facessimo le 6.201 sequenze otterremmo 739.159 [min/anno] ma in realtà i minuti a disposizione sono 2*316.800 = 633.600 [min/anno] disponibili. Devo dunque abbassare questo numero imponendo meno sequenze → fisso la domanda del prodotto ed individuo il numero massimo di sequenze rispettando i tempi. A. Acquaderni, A. Azami, A. Gennari 19 a.a. 2010-2011 Domanda X → 16.700 [pz di X/anno] [ 16.700 [ pz /anno ] sequenze =5.566,6 3[ pz /lotto] anno ] Domanda Z → 18.650 [pz di Z/anno] [ 18.650 [ pz /anno ] sequenze =4.662 4 [ pz / lotto ] anno ] Devo arrotondare per eccesso (5.567 * 3 = 16.701) poi semmai mi fermerò prima con la produzione a fine anno. Devo però scegliere un solo numero di sequenze → scelgo la maggiore altrimenti non soddisferei la domanda di X; così facendo ottengo un esubero di Z infatti → 5.567 * 4 = 22.268 [pz/anno] mentre in realtà si avevano 18.650 per Z → molti di più. → mantengo l'ordine di sequenze fino alla soddisfazione della domanda di Z, dopo procedo con solo X. Da una verifica di tempo risulta in realtà 20.308 [pz/anno] → vediamola: Tdisponibile (2* 316.800) - Tsetup (4*10*5.567 = 222.680) = Tproduzione = 410.980 [min] TprodX = 16.701 * 6 = 100.200 → per Z avremo a disposizione 410.980 – 100.200 = 310.714 ma in realtà si ottiene TprodZ = 22.268 * 15,3 = 340.700 → si andrebbe oltre il tempo disponibile → per ottenere un tempo accettabile abbasso il numero di sequenze. N ° sequenze = A. Acquaderni, A. Azami, A. Gennari [ ] 310.714 pezzi =20.308 15,3 anno 20 a.a. 2010-2011 15/03/2011 N°operatori tornio Se 3 pz/lotto → 16.701 pz/anno Se 4 pz/lotto → 20.308 pz/anno Per la produzione di Z dobbiamo decidere se prendere 18.650 o 20.308. Nel primo caso lasceremmo quei circa 2000 pz di differenza torniti come semilavorati nel magazzino. Decidiamo dunque di rispondere alla domanda e scegliamo quindi 18.650. Scegliamo 18.650 pz/anno → TopX = 1,7 min/pz * 16.700 pz/anno = 28.390 min/anno TopZ = (1+0,5) min/pz * 18.650 pz/anno = 27.975 min/anno TtotC/S = 56.365 min/anno Tsetup = 248.055 min/anno L'impegno totale dunque risulta Ttot = TtotC/S + Tsetup = 304.420 min/anno N ° operatori = [ 304.420 operatori =2,88 105.600 giorno ] Si avranno dunque 3 operatori che verranno distribuiti sui 3 turni, 1 ogni turno. Forno Dovremo sommare il tempo macchina ed il tempo operatore TmacX = 4,80 min/pz → (*16.700) = 70.140 TmacY = 4,70 min/pz → (*13.202) = 62.040 TmacZ = 16,30 min/pz → (*18.650) = 303.955 TTOTmac = 436.175 N°mac = 436.175/316800 = 1,38 → 2 Top X = 2 min/pz * 16.700 = 33.400 min/anno Top Y = 1,2 min/pz * 13.200 = 15.840 min/anno Top Z = 1,8 min/pz * 18.650 = 33.540 min/anno N°op forno = 82.810/105.600 = 0,78 operatori → 1, ma dato che si lavora su 3 turni, ne prendo 3. N ° operatoriForno = A. Acquaderni, A. Azami, A. Gennari [ 82.810 operatori =0,78 105.600 giorno 21 ] a.a. 2010-2011 4. Applicazione di tecniche di clustering sulle risorse Cellular Manufacturing Quindi in totale ho 4 operatori per il piazzamento, 3 per il tornio e 3 per il forno. Se consideriamo ogni macchina a sé stante questo è il numero minimo necessario, ma nell’insieme possiamo costituire una cella unica per esempio con forno e tornio e ridurre così il numero degli operatori. Organizzo quindi il layout e il metodo di lavoro in modo diverso. Organizziamo celle di lavoro che permettano di passare da una configurazione a job shop ad una configurazione in cui il prodotto viene lavorato in una cella di produzione dedicata solo a quel prodotto o a prodotti simili. Verifichiamo se questo è possibile → verifichiamo se possibile mettere tornio e forno in una stessa cella: Sommiamo i numeri di operatori necessari (lo facciamo non arrotondando il numero degli operatori per ogni singola macchina prima trovato perché si avrebbe troppo esubero, arrotondiamo solo il risultato finale) N°operatori = 2,88 + 0,78 = 3,67 operatori → 4 operatori (2 per 1 turno e 1 per gli altri 2 turni) e ne ho risparmiati 2 → circa 66.000 €/anno. Ora abbiamo fatto un dimensionamento statico che non tiene conto però delle variabilità che si possono verificare nei casi reali → questi 4 operatori vanno verificati secondo dimensionamento dinamico. Se dalla verifica dinamica ad esempio risulta che ho dei picchi di produzione per cui un operatore non ce la fa a coprire un turno da solo ne assumeremo un altro. Introduciamo dunque celle di lavoro nella nostra realtà produttiva mediante tecniche di clustering. Prevede di usare celle di lavoro, inserire nel nostro layout un insieme di celle con macchine con funzioni diverse. Dobbiamo garantire che il flusso intercellulare sia ridotto al minimo (es se un prodotto deve passare dalla macchina M2 nella cella C1 alla macchina M4 nella cella C2). I flussi intracellulari sono quelli all’interno della stessa cella, e questi invece sono quelli da massimizzare. One Piece Flow significa che il prodotto rimane all’interno della stessa cella per la A. Acquaderni, A. Azami, A. Gennari 22 a.a. 2010-2011 lavorazione senza interruzioni, no flussi intercellulari. Purtroppo molte volte i flussi intercellulari non sono eliminabili, allora la soluzione sarebbe duplicare la macchina di cui si ha bisogno nella stessa cella dove sono le altre macchine che eseguono i lavori precedenti, questo però è molto costoso → bisogna vedere se conviene economicamente fare questo o se costa meno fare movimentazione da una cella ad un’altra (trade-off tra bassi flussi intercellulari e duplicazione delle risorse). Dobbiamo lavorare delle famiglie di prodotto in modo tale da ridurre il più possibile i flussi intercellulari. Per far ciò: Si hanno un certo numero di prodotti P1...Pm ed un certo numero di macchine M1...Mn I problemi di cellular manufacturing possiamo gestirli anche con tecniche di ispezione visiva quali “design oriented” ovvero raggruppando nella stessa famiglia prodotti visualmente simili, oppure con tecniche dette “production oriented” che prevedono di andare a raggruppare per omogeneità del processo produttivo. Le tecniche Production Oriented si distinguono in: • “Production Flow Analysis” (PFA) si basa su informazioni del ciclo produttivo solo in termini di risorse utilizzate per la produzione, cioè a me interessa sapere se una certa parte va lavorata su una macchina oppure no, si vuole sapere quali risorse vengono impiegate per la creazione di ogni singolo prodotto. • “Similarity Coefficient Method” (SCM) cioè dobbiamo trovare similarità sui prodotti che vogliamo raggruppare secondo algoritmi di clustering gerarchico oppure altre tecniche innovative basate su teoria dei grafi o su Intelligenza Artificiale; esistono anche algoritmi non gerarchici Matrice di Incidenza Uno degli strumenti su cui si basa il cellular manufacturing è la matrice di incidenza che è una matrice A costituita da elementi a → A= [aij] Costruiamo la matrice con i prodotti (P1, P2, P3) e le risorse (M1, M2, M3, M4, M5) e mettiamo 1 se quel prodotto viene lavorato su quella macchina e 0 se invece non viene lavorato su di essa. Con questa matrice dobbiamo raggruppare le macchine ed in particolare i tipi di prodotto in modo tale da minimizzare i flussi. Questo sistema però non gestisce l’ordine delle lavorazioni né le quantità/volumi né i tempi, tutte informazioni caratteristiche del ciclo produttivo se non quelle legate al tipo di macchina da utilizzare per una determinata produzione. Algoritmi (agiscono sulle righe e colonne della matrice e danno una matrice diagonalizzata → degli “1” concentrati all’interno di celle/blocchi sulla diagonale) [Studiati da King]: • ROC (Rank Order Clustering) • DC (Direct Clustering) Si deve fare in modo che lo spostamento di righe e colonne crei blocchi “densi” di 1 lungo la diagonale. Il fatto che il singolo blocco sia denso di 1 ci fa capire che sono ridotti i flussi intercellulari (che sono invece rappresentati da 1 fuori dai blocchi). Ogni blocco alla fine comporta la determinazione di una cella di lavoro. Si arriva in tal modo a definire A. Acquaderni, A. Azami, A. Gennari 23 a.a. 2010-2011 contemporaneamente le celle di lavoro e le famiglie di prodotti. Matrice di Similarità E' sempre una matrice ma non unisce le parti e le macchine ma permette di individuare dei raggruppamenti di risorse omogenee, o parti o macchine → si individua un criterio per il quale 2 risorse o 2 parti sono simili → obiettivo è introdurre risorse simili nella stessa cella Questa matrice individuerà sia sulle righe che sulle colonne la stessa informazione (M 1, M2,........, Mn). Da queste poi calcolerò l’indice di similarità sulle macchine, solitamente compreso tra -1 e 1 o tra 0 e 1. M1 . . Mn . 1 . . . . 1 . Mn . . 1 Si avrà dunque un Coefficiente di Similarità Sij che rappresenta il valore di omogeneità tra la risorsa i e la risorsa j che sono risorse dello stesso tipo. Se il livello di similarità è alto, allora quelle risorse si potranno mettere nella stessa cella (in generale le celle contengono cioè risorse con livello di similarità alto). Gli indici di similarità in genere si dividono in 2 categorie: • General Purpose: fanno riferimento solo a caratteristiche legate alle risorse che lavorano le parti cioè solo alle informazioni basate sul fatto che una certa macchina entra o meno sul ciclo di lavoro di una parte ( → ci danno informazioni simili a quelle che ci dava la matrice di incidenza). • Problem Oriented: fanno riferimento a informazioni sul tipo di lavoro e sul ciclo produttivo, alle sequenze di lavoro, ai tempi, ed ai volumi produttivi. Contengono dunque tutte le informazioni presenti nel ciclo di lavoro e non solo quelle legate alle risorse (è preferibile perché ci dà una maggiore completezza sulle info relative al tipo di lavoro). General Purpose → ci interessano solo le informazioni relative a macchine e parti. Esempio: 12 parti lavorate su 2 macchine → vogliamo stabilire il grado di similarità delle 2 macchine per valutare se inserirle o meno nella stessa cella. Prendiamo la matrice di incidenza che caratterizza il tipo di lavorazione delle parti A. Acquaderni, A. Azami, A. Gennari M1 M2 P1 0 1 P2 1 1 P3 1 0 P4 0 1 P5 1 0 24 a.a. 2010-2011 P6 0 0 P7 1 1 P8 1 0 P9 0 0 P10 1 0 P11 0 1 P12 0 1 a = n° di parti lavorate da macchina i e da macchina j (da entrambe) b = n° di parti lavorate solo dalla macchina i c = n° di parti lavorate solo dalla macchina j d = n° di parti lavorate da nessuna delle due macchine In base a questi 4 parametri, riusciamo a calcolarci alcuni coefficienti di similarità: Coefficiente di Jaccard I parametri che ci danno più informazioni riguardo al livello di similarità sono i parametri “a” e “d”, “b” e “c” invece dicono che all’interno dello stesso ciclo di lavoro trovo o solo una macchina o solo l’altra. Empiricamente per il Coefficiente di Jaccard avremo a numeratore ciò che aumenta la similarità, e a denominatore ciò che la abbassa S ij = a abc Nel nostro caso: a = 2, b = 4, c = 4, d = 2 S ij = 2 244 ci aspettiamo un valore compreso tra 0 (massima dissimilarità), e 1 (massima similarità). A. Acquaderni, A. Azami, A. Gennari 25 a.a. 2010-2011 21/03/2011 [Noi vediamo solo metodi SCM, basati sul coefficiente di similarità] Matrice di similarità Ha l’obiettivo di individuare un valore di similarità tra le coppie di oggetti che dobbiamo raggruppare. Può dare buoni risultati anche in un contesto produttivo. Obiettivo è ottenere dei raggruppamenti di macchine in particolare dunque ci occupiamo di omogeneità tra macchine. Dovrò quindi individuare un modo per trovare i coefficienti di similarità tra coppie di macchine. Avremo dunque una matrice caratterizzata dallo stesso numero di righe e di colonne in cui nella diagonale c’è sempre 1 poiché ad esempio mn sarà sempre simile a sé stessa. Le informazioni che abbiamo sono quelle sul ciclo di lavoro delle parti: • risorse (le macchine sulle quali le parti vengono lavorate) • volume di produzione • tempi • sequenze di lavoro (sequenza di macchine che mi permette di ottenere il prodotto) Si avranno dunque dei flussi; l’obiettivo sarà quello di limitare questi flussi intercellulari oltre a ridurre le quantità di prodotti che saranno fatti muovere in essi (il volume di produzione dovrà essere considerato, 1 pz è diverso da 100 pz), similmente va considerato il tempo e parimenti la sequenza di lavorazioni. Si utilizzano dunque coefficienti di similarità General Purpose che considerano solo la similarità delle parti nel ciclo di lavoro [S ij] → considerano solo che risorse lavorano la parte → solo 1 informazione → sono stati introdotti i coefficienti Problem Oriented che considerano anche volumi e tempi. Ovviamente quelli Problem Oriented oltre ad essere più precisi sono anche più complessi. Coefficienti General Purpose • Coefficiente di Jaccard Esempio: Sono necessari: ◦ Matrice di incidenza ◦ Parametri ▪ a (n° parti lavorate sia da macchina i sia da j) = 2 ▪ b (n° parti lavorate solo da i) = 4 ▪ c (n° parti lavorate solo da j) = 4 ▪ d (n° parti lavorate né da i né da j) = 2 Dati tali parametri calcoliamo il coefficiente di Jaccard dato da S ij = a/(a+b+c) [a numeratore il parametro che dà il senso di similarità, a denominatore a + (ciò che mi dà la dissimilarità)] 0 ≤ Sij ≤ 1 dove 0 è massima dissimilarità e 1 massima similarità; nel caso delle macchine m1 ed m2 → S1,2 = 2/(2+4+4) = 0,2 S ij = A. Acquaderni, A. Azami 26 a abc a.a. 2010-2011 • Coefficiente di Simple Matching E’ simile a quello precedente, ma ggiunge il valore dato dal parametro “d”, esso come va trattato? In letteratura lo si considera come il parametro a S ij = ad abcd → S1,2 = (2+2)/(2+4+4+2) = 4/12 = 0,33 Nel nostro caso vediamo che il parametro si è alzato, quindi le due macchine iniziano ad essere più simili. • Coefficiente di Yule Yule anche considera di dare peso al parametro d → a e d danno la similarità, b e c la dissimilarità → a numeratore moltiplico a e d e tolgo il prodotto di b e c; a denominatore metto la somma tra i 2 prodotti → S ij = a⋅d −b⋅c a⋅d b⋅c Così do maggiore peso all’omogeneità tra le macchine → il problema è che il valore ottenuto è compreso tra -1 e +1, se a aumenta e d = 0 Sij = -1, similmente (ma al contrario Sij = 1) nel caso di b e c; → S1,2 = (4-16)/(4+16) = -0,6. • Coefficiente di Hamman C’è chi ha risolto il problema modificando l’operatore → al posto del prodotto ha inserito una somma algebrica (nonostante la moltiplicazione esprima meglio la similarità) S ij = ad −bc ad bc S1,2 = (4-8)/(4+8) = - 0,33 • Coefficiente di Baroni Urbani Per continuare ad usare la moltiplicazione ma diminuire il risultato c’è chi ha introdotto la radice → S ij = a2 a⋅d abc 2 a⋅d 0 ≤ Sij ≤ 1 Dove otteniamo 0 solo se a=0, e al contrario otteniamo 1 se b=0 o c=o A. Acquaderni, A. Azami 27 a.a. 2010-2011 • Coefficiente di Sorenson S ij = 2a 2abc con 0 ≤ Sij ≤ 1 S1,2 = 4/(4+4+4) = 0,33 Ciascun indice ha vantaggi e svantaggi, non ne esiste uno ottimo ma ne utilizziamo uno che sia adatto alla nostra realtà produttiva • Coefficiente di Rogers & Tanimoto S ij = ad a2bc d S1,2 = 4/(2+16+2) = 0,2 • Coefficiente Relative matching (Sarker & Islam) S ij = a2 a⋅d abcd 2 a⋅d cambia rispetto al coefficiente di Baroni Urbani che viene aggiunta la d al denominatore, ciò cambia 5 caratteristiche: 1. se b = 0 e c = o, allora Sij → 1 2. se a → 0 e d → 0, allora Sij → 0 3. se a = 0 allora Sij = 0 4. se a = M (dove M = n° di parti totali), allora Sij = 1 5. se (a+d) → M con a ≠ 0, allora Sij → 1 Si considera l’indice più completo: S1,2 = 4/14 = 0,29 La matrice di incidenza è data e la prendiamo dal ciclo, non dipende dalla tecnica utilizzata da noi, però per passare dalla matrice di incidenza alla matrice di similarità e di conseguenza alla decisione delle celle di lavorazione dobbiamo scegliere nel primo gap il coefficiente di similarità, nel secondo gap dovremo scegliere gli algoritmi di clustering che ci permettono di dimensionare le celle e un valore di taglio. A. Acquaderni, A. Azami 28 a.a. 2010-2011 Non posso dunque considerare solo quali macchine lavorano quali prodotti perché otterrei una soluzione che non è sempre quella ottima. Per individuare una configurazione di celle migliore devo considerare sia il tempo, sia le sequenze di lavorazione sia i volumi di produzione → coefficienti Problem Oriented Coefficienti Problem Oriented → sequenza di lavoro → volume produttivo → tempi di produzione • Coefficiente di Gupta e Seifoddini Al numeratore ci aspettiamo qualcosa che somigli ad a o d, al denominatore qualcosa simile a b o c n ∑ S ij = k =1 n ∑ k=1 [ [ nk ij k ] X k⋅t ∑ Z ko ⋅mk o=1 nk ] X k⋅t ijk ∑ Z koY k ⋅m k o=1 [Il primo termine fa riferimento al tempo di processamento, il secondo alla sequenza] dove: i = macchina i-esima; j = macchina j-esima; k = indice delle parti → k = 1,...,n; n = numero di parti da lavorare; tk = tempo di processamento in cui la parte è lavorata sulle 2 macchine; o = numero di visite; nk = n° delle volte in cui la parte k visita i e j in sequenza; mk = volume produttivo della parte k: moltiplica ciascun termine della sommatoria, è l’informazione sul volume. Dà peso al flusso intercellulare e di qualità maggiore; Xk = 1 se la parte k è lavorata sia da macchine i che da macchine j; 0 altrimenti; Zko = 1 se la parte k visita i e j in sequenza (ordine di visita e consecutivi) durante la visita o; o altrimenti; Yk = 1 se la parte k visita o (XOR = i o j, una o l’altra, tutte e 2 non vanno bene) la macchina i o (XOR) la macchina j; 0 altrimenti; A. Acquaderni, A. Azami 29 a.a. 2010-2011 min t ijk = [ [∑ nk nij o=1 o=1 nk nij ∑ t oki ; ∑ t okj max o=1 t oki ; ∑ t okj o=1 ] ] ≤1 Il valore tkij si avvicinerà tanto più a 1 quanto più i tempi sulle due macchine i e j saranno comparabili. Esempio: m1 m2 m3 m1 1 S12 S13 m2 S21 1 S23 m3 S31 S32 1 Abbiamo la matrice 3 x 3 con gli 1 sulla diagonale, dobbiamo trovare tutti gli altri valori della matrice. Con Jaccard e gli altri indici General Purpose tengo presente che S ij = Sji dunque ho una matrice simmetrica; con indici Problem Oriented in generale (in particolare Gupta e Seifoddini) invece avremo una matrice con valori diversi e non simmetrici rispetto alla diagonale → Sij ≠ Sji. Si hanno 4 parti (p1...p4) e 3 macchine (m1...m3): p1 → m1-m2-m3-m1 (100 unità, 1-2-1-1 minuti) p2 → m2-m3 (50 unità, 3-2 minuti) p3 → m1-m1-m2 (10 unità, 1-2-4 minuti) p4 → m2-m3-m2-m1 (500 unità, 3-3-1-1 minuti) S12 → k = 1, x1 = 1, Y1 = 0, m1 = 100, n1 = 1, t112 = min {1+1 ; 2 } / max {1+1 ; 2 } =1; S12 = [{P1}(1*1+1)*100 + ...] / [{P1}(1*1+1+0)*100 + …] S12 → k = 2, x2 = 0, Y2 = 1, m2 = 50, n2 = 0, t112 = min {0 ; 3} / max {0 ; 3} =0; S12 = [(1*1+1)*100 + (0+0)*50 + ... ] / [(1*1+1+0)*100 + (0+0+1)*50 + ...] S12 → k = 3, x3 = 1, Y3 = 0, m3 = 10, n3 = 1, t112 = min {1+2 ; 4} / max {1+2 ; 4} =0,75; S12=[(1*1+1)*100+(0+0)*50+(1*o,75+1)*10+...]/[(1*1+1+0)*100+(0+0+1)*50+ (1*o,75+1+0)*10 + ...] S12 → k = 4, x4 = 1, Y4 = 0, m4 = 500, n4 = 0, t112 = min {1 ; 3+1} / max {1 ; 3+1} =0,25; S12=[{P1}(1*1+1)*100+{P2}(0+0)*50+{P3}(1*o,75+1)*10+{P4}(1*0,25+0)*500] A. Acquaderni, A. Azami 30 / [{P1} a.a. 2010-2011 (1*1+1+0)*100+{P2}(0+0+1)*50+{P3}(1*o,75+1+0)*10+{P4}(1*0,25+0+0)*500 = 0,8726 ≠ S21 ! P1 S 12= P2 P3 P4 1⋅11⋅100 00⋅50 1⋅0,751⋅10 1⋅0,250⋅500 =0,8726≠S 21 1⋅110⋅100 001⋅50 1⋅0,7510⋅10 1⋅0,2500⋅500 P1 P2 P3 P4 Per definizione Gupta e Seifoddini genera una matrice asimmetrica ma spesso, vista l’elevata complessità, si fa un’ipotesi semplificativa (da fare nel compito solo se specificato e se ha senso nella realtà) in cui la matrice risulta simmetrica e viene considerata come tale. Così facendo però avrò una sequenza m1-m2 che sarà uguale a m2-m1 quindi cambiano gli nk. Nel nostro caso n4 diventerà = 1. m1 m2 m3 m1 1 0,8726 S13 m2 S21 1 S23 m3 S31 S32 1 Una volta che siamo arrivati a definire una matrice di similarità (calcolata tramite algoritmi General Purpose o Problem Oriented) si va avanti utilizzando algoritmi di clustering Algoritmi di clustering Sono algoritmi gerarchici, perché individuano una gerarchia tra i vari cluster, sono inoltre agglomerativi. Partiamo dall’ipotesi che tutte le macchine siano dei cluster con 1 elemento → tramite questa ipotesi andiamo a raggruppare tutti i cluster a 2 a 2 fino ad arrivare ad un unico cluster (che contiene tutte le macchine). Individuo un valore di taglio in cui fermarmi, non ha senso arrivare alla fine perché avrei tutte le macchine insieme. Raggruppando gradualmente cala il livello di similarità fino all’estremo di similarità nulla. Devo scegliere la configurazione delle celle in corrispondenza di un valore di similarità tra 0 e 1 (ad esempio scelgo 0,8 [e ciò significa che mi posso spingere a raggruppare fino ad ottenere un valore di indice di similarità pari a 0,8] con cui ottengo un cluster con m 1 e m2 ed un cluster con m3 ). A. Acquaderni, A. Azami 31 a.a. 2010-2011 22/03/2011 Mediante algoritmo di clustering, partendo dalla matrice di similarità otteniamo la clusterizzazione, e tramite il valore di taglio imposto dall’utente determiniamo la conformazione delle celle. Tra gli algoritmi abbiamo visto algoritmi gerarchici e algoritmi agglomerativi (sono simili quindi prima vediamo la metodologia in generale poi andremo nel particolare dei diversi metodi). La procedura con cui si applicano questi algoritmi è composta da 4 step: • Costruzione matrice di similarità (scelgo un coefficiente di similarità) • Realizzazione del primo cluster → scelta delle macchine con massimo valore di similarità (creo una coppia di macchine che generino un raggruppamento) • Costruzione della nuova matrice di similarità modificata (poiché ho costruito un nuovo cluster) → ricalcolo i nuovi valori di similarità tra il nuovo cluster e le macchine/cluster già esistenti (ciascuna macchina rappresenta un cluster di 1 elemento). La matrice avrà dimensione sempre minore • Ripetizione degli step 2 - 3 - 4 fino ad avere un unico raggruppamento (1 cluster con tutte le macchine) Gli algoritmi utilizzati nel punto 3 possono essere diversi → distanza tra 2 elementi di cluster Partiamo da un certo insieme (R) di elementi (macchine, es. 3), ed arriveremo ad un altro insieme (S) con diversi elementi (es. 4) r = numero di elementi appartenenti al cluster R; s = numero di elementi appartenenti al cluster S; Xri = generico elemento del cluster R; Xsj = generico elemento del cluster S; d(r,s) = MIN dist (Xri, Xsj) MAX dist (Xri, Xsj) MED dist (Xri, Xsj) In base a quale scelta facciamo, andiamo ad individuare 3 tipi di algoritmo che sono: • CLINK (Complete LINKage) o anche furthest neighbour method (metodo del vicino più lontano) → MAX dist (Xri, Xsj) • SLINK (Single LINKage), in questo caso si considera il vicino più vicino (Nearest neighbour) quindi considero il valore minimo della distanza → MIN dist (X ri, Xsj) A. Acquaderni, A. Azami 32 a.a. 2010-2011 • UPGMA (Unweighted Pair Group Method) → basato sulla media aritmetica tra tutte le distanze → MED dist (Xri, Xsj) Supponiamo di avere CL1 con m1 ed m2 da clusterizzare con m3, m4, m5 → dist (m1, m5) = 1 mentre dist (m2, m5) = 100 → col metodo SLINK prenderei 1, col metodo CLINK prenderei 100 ma potrei metterci molto a giungere alla soluzione → è stato introdotto il metodo del valore medio → prendo tutti gli elementi e considero un valore di distanza medio. Partendo dalla distanza tra gli elementi del cluster arrivo alla similarità tra le macchine (valori di similarità); in particolare il metodo SLINK consiglia il valore più vicino che sarà anche il più simile, mentre il CLINK comporta la scelta del più lontano e dissimile, col metodo UPGMA prenderei la media delle distanze data da un nuovo valore di similarità pari alla media di tutti i valori di similarità di tutti gli elementi: r S rs = s 1 ⋅∑ ∑ S [ X i , X j ] r⋅s i=1 j =1 Esempio: Matrice di similarità caratterizzata da 5 macchine (m 1,...,m5). Supponiamo di averla ricavata da un certo indice di similarità, e di avere già il risultato, quindi il punto 1 è concluso. m1 m2 m3 m4 m1 1 m2 0,5714 1 m3 0,8889 0,75 1 m4 0 0,75 0,333 1 m5 0,75 0,5714 0,5714 0,5714 m5 1 Passiamo quindi alla realizzazione del punto 2: il massimo valore di similarità è 0,8889 → il primo cluster che realizzerò è tra m 1 ed m3 che sono omogenee appunto per un valore pari a 0,8889, da qui in poi le due macchine viaggeranno insieme perché sono già state accoppiate. Punto 3: costruisco quindi un’altra matrice con una riga in meno, perché ci sarà una riga sola per m1-m3 che ora posso considerare come unica macchina. A. Acquaderni, A. Azami 33 a.a. 2010-2011 m1-m3 m2 m4 m5 m1-m3 1 m2 0,5714 1 m4 0 0,75 1 m5 0,5714 0,5714 0,5714 1 Per andare a completare la prima colonna, in questo caso usiamo il metodo Clink, devo andare a confrontare es. la macchina m 2 sia con m1 che con m3 → min { s (m1-m2) ; s (m3m1)} Per determinare i nuovi valori da inserire nella matrice considero la massima distanza che corrisponde al minimo valore di similarità → Il secondo cluster che andrò a costruire sarà tra m 2 ed m4 con un grado di similarità pari a 0,75. A questo punto devo andare a ricalcolare la matrice. m1-m3 m2-m4 m1-m3 1 m2-m4 0 1 m5 0,5714 0,5714 m5 1 → Il terzo cluster che andrò a costruire sarà tra m1, m3 ed m5 con un grado di similarità pari a 0,5714. MIN {0 ; 0,333} Ora vado a ricalcolarmi la matrice m1-m3-m5 m1-m3-m5 1 m2-m4 0 m2-m4 1 Lo “0” tra m1, m3, m5, e m2, m4 rappresenta il grado di similarità tra tutte le macchine (2 cluster che contengono sommati tutte le macchine) → grado di similarità nullo Dendogramma A. Acquaderni, A. Azami 34 a.a. 2010-2011 Ogni volta che raggruppo una coppia di cluster, vado a costituire un nodo. Per creare delle celle di lavoro devo individuare quale sia il valore di taglio rappresentativo di un grado di similarità tale per cui le macchine raggruppate in celle hanno una omogeneità data da valori di similarità non inferiori al valore di taglio stabilito dall’utente. Se ad esempio sviluppassi il caso con l’algoritmo SLINK otterrei un dendogramma diverso: dopo aver accoppiato m1 ed m3 come con l’algoritmo CLINK ad un valore pari a 0,8889, il secondo accoppiamento sarebbe tra m1-m3 ed m2 ad un valore di 0,75, successivamente andrei ad unire tutte le altre macchine rimanenti (m4, m5) a quelle precedentemente accoppiate, sempre ad un valore di similarità pari a 0,75. Chain Problem: si sono tutti raggruppati in un unico cluster già a 0,75 dunque il valore di taglio imposto precedentemente a 0,4 non avrebbe senso perché sarebbero tutti raggruppati in un cluster unico (e non “taglierebbe” nulla) Non esiste un valore di riferimento per il taglio del dendogramma → non esiste un valore di taglio assoluto! → introduciamo il “valore di taglio percentile rispetto al numero di aggregazioni”. Esempio con algoritmo UPGMA m1 m2 m3 m4 m1 1 m2 0,5714 1 m3 0,8889 0,75 1 m4 0 0,75 0,333 1 m5 0,75 0,5714 0,5714 0,5714 m5 1 Primo raggruppamento = m1-m3 come prima, ma ora vediamo come cambiano i fattori: A. Acquaderni, A. Azami 35 a.a. 2010-2011 m1-m3 m2 m4 m1-m3 1 m2 0,6607 1 m4 0,1666 0,75 1 m5 0,6607 0,5714 0,5714 m5 1 Devo ricalcolare i 3 valori della prima colonna → tra m 1-m3 ed m2 prendo il valore medio. In teoria dovrei applicare la formula: r s 1 Sr= ⋅∑ ∑ S [ X i , X j ] r⋅s i=1 j=1 In questo caso r = 2, s = 1 Sm1-m3; m2= [1/(2 x 1)] x (0,5714 + 0,75) = 0,6607 Sm1-m3, m4= [1/(2 x 1)] x (0+0,33) = 0,166 Sm1-m3; m5= [1/(2 x 1)] x (0,75 + 0,5714) = 0,6607 m1-m3 m2-m4 m1-m3 1 m2-m4 0, 4136 1 m5 0,6607 0,5714 m5 1 In questo caso r = 2, s = 2; devo considerare gli indici di similarità tra m1-m2 + m2-m3 + m3-m4 + m1-m4 • Sm1-m3 ; m2-m4= [1/(2 x 2)] (Sm1-m2+ Sm2-m3 + Sm3-m4 + Sm1-m4) Dove li trovo questi coefficienti di similarità? devo fare riferimento alla matrice iniziale →Sm1-m3 ; m2-m4= (1/4) * (0,5714 + 0 + 0,75 + 0,333 ) = 0,4136 • Parto dall’ultima matrice : Sm1-m3-m2+ Sm1-m3-m4 = 0,6607 + 0,1666 (moltiplico ciascuno per 2 perché risultato di una precedente aggregazione) (0,6607*2 + 0,1666*2) / (2+2) = 0,4136 Vado a scegliere il valore più alto all’interno della matrice, unisco quindi m1-m3 con m5, quindi nuova matrice in cui ricalcolo i valori di similarità m1-m3-m5 m1-m3-m5 1 m2-m4 0,466 m2-m4 1 In questo caso r = 3, s = 2: A. Acquaderni, A. Azami 36 a.a. 2010-2011 • → 1/(r*s) = (Sm1-m2 + Sm1-m4 + Sm3-m2 + Sm3-m4 + Sm5-m2 + Sm5-m4) → 1/(3*2) = (0,5714 + 0 + 0,75 + 0,33 + 0,5714 + 0,5714) = 0,466 • m1-m3 , m2-m4 = 0,4136 m5, m2-m4 = 0,5714 Somma dei pesi → (4*0,4136 + 0,5714*2)/(4+2) = 0,466 (manca da vedere il dendogramma) A. Acquaderni, A. Azami 37 a.a. 2010-2011 28/03/2011 Dendogramma Il dendogramma è una rappresentazione grafica che ci fa vedere tutti i nodi, ovvero i punti di azione del clustering. Parto da un indice di similarità, costruisco la matrice di similarità, e applicando un algoritmo (Slink o Clink) ottengo un dendogramma. A seconda dell’algoritmo applicato si ottiene un diverso dendogramma. I nodi sono punti in cui si sono aggregati 2 oggetti o 2 macchine; la clusterizzazione permette di ottenere diversi raggruppamenti in base a valore di similarità via via decrescente. Ad esempio il nodo 1 è dato da m 2 ed m5 con un grado di similarità pari a 0,45 che è il valore trovato nella matrice di similarità Il nodo 2 ha grado di similarità pari a 0,416 e vediamo che ha un valore inferiore al primo. Il nodo 3 ha grado di similarità pari a 0,333 , nodo 4 pari a 0,3 , nodo 5 pari a 0,166 e infine nodo 6 grado pari a 0,066, il valore di similarità aiuta a determinare il valore di taglio, che è relativo, ad esempio nel dendogramma in questione, un buon valore di taglio è 0,2 che permette di effettuare 3 cluster (m 1-m3, m2-m5, m4-m6-m7), ciò applicando l’algoritmo Clink; applicando invece l’algoritmo Slink otterrei un dendogramma differente. Vediamo cosa succede applicando l’algoritmo Slink: Al nodo 1 non cambia niente, mentre la differenza si vede già al nodo 2 dove invece che 0,416 otteniamo 0,417 , ma la grossa diversità si vede a quello successivo, dove il nodo 3 presenta lo stesso valore del nodo 2 (0,417), invece di 0,333. Così pure per il nodo 4. Il passaggio successivo prevede l’aggregazione delle precedenti con la macchina m 1 , il nodo 5 ci darà un grado di similarità pari a 0,4 , mentre l’aggregazione con m 3 ci darà un valore pari a 0,364. Il valore di taglio non è univoco, lo vediamo dal fatto che se prendessimo 0,2 come per l’algoritmo Clink, nell’Slink taglieremmo dopo il nodo 6, e ciò non avrebbe senso. A seconda degli indici di similarità e degli algoritmi di clustering ottengo dendogrammi diversi, dai quali sulla base del valore di taglio che si prendono, si possono ottenere diverse celle. Si introduce un concetto di taglio basato su un “percentile” del numero di aggregazioni. Percentile Decido di tagliare tutti i dendogrammi → ha senso parlare di un valore di taglio A. Acquaderni, A. Azami 38 a.a. 2010-2011 significativo per tutti i dendogrammi ottenuti? Ragioniamo dunque sul numero di aggregazioni che è sempre lo stesso indipendentemente dall’algoritmo scelto (sono sempre 6 nell’esempio e 6 = 7-1), ovvero n° aggregazioni = n°macchine - 1 = m - 1. Il valore di taglio sarà dunque dato da un certo valore percentile del numero di aggregazioni. Tale criterio di taglio del dendogramma è identico indipendentemente dalla scelta dell’indice di similarità e dalla scelta dell’algoritmo di clustering. A parità di problema (a parità di numero di macchine) lo posso applicare a tutte le soluzioni. Quantile Il quantile di ordine α è un valore qα che divide una certa popolazione in 2 parti, una proporzionale ad α, e l’altra a (1 - α), tali per cui i valori di un certo parametro analizzato sono rispettivamente < qα, e > qα. Ad esempio diciamo “un certo individuo si colloca nel valore q α” nel senso che ho diviso la popolazione in 2 parti: una con valori proporzionali ad α ma < di qα, mentre l’altra parte > a qα. Il percentile è un esempio, un singolo caso di quantile, è un quantile di ordine 1/100, quindi divido la popolazione in 100 parti e vado ad analizzarne una parte. Esempio: consideriamo tutti i bambini di 3 anni dei quali viene misurata l’altezza, si avranno dunque diversi valori di altezza; se siamo al decimo percentile che in particolare è 1m vuol dire che consideriamo una parte della popolazione sotto il 10% e l’altra parte 1-0,1 = 90% in particolare se il mio bambino si trova al decimo percentile (di altezza o peso) significa che statisticamente un 10% dei bambini di 3 anni sarà più basso di mio figlio, un 90% sarà più alto. Andiamo ad analizzare il percentile del numero di aggregazioni come valore percentuale per il numero di nodi (%p * N° nodi) e ottengo un valore numerico che mi dice quante aggregazioni voglio considerare. Nel primo esempio col Clink, supponiamo di voler eseguire il taglio al 75° percentile del numero di aggregazioni → prendo il valore percentuale (0,75) e moltiplico per il n° di nodi (6), e ottengo 4,5 che sarebbe il numero di nodi a cui mi devo fermare. Ciò però non ci dice niente, poiché potrebbe essere il nodo 4 o il 5, che va tradotto in valori di similarità: si avrà un valore intero inferiore (4) ed un intero superiore (5). Quanto valgono i valori di similarità che corrispondono a 4 e 5? Li vado a prendere dal grafico della matrice di similarità. Vedo che il valore di similarità del nodo 4 è maggiore di quello del nodo 4. → VT% € ] Simil {5} ; Simil {4} ] Escludo (Simil {5}) perché devo ottenere un range di valori di similarità, ed esso non ci rientra, si salterebbe al percentile successivo. A. Acquaderni, A. Azami 39 a.a. 2010-2011 VT% ∈ ] Simil {estremosup(%p * n°nodi)}; Simil {estremoinf(%p * n°nodi)} ] Clink → VT75° ∈ ] 0,1667 ; 0,3 ] Slink → VT75° ∈ ] 0,4 ; 0,417 ] Quindi ho individuato un range di valori che rispondono ad un criterio che non dipende dalle scelte fatte relative agli algoritmi. A seconda degli algoritmi, il risultato ovviamente cambia, ma è il criterio che rimane lo stesso. Più è alta la percentuale stabilita, più si va verso sinistra, qualunque percentuale si prenda si avrà nei diversi metodi lo stesso numero di aggregazioni. Se il valore ottenuto dal VT % della formula è decimale prendo estremo inferiore o superiore, se è intero considero esattamente quel valore, compreso il valore ottenuto, ed in questo caso si avrà un solo valore di similarità. Ottengo dunque un certo numero di cluster che mi permettono di definire il n° di celle di lavoro, ad es se taglio al 75° percentile ottengo 3 cluster → 3 celle di lavoro (m 1-m3, m2-m5, m4-m6-m7). A questo punto devo cercare di valutare in qualche modo la bontà della soluzione ottenuta → quanto la clusterizzazione risulta essere efficiente → efficienza della clusterizzazione. [Ricapitolando dalle diverse matrici applico a ciascuna gli algoritmi Clink ed Slink, e per ogni soluzione prendo diversi valori di taglio] Le soluzioni esplodono, la cosa migliore è cercarle tutte e prendere la migliore, per far ciò ci serviamo di software. • Un parametro di efficienza della clusterizzazione dovrà tener conto di quanti siano i flussi extra-celle che devo riuscire a gestire. Obiettivo è ridurre il più possibile i movimenti intercellulari → Minimi flussi • Altro parametro è l’utilizzo delle celle, non devo rischiare di creare celle poi sottoutilizzate → Massimo utilizzo Lo strumento che utilizziamo per andare a definire le soluzione è quello grafico, perché ci permette di andare a visualizzare il numero delle celle ed è la matrice di incidenza che questa volta deve essere diversa dunque da quella di partenza, la devo rielaborare a seguito della soluzione trovata,→ la rendo diagonalizzata. Una matrice diagonalizzata è una matrice di incidenza (parti-macchine) trasformata in matrice (parti-macchine rispettivamente su righe e colonne) in cui raggruppo però le macchine in celle di lavoro, e le parti in famiglie di prodotti. P1 P2 P3 P4 P5 P6 P7 C1 M1 M3 A 1 B C2 M2 M5 B A B C3 M4 M6 M7 B B A A. Acquaderni, A. Azami 40 a.a. 2010-2011 La matrice nella condizione ideale dovrebbe avere delle lavorazioni solo nei macro-blocchi “A”, nella zona “B” che rappresenta la regione fuori dalla diagonale dovrebbero esserci solo elementi “0”, gli “1” fuori dalla diagonale rappresentano eccezioni che andranno gestiti perché rappresentano movimenti intercellulari. In particolare vanno gestiti: • riducendoli il più possibile • duplicando le risorse, ovvero ad esempio nella cella C 2 in cui va lavorata la parte P 4 che richiede M1, ed è caratterizzata dalla macchina M2 ed M5 dovrei dunque comprare un’altra M1 che però probabilmente è costosa, devo dunque determinare il miglior compromesso tra la duplicazione delle risorse e la minimizzazione dei flussi intercellulari. La matrice diagonalizzata avrà dunque tutte le informazioni raccolte precedentemente raccolte in blocchi, da questa devo ricavare un indice di efficienza di clusterizzazione. L’obiettivo è aumentare il più possibile gli “1” nella zona A e ridurli invece al minimo nella zona B. Per determinare la matrice diagonalizzata devo prima definire le famiglie di parti e l’assegnazione parti-macchine Famiglie di parti → Assegnazione parti-macchine • Assegnazione della parte se questa deve subire delle operazioni nella cella → N° di operazioni di una parte nella cella • Numero di movimenti intracellulari Bisogna dunque determinare un’euristica che si basi su questi 2 criteri. • Tempo di lavoro - Throughput Time (in caso di parità si istituisce questo 3° criterio assegnando la parte alla cella nella quale deve subire le lavorazioni più lunghe) Riassumendo, per la determinazione delle euristiche; • Vado a calcolare per ogni parte e per ogni cella il numero dei movimenti intracellulari e assegno la parte p → C (cella) che prevede il massimo numero di movimenti intracellulari appena calcolati. • In caso di parità (ad es subisce lavorazioni in C1 e in C2) vado a calcolare il numero di operazioni che devono essere eseguite dalla parte p nelle celle C che erano in parità tra di loro allo step precedente. • Nel caso sia anche in parità per il numero di operazioni, valuto il tempo di processamento e assegno alla cella in cui la parte presenta tempo di processamento maggiore. Nell’esempio precedente si hanno i seguenti cicli di lavoro: A. Acquaderni, A. Azami 41 a.a. 2010-2011 (tra parentesi i tempi di processamento) C1: m2-m5 C2: m3-m1 C3: m7-m4-m6 Parte 1 - (consideriamo i movimenti intracellulari) C1 → 0 C2 → 0 C3 → 0 Siamo di fronte a una situazione di parità tra le macchine, quindi devo trovare un altro criterio da utilizzare → guardo il numero delle operazioni: C1 → 1 (su M5) C2 → 1 (su M1) C3 → 2 (su M4 ed M7) Poiché stavolta ho un valore maggiore degli altri posso assegnare P 1 alla cella C3 Parte 2 - (consideriamo i movimenti intracellulari) C1 → 0 C2 → 0 C3 → 1 Assegno dunque anche P2 alla cella C3 Parte 3 C1 → 0 C2 → 0 C3 → 1 → assegniamo a C3 Parte 4 (movimenti) C1 → 0 A. Acquaderni, A. Azami 42 a.a. 2010-2011 C2 → 0 C3 → 0 (numero di operazioni) C1 → 2 C2 → 2 C3 → 1 (tempi di processamento) C1 → 4+6=10 C2 → 7+7=14 In conclusione: C1: P5, P7, P9, P14 C2: P4, P10, P15 C3: P1, P2, P3, P6, P8, P11, P12, P13 Otterremo una matrice diagonalizzata di questo tipo: Quelle in blu sono le celle di lavoro che devono lavorare le famiglie di prodotto. I numeri rossi invece sono le eccezioni da trattare, in quanto flussi intercellulari La bontà di questa soluzione viene valutata tramite i parametri precedentemente elencati. Vediamo che i posti con gli “0” nella parte blu sono 5, mentre gli “1” fuori sono più di 5, quindi in teoria io potrei migliorare la mia situazione. Per capire quanto posso migliorare ulteriormente la mia situazione, utilizzo il “Problem density”: Problem Density PD= n° di 1in zone Ae B n ° di elementi in Ae B Se PD↑↑, probabilmente avrò difficoltà a inserire tutti gli elementi “1” in una zona A. Inside Cells Density Possiamo dunque individuare un altro parametro chiamato “Inside Cells Density”, in quanto se le celle individuate sono piene potrei procedere a ritroso, cambiare metodo, ecc ma non riuscirei comunque ad inserire altri “1”. ID= A. Acquaderni, A. Azami n ° di 1 in zona A n ° di elementi in A 43 a.a. 2010-2011 Il mio obiettivo è che questo valore sia il più alto possibile. Più sarà alto, più sarà difficile migliorare la mia soluzione, in quanto quella trovata sarà già buona. Si può calcolare tale indice sia in modo totale sia per le singole celle e ciò permette di capire quale sia la cella in cui lavorare per via preferenziale Nel caso precedente: PD = 54/105 = 0,514 Vediamo che è circa la metà, questo ci da un’idea della bontà della nostra soluzione. IDtotale = 33/38 = 0,8684 IDcella1 = 1 IDcella2 = 1 IDcella3 = 19/24 = 0,79 Lavoreremo dunque sulla cella 3 Per quanto riguarda invece i movimenti intercellulari, possiamo andare a verificarli attraverso altri indici relativi alla densità non della zona A ma della B → Outside Cells Density OD= n° di 1 in zona B n ° di elementi in B OD = (n° di “1” in zona B) / (n° di elementi in B), dobbiamo cercare di minimizzarlo. OD = 21/67 = 0,313, quindi non è una situazione critica ma si può migliorare, dobbiamo però considerare che in sé e per sé questo parametro non è significativo in quanto se poi le celle sono troppo piene non si riesce a diminuire OD. N° di elementi eccezionali EE=n ° di 1 fuori diagonale , cioè in B EE = (n° di “1” fuori diagonale, cioè in B), dobbiamo cercare di minimizzarlo. Ratio of exceptions RE = n ° di 1 in zona B n ° di 1 in AB RE = (n° di “1” in zona B) / (n° di “1” in A+B), dobbiamo cercare di minimizzarlo. Ratio of non “0” elements in Cells REC = n ° di 1 n ° di elementi in A Se questo rapporto è molto alto, maggiore di 1, la capacità delle celle sarà limitata e non mi basterà stare dentro la zona A, dovrò sforare nella B. A. Acquaderni, A. Azami 44 a.a. 2010-2011 29/03/2011 Abbiamo visto che gli obiettivi sono aumentare l’utilizzo delle celle e diminuire le movimentazioni intercellulari. Come indicatori avevamo visto il Problem Density, l’Inside Density, Outside Density, N° di Elementi Eccezionali, Ratio of Exceptions, Ratio of non “0” Elements in Cells. Inside Cell Density → indica la densità di “1” all’interno della zona A, ovvero fornisce informazioni riguardo l’utilizzo delle celle. Outside Cell Density → indica la densità di “1” all’interno della zona B. Tutti questi parametri sono validi, non ce n’è uno ottimo ma li differenzia il fatto che si basano o su utilizzo celle o su movimentazioni intercellulari. Grouping Efficiency E’ stato introdotto un altro parametro, il Grouping Efficiency (GE): ha l’obiettivo di utilizzare entrambi i driver, fa una media pesata di un parametro che tiene conto dell’utilizzo delle celle e dell’altro che tiene conto delle movimentazioni intercellulari. GE=q⋅U 11−q⋅MI 1 In generale si ha GE dove q è un peso, U 1 un fattore che considera il fattore di utilizzo delle celle, e MI1 riferito alle movimentazioni intercellulari. I parametri MI1 e U1 vanno entrambi nella stessa direzione (massimizzo entrambi o minimizzo entrambi)? No, devo cercare di massimizzare U 1 e al contrario minimizzare MI1 ; per risolvere il problema calcolo introduco al posto di MI 1 il suo complementare (1MI1) in modo da poterli fare andare nella stessa direzione: GE=q⋅U 11−q⋅1−MI 1 L’utilizzo delle celle viene rappresentato in maniera efficiente da GE: GE=q⋅ C ed [ e0 1−q⋅ 1− ∑ M c⋅P c c=1 C M⋅P−∑ M c⋅P c c=1 ] dove il primo fattore rappresenta l’utilizzo delle celle (il denominatore rappresenta l’area della zona A), mentre il secondo fattore rappresenta i movimenti intercellulari (il denominatore indica l’area della zona B), e i parametri sono: ed = n° di “1” nella zona A e0 = n° di “1” nella zona B M = n° di macchine P = n° di parti Area Totale Matrice = M * P = n° di elementi in A+B C = n° di celle Mc = n° di macchine appartenenti alla cella C Pc = n° di parti assegnate alla cella C A. Acquaderni, A. Azami 45 a.a. 2010-2011 Ora bisogna determinare il peso q che in teoria potrebbe essere arbitrario, ma l’esperienza insegna che si potrebbe avere un q di “buonsenso”. A seconda della configurazione della matrice agirò su q: • Blocchi della diagonale poco numerosi e con elevato valore di area (in questo caso ha senso dare un peso maggiore a q, un valore maggiore di peso) • Numero elevato di blocchi di piccole dimensioni (che presumibilmente saranno molto densi di “1”), si avranno però anche tanti “1” nella zona B → devo cercare di dare peso alla parte che minimizzi i flussi intercellulari → darò più peso a (1-q), quindi q dovrà essere più basso Ora devo matematicamente esprimere questo concetto → q alto quando area dei blocchi A è grande, e basso quando l’area dei blocchi è piccola C ∑ M c⋅P c q= c=1 M⋅P e questo è un possibile peso da inserire nella formula precedente; si potrebbe anche inserire un peso arbitrario e verificarne la bontà. Esempio: nel caso dell’esempio di ieri M = n° di macchine = 7 P = n° parti = 15 C = n° celle = 3 (C1 = m2-m5, C2 = m1-m3, C3 = m4-m6-m7) e0 = 21 = n° di “1” fuori dalla diagonale ed = 33 A. Acquaderni, A. Azami 46 a.a. 2010-2011 C1 → M1 = 2, P1 = 4 →M1P1 = 2*4 = 8 C2 → M2 = 2, P2 = 3 →M2P2 = 2*3 = 6 C3 → M3 = 3, P3 = 8 → M3P3= 3*8 = 24 → q = (6+8+24) / (7*15) = 38/105 = 0,36 → (1-q) = 1-0,36 = 0,64 Il problema di questa soluzione è la numerosa presenza di “1” fuori dalla diagonale → GE = 0,36*(33/38) + o,64*[1 - 21/(105-38)] = 0,75 ↑↑ GE=q⋅ C ed [ e0 1−q⋅ 1− ∑ M c⋅P c c=1 C M⋅P−∑ M c⋅P c c=1 ] Il secondo parametro l’abbiamo calcolato attraverso valori dati, si potrebbero però introdurre anche informazioni riguardanti il ciclo produttivo come Tempi di lavoro (T mp) e Volumi produttivi (Vp), in quanto un flusso intercellulare richiederà gestione diversa a seconda che sia di 1 pezzo o di 100, lo stesso vale per il tempo impiegato. Queste 2 caratteristiche vanno ad incidere sui pesi dei flussi intercellulari. Mentre il Volume produttivo V è identico per la parte (P 1 circola sempre nelle stesse quantità di macchina in macchina) il valore del tempo di lavoro non dipende solo dalla parte, ma anche dalla macchina (P 1 ci impiega diversi tempi per essere lavorato sulle diverse macchine). L’obiettivo è minimizzare i flussi intercellulari con V p ↑↑ e Tmp↑↑ C1 P1 P2 P3 P4 P5 P6 P7 P8 P9 M1 1 1 1 0 0 0 0 0 0 M2 1 1 0 1 M3 C2 M4 1 1 0 0 1 1 1 M5 C3 M6 1 0 0 1 1 1 1 Cosa dobbiamo valutare? I 3 “1” nelle zone B. Partiamo dalla cella C1 e andiamo a considerare le macchine presenti in quella cella (M 1 M2), scorriamo le diverse parti e ci soffermiamo solo sugli “1” in zona B (in questo caso in P7 – P8 - P9). C M [ P ∑ ∑ Y mc⋅ ∑ 1−Z pc ⋅X mp⋅V p⋅T mp QI =Quality Index=1− c=1 m=1 p=1 M P ∑ ∑ X mp⋅V p⋅T mp ] =1− ICW PW m =1 p=1 A. Acquaderni, A. Azami 47 a.a. 2010-2011 Ymc = 1 solo se la macchina M appartiene alla cella C 0 altrimenti Zpc = 1 se la parte P appartiene alla cella C 0 altrimenti Ora rimangono solo le parti fuori dalla cella che esistono solo se c’è una lavorazione che deve essere lavorata da un’altra macchina → Xmp = 1 se la parte P deve essere lavorata dalla macchina M 0 altrimenti A denominatore abbiamo il valore numerico di volume per tempo di tutti gli “1” che devo gestire nelle celle di lavoro, a numeratore invece solo gli “1” relativi ai flussi intercellulari. Riassumendo dunque: ICW QI =1− PW ICW = Carico di Lavoro Intercellulare PW = Carico di Lavoro Totale Noi abbiamo sempre lavorato con una matrice di incidenza simmetrica, se invece fosse asimmetrica come faremmo? M1 M2 M3 M4 M5 M1 1 0,6 0,42 0,77 0,55 M2 0,5714 1 0,75 0,2 0,52 M3 0,888 0,75 1 0,62 0,35 M4 0 0,75 0,33 1 0,44 M5 0,75 0,75 0,571 0,5714 1 Nel caso di asimmetria cambia il passaggio e l’ordine di visita delle macchine, i valori che ottengo sopra la diagonale sono diversi da quelli sotto: SM1-M2 ≠ SM2-M1 Prendo sempre il valore maggiore per tutta la matrice M1 - M3 M2 M1 - M3 1 0,75 M2 0,75 1 0,2 0,52 0,75 1 0,44 0,5714 0,5714 1 M4 M5 0,75 M4 M5 0,55 SM1-M3 ; M5 = max { sim (M1 - M5) ; sim (M3 - M5) } = max { 0,55 ; 0,35 } = 0,55 SM1-M3 ; M2 = max { sim (M1 - M2) ; sim (M3 - M2) } = max { 0,75 ; 0,571 } = 0,75. A. Acquaderni, A. Azami 48 a.a. 2010-2011 31/03/2011 Tecniche di clustering applicate al caso HydroPump Ora applicheremo le tecniche di clustering al caso Hydropump. Avevamo visto il dimensionamento del numero di macchine ma non del numero di operatori. Le tecniche di clustering servono per raggruppare risorse e ridurre costi; obiettivo finale del caso è definire il layout ottimale per la group technology. Iniziamo avendo la matrice di incidenza Applichiamo algoritmo UPGMA Vediamo che si ottengono 18 nodi, cioè quanti pensavamo visto che abbiamo 18 macchine. Scegliamo un indice di similarità di 0,7 il risultato finale è che otteniamo 8 cluster che andranno a formare una sorta di area da collocare all’interno del nostro reparto. CL1 → costituito dalla m2 e m13 CL2 → m4 , m7 , m9 , CL3 → m5 , m6 , m16 CL4 → m3 e m11 A. Acquaderni, A. Azami, A. Gennari 49 a.a. 2010-2011 CL5 → m8 , m10 , m14 , m18 CL6 → m1 e m17 CL7 → m12 CL8 → m15 m3 e m18 sono due cicli di lavoro, non c’è il trasporto, ma solo la lavorazione. Per il calcolo del n° di operatori ci serve il tempo disponibile T disp e il tempo effettivo impiegato Trich. Nop = Trich / Tdisp Tdisp = 7,5 x 60 x 220 = 99.000 min/anno (individuo un n° medio di operatori statico che andremo a spalmare sui turni con un dimensionamento che poi andrà verificato dinamicamente) oppure Tdisp = 3 x 7,5 x 60 x 220 = 297.000 min/anno (sui 3 turni → ottengo il n° di operatori per ogni turno) Top = Trich = 105.910 min/anno CL1 → N°operatori x turno m2 = 105.910/297.000 = 0,36 (su 3 turni) N°operatori x turno m13 = 0/297.000 = 0 0,36 + 0 = 0,36 → 1 op x 3 turni = 3 op CL2 → N°operatori x turno m4 = 68.000/198.000 = 0,34 (su 2 turni) N°operatori x turno m7 = 37.075/198.000 = 0,19 (su 2 turni) N°operatori x turno m9 = 29.950/198.000 = 0,10 (su 3 turni) 0,34 + 0,19 + 0,10 = 0,63 → 1 op x 2 turni = 2 op Abbiamo clusterizzato quindi non devo arrotondare il numero di operatori per singola macchina ma arrotondo la somma all’interno del cluster (centro di lavoro, ad es in CL 2 faccio 0,34 + 0,19 + 0,10 e arrotondo questa somma), in CL 1 ho solo 0,36 → 1 operatore ma è 1 op/turno → 3 operatori, 1 per turno; avendo fatto una clusterizzazione però potrei lavorare su un cluster che comprende macchine che lavorano su n° di turni diverso, ad es una lavora su 2 e una su 3 → ? Aveva senso calcolare il n° di operatori complessivo ma in caso contrario ci si può dimensionare come se si fosse su 2 turni, e il 3° turno lo si tiene in sospeso e si andrà a vedere se ci sarà un operatore scarico nel 3° turno e potrà coprire questo lavoro. CL3 → N°operatori x turno m5 = 0,12 (su 2 turni) N°operatori x turno m6 = 0,35 (su 2 turni) N°operatori x turno m16 = 0,25 (su 2 turni) 0,12 + 0,35 + 0,25 = 0,72 →1 op. x 2 turni = 2 op. CL4 → N°operatori x turno m3 = N°operatori x turno m11 = ? + ? = 0,36 → 1 op. x 3 turni = 3 op. Avevamo calcolato 2,35 operatori per il piazzamento Se ho più operatori disponibili per il 3° turno si guarda quello più vicino a livello di layout delle celle perché dovrà andare a coprire un altro cluster. A. Acquaderni, A. Azami, A. Gennari 50 a.a. 2010-2011 CL5 → N°operatori x turno m8 = 0,21 (su 2 turni) N°operatori x turno m10 = 0,30 (su 3 turni) N°operatori x turno m14 = 1,97 (su 3 turni) N°operatori x turno m18 = 2,77 operatori per piazzamento 0,21+ 0,30 + 1,97 = 2,48 → 3 op/turno * 3 turni → 9 operatori ma dei quali 1 è scarico nell’ultimo turno e coprirà m 9 nel CL2 (anche se già nelle soluzioni precedenti si poteva avere questa possibilità). E’ importante comunque effettuare una verifica dinamica poiché il n° di operatori è stato calcolato come valore medio e statico, nella pratica bisogna vedere se una macchina è effettivamente libera quando l’operatore ci dovrà lavorare per il setup, non potrà svolgere le lavorazioni o gli attrezzaggi in qualunque momento. In totale otteniamo quindi 35 operatori e 18 attrezzisti. A. Acquaderni, A. Azami, A. Gennari 51 a.a. 2010-2011 5. Determinazione del Layout di stabilimento Determinazione Layout nel caso HydroPump Ora dobbiamo capire come collocare i nostri cluster all’interno della pianta. Quindi dobbiamo capire qual’è l’area occupata da ogni cluster. Non ci baseremo su algoritmi già visti ma vedremo una piattaforma software (LRP UniBo sviluppata dal DIEM) che sfrutta in parte gli algoritmi già visti (Corelap, Aldep, ecc). I reparti da allocare in questo caso sono i cluster. Bisogna considerare in input l'anagrafica reparti (quali sono i cluster che devo inserire nella pianta, quali sono le aree dei cluster e cosa contiene ogni cluster. Queste informazioni le abbiamo o comunque possiamo facilmente ricavarle). Esempio CL5: Area unitaria [m2] n° macchine Area tot. [m2] m8 13 3 129 m10 15 1 15 m14 9 2 18 m18 85 4 340 Area totale minima = 502 m2 (solo ingombro fisico) Non posso considerare l’area minima delle macchine perché non le posso lasciare tutte attaccate, ma devo prevedere corridoi e aree minime di sicurezza in cui l’operatore può lavorare (operazioni, setup, carico, scarico, manutenzione) L’area del nostro cluster la stabiliremo sommando agli ingombri, gli spazi necessari quali corridoi di passaggio, ecc.. Non abbiamo specifiche ulteriori per cui la disposizione dei lati delle macchine e delle macchine tra loro è libera, non si hanno problemi di alcun tipo (ad es da Direttiva Macchine). Così abbiamo definito i blocchi della nostra area. Ora dobbiamo definire un layout cercando di ottenerne uno con 2 obiettivi: • minimizzare i costi di trasporto • massimizzare una funzione data dalle relazioni di vicinanza Questi 2 obiettivi erano presenti anche negli algoritmi visti quali Aldep, Corelap, ecc. Minimizzare i flussi tra i cluster ma anche tra le macchine interne al cluster. La codifica è quella standard con le relazioni di vicinanza/lontananza A, E, O, U, X, XX da vicinanza ad assoluta lontananza. Si costruisce dunque la From-To Chart. A. Acquaderni, A. Azami, A. Gennari 52 a.a. 2010-2011 Flow Control Point sono punti di scambio del materiale principalmente sono quei punti di carico e scarico di materia prima o semilavorato che entra in una macchina o del semilavorato che ne esce. Bisogna definire nella cella dove si collocano tali punti perché è da tali punti che si considerano le distanze. Per stabilire i punti di scambio si possono usare: • Logica a “reparti” → punto di carico scarico materiale coincidente col centro del reparto • Logica “flow control point” → considero una più dettagliata movimentazione intercellulare e la movimentazione intracellulare che invece prima non veniva considerata. I movimenti vanno gestiti attentamente perché generano costi. La matrice dei flussi si ricava da alcune ipotesi: • Livellamento della produzione (era 1 lotto/gg di ogni prodotto finito, e 1 lotto coincideva con la domanda giornaliera) → individuiamo la produzione giornaliera [pz/lotto o pz/gg] • Cicli di lavoro (sequenza di macchine sulle quali un prodotto deve essere lavorato), lo abbiamo come dato da input Devo trovare i viaggi al giorno → ? Conosco i pezzi/giorno e conosco la sequenza ma mi serve un’altra ipotesi: • Com’è fatta la pallettizzazione del prodotto? Quanti sono i pezzi/UdC che posso A. Acquaderni, A. Azami, A. Gennari 53 a.a. 2010-2011 trasportare? Possiamo ipotizzare a monte che 1 UdC contenga esattamente la quantità di pezzi al giorno che devo trasportare (questa ipotesi semplificativa andrà poi verificata in un secondo momento). N°viaggi/gg = numero di volte in cui la sequenza di macchine i-j è presente nei cicli di lavoro di tutti i prodotti (ad es per il prodotto P 1, devo vedere quante volte subisce lo spostamento da m1 a m2, poiché considero le coppie di macchine [da una all’altra]) Lo devo fare su tutti i cicli di tutti i prodotti, perché a me serve sapere la somma dei flussi, poiché sto ragionando per macchine. 1. Flusso di materiale [FO1] [ ] € giorno ij → da minimizzare; con c = [€/m], d = [m/viaggio], z = [viaggi/gg] FO 1=∑ cij⋅d ij⋅z ij = 2. Relazioni [FO2] FO 2 =∑ P ij ij → questo valore è da massimizzare in quanto ho messo vicine le relazioni A e lontane le relazioni X 3. LRP considera oltre a queste 2 relazioni una 3 a, media pesata sia dei flussi che delle relazioni [FO3] Fare l’analisi flow control point è più facile e fornisce un’informazione più dettagliata sui costi ma è meno lineare. A. Acquaderni, A. Azami, A. Gennari 54 a.a. 2010-2011 04/04/2011 Avevamo definito il layout del reparto lavorazioni meccaniche → funzione obiettivo • Minimizzazione delle distanze, quindi dei costi di movimentazione: Σij fij * dij * eij • Considera i legami di vicinanza (le relazioni) tra gli stessi reparti : Σij Rij Entrambi questi fattori possono essere tenuti in considerazione con una funzione ibrida, oppure posso utilizzarle tutte e 2 attribuendo prima una priorità. Si è deciso di partire con una sequenza di inserimento in cui si presentano i cluster per essere inseriti → non valutazione casuale ma sequenza prestabilita che permette di risparmiare sui tempi di processamento e fornisce un layout ottimale. Tale sequenza di inserimento può essere determinata con diversi criteri, ne vedremo 3: • Massimo flusso totale: considero il reparto o cluster che presenta la somma dei flussi totale più alto (valore preso dalla matrice dei flussi, la from-to in cui sommo tutti i flussi da e a un reparto rispetto a tutti gli altri, ad es tutti i flussi in ingresso alla macchina m15 e inserisco questa perché presenta un numero elevato di viaggi/gg, dopo m15 cerco una macchina che ha maggiore flusso e coinvolge m 15). Ωi = Σt Fit → Traducendo in formula calcolo tutte le funzioni Ωi dei reparti i-esimi. Il 1° reparto ad essere inserito è quello col massimo valore Ωi. t = reparti già collocati → 1° reparto è quello con F j maggiore, dal secondo turno, il 2° reparto da inserire sarà quello con Ωi maggiore. Tale metodo funziona bene quando si hanno flussi poco bilanciati, aspetto negativo è che è complesso e non per forza mette in ordine di ingresso il reparto giusto • Massimo flusso puntuale: va a definire quello che è il reparto che ha il singolo flusso con un altro reparto/macchina maggiore → prendo i singoli flussi tra le coppie di macchine o di reparti. 1° rep → Ωi = MAX Fij con t = reparti già collocati → Ωi = MAX Fit. Il primo reparto è quello col massimo flusso in assoluto, dal secondo i reparti col massimo flusso con quelli già collocati • Rapporto pesato: andiamo a considerare una funzione Φ che ci dà il rapporto tra i flussi del nostro reparto i-esimo e quelli già collocati → Φ i = [(Σj Fij ) / (Σt Fit )] Stiamo andando a valutare quanto incide il flusso del reparto i-esimo sul flusso totale dei reparti che ho già collocato → scelgo il reparto i-esimo con minimo valore di Φi, con j = reparti da collocare, inizialmente tutti i reparti saranno in j; più andiamo avanti nella procedura, più “j” si ridurrà di 1. Devo minimizzare il valore totale di Φi e lo faccio aumentando il denominatore. Con questo metodo si possono ottenere ottimi risultati relativi alla sequenza. Il metodo funziona bene se i flussi sono ben bilanciati. Obiettivo è sempre inserire reparti che abbiano maggior flusso con quelli già entrati. Mi devo porre un ulteriore quesito: come faccio a valutare quale sia il primo reparto? Se uso questa formula al primo reparto il denominatore è uguale a zero → il 1° reparto va scelto casualmente o con altri criteri. Esempio: (utilizzando il 2° metodo applicato al caso HydroPump) Consideriamo 18 macchine da inserire come nostro dato di partenza → avremo 18 passi successivi di questa procedura: A. Acquaderni, A. Azami, A. Gennari 55 a.a. 2010-2011 1. Consideriamo il massimo valore del flusso F ij → Ωi = MAX Fij; m11 ed m15 sono pari, ma m11 è quella con più collegamenti dopo → inserisco la m11. 2. Macchina successiva è o m 3 o m15, anche qui in parità ma guardo quella che ha più flussi con le altre → m3, anche il flusso cumulato resta 39 (come quello puntuale) 3. Inserisco m15 (vedi tabella coi flussi) 4. Inserisco m14 che ha un flusso di 10 e ci sono altre macchine con flussi maggiori di 10 ma sicuramente non con le macchine già inserite (ed è questo il flusso che devo considerare) 5. Scelgo m10 perché è quella che mi permette di inserire il flusso di 24 con la macchina m14 6. m18 ... 18. Flusso Puntuale Altri Flussi Cumulata flussi % macchine entranti % flusso entrante (Flusso/tot flussi) m11 - - - 5,56% (= 1/18) - m3 39 0 39 11,11% 12,79% (= 39/305) m15 39 9+1 =10 88 (= 39+ 39+ 10) 16,67% 28,85% m14 10 0 98 22,22% 32,13% m10 24 0 122 27,78% 40,00% m18 24 4 150 33,33% 43,18% m1 12 m17 13 m13 9 m6 9 m2 5 m12 5 m8 5 m5 7 m9 m7 m4 m16 Abbiamo dunque determinato un layout tramite LRP A. Acquaderni, A. Azami, A. Gennari 56 a.a. 2010-2011 Numero di macchine + numero di operatori → costi di investimento → 20 prodotti → movimentazione di materiali → analisi dei flussi → devo andare a verificare però non solo questi, ma anche i costi di movimentazione dei materiali, questo ci permetterà di ottenere un valore economico. Andiamo quindi a verificare tali costi tramite: • Progettazione della flotta di veicoli per la movimentazione dei materiali → devo in qualche modo stabilire il numero di veicoli necessari a fare in modo che il materiale arrivi nel posto giusto al momento giusto. • Ottimizzazione dei parametri legati al trasporto → stabilito il numero ideale di carrelli andiamo a vedere come la configurazione di layout risponda in termini di parametri prestazionali (verifichiamo se sul serio sia la configurazione più efficiente → stabiliamo parametri di prestazione) All’interno dei costi di investimento andiamo quindi a considerare anche quelli relativi al dimensionamento dei veicoli. 1. Dal layout abbiamo diversi input: • Dimensionamento veicoli • Efficienza del sistema di material handling • Si inserisce il layout in sistema CAD e si studiano le aree dei cluster, le aree di stoccaggio per carico/scarico materiale, che saranno in corrispondenza dei flow A. Acquaderni, A. Azami, A. Gennari 57 a.a. 2010-2011 control points. Si disegnano anche vettori unidirezionali/bidirezionali che rappresentano i percorsi che dovrà fare il veicolo tra i fcp. Quindi a partire dai flow control point devo realizzare una rete di percorsi caratterizzata da diversi vettori unidirezionali o bidirezionali (perché in una certa direzione posso percorrere un certo tratto sia in un verso sia in un altro, ciò facilita l’individuazione del percorso più breve). In generale i tratti della rete da individuare sono bidirezionali, anche perché facciamo riferimento a sistemi a veicoli classici come carrelli elevatori o transpallet → lo stesso cammino, avendo flessibilità elevata, può essere percorso sia in un verso sia in un altro. 2. → Cicli e politiche di produzione Ci forniscono la sequenza di lavorazione e quindi i flussi, dai flussi ricavo la from-to chart [viaggi/gg], da ciò giungiamo ad un livellamento [pz/gg]. 3. → Caratteristiche del sistema di material handling Avevamo considerato come ipotesi il fatto che una Unità di Carico contenesse tutti i pezzi della domanda giornaliera, ora invece dobbiamo considerare meglio questa ipotesi e verificare esattamente quanti pezzi di prodotto riesco a far stare su una UdC. Per analizzare le UdC devo considerare le caratteristiche del pallet (UdC): • dimensioni (lunghezza, larghezza, altezza) • capacità di carico [pz/pallet] [pz/UdC] pezzi pezzi giorno giorno viaggi = = giorno pezzi pezzi UdC viaggio Ci troveremo davanti ad alcuni prodotti che non potranno essere trasportati in un unico viaggio e dovranno utilizzare più UdC. [ [ ] [ ] [ ] [ ] ] Parallelamente a ciò dobbiamo considerare anche le caratteristiche dei veicoli: • velocità [m/s] • accelerazione • tempo di carico • disponibilità • costo unitario [€/s] [€/m] → è importante andare a verificare questo aspetto • capacità di carico [UdC/veicolo] A. Acquaderni, A. Azami, A. Gennari 58 a.a. 2010-2011 A partire da questi input otteniamo dati che usiamo nella definizione dell’analisi dei flussi, in modo particolare abbiamo 2 tipi di approcci: uno statico ed uno dinamico. Dal punto di vista statico andrò a considerare un certo numero N z = n° Minimo di carrelli, secondo Trichiesto e Tdisponibile. L’approccio statico però non tiene conto dell’aspetto temporale e delle congestioni date dal traffico, per questo ci serve il dimensionamento dinamico che fornisce il N° carrelli reale. Per l’efficienza del sistema di material handling andiamo a considerare: • costo del trasporto [€/pz] • saturazione delle aree di carico/scarico (stoccaggio) e ci rendiamo conto che probabilmente abbiamo sovradimensionato o sottodimensionato alcune aree • analisi del traffico e congestioni Da tali 3 fattori si avranno diversi scenari alternativi in base a caratteristiche dei veicoli, della pallettizzazione, del layout/rete/FCP. A. Acquaderni, A. Azami, A. Gennari 59 a.a. 2010-2011 05/04/2011 6. Analisi dei flussi di materiale e ottimizzazione dei parametri di trasporto Una volta definito il layout bisogna passare all’analisi dei flussi che ha 2 aspetti: • Dimensionamento della flotta di veicoli che servono per il sistema di material handling (MH) • Valutazione dell’efficienza del nostro sistema di movimentazione materiali (MH) L’analisi dei flussi va fatta anche in caso di un impianto as is da modificare e non da ricreare da nuovo. Si ha bisogno di alcuni input: • Layout (piantina CAD con collocazione reparti) → si avranno aree di produzione, dedicate alle macchine e aree di stoccaggio interoperazionali. Anche l’area di stoccaggio andrà trattata con cura perché sarà oggetto di valutazione di efficienza. Rete di percorsi (insieme di vettori che la nostra flotta di veicoli potrà percorrere). La rete di percorsi è definita da Flow Control Points e da Vettori bidirezionali (perché i mezzi sono flessibili, come transpallet o carrelli elevatori). Da questo layout andiamo a ricavare informazioni relative alle distanze tra 2 punti generici i e j di carico e scarico. Otteniamo dunque una matrice delle distanze in cui su righe e colonne si avranno i vari flow control points. Poiché facciamo l’ipotesi di bidirezionalità la matrice sarà simmetrica, nel caso di AGV la matrice non sarebbe stata simmetrica (perché i vettori sarebbero stati unidirezionali). La bidirezionalità dà il vantaggio della flessibilità ma allo stesso tempo crea un problema di traffico e di congestioni. Da qui dovremo valutare quale sia il tratto più critico. • Ciclo produttivo → ricaviamo l’informazione relativa alla sequenza di lavoro, quella con cui un certo prodotto visita le macchine. Da questa informazione troviamo un altro elemento importante per la nostra analisi → i flussi: da quale macchina verso quale altra macchina, e l’intensità di essi (pz da movimentare), e il livellamento della produzione. Conoscendo il livellamento e la sequenza di lavoro data dal ciclo produttivo, ricaviamo i flussi fij [viaggi/gg] → matrice dei flussi asimmetrica. Questa sarà riempita solo parzialmente, non completamente. • Prestazioni del sistema di material handling → UdC o UdM (unità di movimentazione) e la tipologia di veicoli scelta per eseguire la movimentazione, a seconda della scelta si avranno diverse prestazioni. Altro dato importante per la nostra analisi sono i Tempi di percorrenza t ij, i tempi di carico l i e scarico uj. Con questi ricaviamo dij → matrice delle distanza simmetrica. Dalle prestazioni del veicolo ricaviamo l’ultima informazione relativa al costo unitario del trasporto c ij [€/m] o [€/sec] Conosciamo dunque le distanze ed i flussi, ricaviamo quindi una matrice dei tempi (carico e percorrenza) e una matrice sui costi di percorrenza. Con queste informazioni possiamo valutare il nostro sistema secondo 2 parametri (funzioni obiettivo): • FO1: fa riferimento al costo della movimentazione ed è la stessa che avevamo utilizzato per il layout → valutazione economica → Σij (fij * dij * cij) [€/gg] A. Acquaderni, A. Azami, A. Gennari 60 a.a. 2010-2011 • FO2: fa riferimento all’aspetto temporale → quanto vale il tempo di movimentazione totale? Ci aspettiamo un valore temporale: [min/gg] o [s/gg] impiegati in movimentazione → Σij fij * (tij + li + uj). In realtà anche questa valutazione potrebbe essere economica, visto che qui abbiamo una valutazione di [sec/gg], e prima avevamo una valutazione anche di [€/sec] → [€/gg] Scelta del mezzo di trasporto Quando andiamo a definire l’UdC dobbiamo definire quale sia il mezzo di trasporto. I supporti a questi trasporti sono i pallet (1200 x 800). Andiamo quindi a definire l’UdC andando a caricare sul pallet un certo numero di prodotti, questo numero sarà vincolato alle dimensioni fisiche soprattutto per l’altezza. Devo valutare quindi la stabilità di carico e la portata e trovare l’equilibrio ottimale tra stabilità e numero minimo di viaggi. Dai cataloghi dei veicoli possibili scelgo un veicolo: Dimensionamento Statico Veicoli di tipo Z → MZ'= T Z x T richiesto per la movimentazione = TZ T disponibile → questo rapporto permette di ricavare il n° minimo (perché è un dimensionamento statico) di carrelli (veicoli). E’ necessario andare poi a definire una simulazione dinamica che tenga in considerazione la dimensione temporale e le congestioni per andare poi a correggere quello che era il n° ideale di carrelli. Ovviamente quello che dobbiamo considerare noi è l’intero superiore di Mz’ cioè Mz. Devo considerare anche la disponibilità: non posso pretendere di considerare come tempo disponibile tutto il tempo di lavoro (8h) ma solo una parte (7,5h ad esempio) che tenga conto anche dei guasti e delle manutenzioni. Tz(x) dobbiamo andare a calcolarcelo considerando i viaggi che devono essere svolti → Tz(x) = Σij [nij*(tijz+ liz+ ujz)]. Dove nij = n° di viaggi dal punto i al punto j, ma non possiamo considerare solo questo (flussi * tempi) poiché per assurdo arriverei ad avere tutti i veicoli fermi ad una certa macchina senza niente che gli dica di tornare indietro ad un’altra macchina che ne ha bisogno. Devo fare in modo che il carrello vuoto torni da j ad un punto i che lo caricherà (viaggio scarico), stessa cosa del dimensionamento AGV. n ij sono i viaggi carichi, oltre a questi devo gestire i viaggi di bilanciamento (scarichi); introduco dunque la variabile xij per i viaggi scarichi e la moltiplico per i tempi che però saranno inferiori in quanto ho solo il tempo di trasferimento, non carico e scarico → ottengo il tempo totale richiesto → T Z x =∑ nij⋅t ijz l iz u jz ∑ x ij⋅t ij ij ij Il problema è determinare il n° di viaggi scarichi. Dobbiamo andare a verificare le macchine che presentano carrelli in esubero e le macchine che ne hanno carenza per poi bilanciare. Questa probabilmente non è la soluzione ottima, ma è una buona soluzione. Ha senso introdurre una piccola area di stoccaggio interoperazionale “m IN” per i materiali in A. Acquaderni, A. Azami, A. Gennari 61 a.a. 2010-2011 ingresso, dalla quale partiranno tutti i flussi che andranno a servire la prima macchina di ogni ciclo. Analogamente in uscita → zona “m OUT” in cui confluiscono tutti i semilavorati in uscita dal ciclo produttivo; non è uno strumento obbligatorio ma è utile. I flussi di ribilanciamento saranno quindi solamente da mOUT ad mIN. Anche se non mettessi m IN e mOUT dovrei comunque mettere la valutazione dei viaggi scarichi, se le inserisco i viaggi scarichi vanno solo da m OUT a mIN, se non le inserisco vanno bilanciati tra le varie macchine. Dimensionamento Dinamico → si utilizza la simulazione che può essere svolta anche con carta e penna, simulando i viaggi ed i percorsi chiusi (trip & routes) → carta di simulazione temporale (tipo la carta robot-macchina) Andiamo a verificare i parametri di efficienza del sistema di MH → si suddividono in 3: • Analisi dal punto di vista del prodotto → valutazione su tempo, distanza, flussi (quanti viaggi un prodotto mi costringe a svolgere?), costi. • Analisi dal punto di vista del veicolo (anche dal punto di vista del veicolo si possono fare le valutazioni di cui sopra) Altri elementi da valutare sono saturazione aree, indice di flusso ed indice di traffico. Partiamo dal punto di vista del prodotto: • Analisi del tempo: tempo richiesto per movimentare il prodotto k sulla “macchina” i (è un flow control point) → otteniamo un tempo: t ki = • ∑ f ijk⋅tijli u j ∑ f kji⋅t jil j u i j j N k [ [ ] [ ] sec giorno sec = = pezzo pezzi giorno Analisi del tempo: tempo richiesto per movimentare il prodotto k: ] t k= ∑ t ki i 2 Se io mi calcolo il singolo t , mi calcolo il singolo flusso in entrata e in uscita di questo singolo prodotto, stessa cosa per t 2k e t3k. Se vado a fare la somma di questi 3 tempi, succede che vado a considerare 2 volte il flusso f 12 e il f23 e il f31 che sono in entrata ad uno ma anche in uscita a quello successivo. Ma io devo contarlo una sola volta, ed è questo il motivo per cui nella formula di tk divido per 2. k 1 • Analisi del tempo: tempo dovuto a tutta la produzione: [ T =∑ t k⋅N k = k sec giorno ] Se consideriamo il tempo dovuto a tutta la produzione e facciamo un’ulteriore aggregazione su tutti i k otteniamo un tempo globale. A. Acquaderni, A. Azami, A. Gennari 62 a.a. 2010-2011 07/04/2011 [Riferimento alle slide del documento: 14144_analisi_dei_flussi.pdf (slide 4-5)] Output del sistema di material handling: Mz = n° di veicoli necessari per le movimentazioni Parametri prestazionali del sistema MH: • t ki = Punto di vista del Prodotto → ◦ tempi → ∑ f ijk⋅tijli u j ∑ f kji⋅t ji l j u i j j [ = Nk ∑ t ki ] sec → k i t = pezzo 2 [ k k → T =∑ t ⋅N = k sec giorno ] ◦ distanze → k i d = ∑ f kij⋅d ij∑ f kji⋅d ji j j Nk → d = k ∑ d ik i k k → D=∑ d ⋅N k 2 ◦ flussi → k f i= ∑ f ijk∑ f kji j j Nk [ [ ] ] viaggi k k giorno = → F =∑ f ⋅N k pezzi giorno ◦ costi → [ ][ ][ ] [ ][ ][ ] metri € € secondi € € k ⋅ = ⋅ = ; t ⋅€ t = pezzo metro pezzo pezzo secondo pezzo Dipendono anche dal tipo di veicolo che scegliamo e, di conseguenza, avremo un costo unitario di [€/m] o [€/s] per veicolo. Questi 2 parametri andranno presi in base ai dati del sistema. Nei problemi che affronteremo noi useremo un dato pari a 0,02 €/m. Noti i costi unitari possiamo calcolarci l’incidenza sul singolo prodotto. L’importante è calcolarsi l’incidenza economica del trasporto di k per ogni pezzo. Questo costo andrà a sommarsi agli altri costi che avremo lungo il corso della progettazione dell’impianto, come i costi di impianto, investimento, energia e movimentazione. d k⋅€ d = • Punto di vista del Veicolo → L’obiettivo è valutare qual’è il tipo di carrello che determina un costo maggiore: ◦ tempo richiesto dal veicolo di “tipo z” per la movimentazione →Hz [sec/gg] ∑ nij⋅t ijz liz u jz∑ x ijz⋅tijz ij H Z = ij MZ A numeratore abbiamo i tempi dei viaggi carichi e dei viaggi scarichi che il carrello di tipo z deve eseguire; lo rapportiamo al n° di carrelli di quel tipo z già dimensionati Mz. Mz è dunque il n° di carrelli per le movimentazioni → Mz = int sup [Mz’] (M’z/Mz) = Tz(x) / Tz. A. Acquaderni, A. Azami, A. Gennari 63 a.a. 2010-2011 uz% = Hz / Tz (dove Tz è il tempo disponibile del carrello, avendo cosiderato già il tempo di guasto) dove uz% è la percentuale di utilizzo del veicolo di tipo z ◦ C’è un ulteriore parametro relativo alla distanza percorsa dal veicolo di tipo z ∑ nij⋅d ij∑ x ijz⋅d ij metri ij D Z = ij = MZ giorno I parametri legati al veicolo variano in base al tipo mentre quelli legati alla distanza non cambiano. [ ] ◦ costo → Dz * €d [€/gg] per veicoli di tipo z Hz * €t [€/gg] per veicoli di tipo z Un altro parametro prestazionale è l’area di stoccaggio → abbiamo UdC che entrano e UdC che escono. Come faccio a sapere se l’area è dimensionata in modo corretto? E come faccio a sapere quanta area è occupata da un prodotto k? Valuterò in base alla quantità di prodotti che transitano l’area AD i ma c’è il fattore tempo che non ci permette di ottenere una valutazione corretta. • statico → prenderemo un valore medio dell’area i-esima che sarà occupata dal prodotto k (dobbiamo accontentarci di un valore medio perché non riusciamo dal punto di vista statico a inglobare il valore del tempo) → Aik = ∑ f ijk f kji ⋅a k j 2 In questo modo otteniamo i flussi ma a noi interessa sapere l’area che viene occupata dall’unità di carico, ovvero ak. Ora troveremo la quantità occupata da tutti i prodotti in aggiunta a quello k (t, z, c, ecc..). → Ai = ∑k Aik = area di stoccaggio richiesta da tutti i prodotti nella zona i-esima. • dinamico → utilizzare un approccio dinamico significa utilizzare un simulatore. E' il modo migliore perché permette di ottimizzare lo spazio e, di conseguenza, i costi per l’azienda. Andiamo a valutare un altro indice → SIi = indice di saturazione nell’area di stoccaggio i-esima, e dipende dall’area richiesta → → SIi = Ai / ADi → SIi ↑↑ → area i-esima Critica (Sottodimensionata) → SIi ↓↓ → area Sovradimensionata FIi = indice di flusso, mi dice qual’è l’incidenza dei flussi su quell’area → ∑ f ijk ∑ f kji jk FI i= jk 2⋅AD i A. Acquaderni, A. Azami, A. Gennari 64 a.a. 2010-2011 Vediamo in questo modo quanto incidono i flussi su AD i , che rappresenta l’area disponibile. - Se FIi alto → molte UdC per quella zona → area con valore di traffico e flusso di materiale elevato → area critica da trattare con attenzione dal punto di vista dinamico - Se FIi basso → area presumibilmente quasi sempre libera, con un basso valore di flusso • Andiamo a valutare le congestioni sulla rete: TIp = Traffic Index nel percorso p = n° di volte in cui attraverso il tratto p della rete / n° di volte in cui percorro i diversi tratti generici j TIp = pathp / ∑j pathj = n° di volte in cui percorro p / n° di volte in cui percorro j Quanto incide un particolare percorso p sulla totalità dei percorsi j. Esercitazione sull’analisi dei flussi e sul dimensionamento dei sistemi di movimentazione Tipo macchina n° Area disponibile stoccaggio [m2] m1 4 45 m2 3 35 m3 4 20 m4 1 10 m5 3 12 m6 1 20 m7 1 3 m8 2 3,5 Si conoscono i cicli di lavoro, la pallettizzazione (ogni prodotto trasportato tramite europallet 1.200 x 800), produzione giornaliera, pz/pallet, tipo carrello → utilizzato un unico tipo di carrello elevatore con: v = 2,5 m/s (trascurata accelerazione e decelerazione) accelerazione e decelerazione = 0,1 m/s (trascurate) disponibilità % = 95 % costo = 0,02 [€ / metro percorso] tempo di carico e scarico = 1,5 [min/pallet] capacità pallet = 1 A. Acquaderni, A. Azami, A. Gennari 65 a.a. 2010-2011 Dopo aver determinato i punti di carico e scarico e la rete di trasporto dei materiali, calcolare: 1. Il n° di carrelli elevatori necessari e il loro coefficiente di utilizzo medio 2. L’indicatore di flusso e l’indice di saturazione delle aree di stoccaggio 3. La distanza totale percorsa, il tempo totale di movimentazione e il costo totale di movimentazione sapendo che l’azienda lavora 1 turno al giorno di 7,5 ore per 220 giorni/anno e nell’ipotesi che un carrello elevatore possa trasportare 1 UdC pallettizzata alla volta. 4. Valutare inoltre uno scenario alternativo in cui dopo la lavorazione sulla macchina m7 si modifichi la pallettizzazione secondo la tabella sottostante. Dimensioniamo innanzitutto il numero di carrelli → M z = int. sup. [M’z] = Tz(x) / Tz → considero Tempo totale richiesto dai viaggi carichi ( → n ij) e Tempo totale richiesto dai viaggi scarichi (xij). Matrice dei flussi → i flussi che andiamo ad analizzare devono partire dal flow control A. Acquaderni, A. Azami, A. Gennari 66 a.a. 2010-2011 point i (FCPi), al flow control point j (FCPj) 1. Definire i FCP 2. Costruire la rete dei percorsi che unisce i FCP 3. Calcolo le distanze tra FCP 4. Calcolo la matrice dei flussi 5. Matrice dei tempi di movimentazione (carichi + scarichi) Andiamo a calcolare il numero di pallet/gg in base all’ipotesi che 1 carrello trasporta 1 UdC/viaggio → n° pallet/gg = n° viaggi/gg → fij P1 = 40/10 = 4 viaggi/gg e dovrà subire questi trasferimenti: mIN → m1 → m4 → m5 → m7 → mOUT (ad ogni passaggio ci sono 4 viaggi/giorno) P2 = 60/14 = 4,28 → 5 viaggi/gg P3 = 60/10 = 6 P4 = 20/12 = 1,66→ 2 P5 = 40/8 = 5 P6 = 50/10 = 5 P7 = 50/16 = 3,125 → 4 P8 = 50/10 = 5 P9 = 40/10 = 4 P10 = 35/12 = 2,91 → 3 A. Acquaderni, A. Azami, A. Gennari 67 a.a. 2010-2011 Tale matrice sarà asimmetrica → non calcolo solo i valori sopra la diagonale ma entrambi, ovviamente non tutte le caselle saranno riempite, solo quelle corrispondenti ad un vero flusso. [Si prendono le relazioni della matrice, bisogna vedere quante volte queste relazioni compaiono nelle sequenze per ogni prodotto → la sequenza m 1 - m2 c’è in p3 e in p4 → quanti viaggi fanno p3 e p4? Lo vado a vedere dalla lista di quelli calcolati → li sommo e il risultato la vado a mettere in questa matrice → 8] mIN è la macchina che dà in ingresso a tutti i flussi, le prime macchine sono m 1, m2, m3, m4 quindi mIN avrà flusso verso queste 4. Dati i risultati totali, andiamo a verificare la differenza tra i flussi in ingresso e in uscita, per vedere se ci sono carrelli che rimangono fermi in un FCP per essere rilanciati m1 m2 m3 m4 m5 m6 m7 m8 mIN mOUT A 21 25 15 37 23 19 32 17 0 43 DA 21 25 15 37 23 19 32 17 43 0 A-DA 0 0 0 0 0 0 0 0 -43 43 Poiché ho in mIN (-43) e mOUT (+43), significa che dovrò ribilanciare con 43 viaggi scarichi da mOUT a mIN → abbiamo il n° di viaggi scarichi. Ho un risultato così semplice e lineare perché ho inserito le zone di m IN e mOUT, altrimenti avrei avuto non tutti “0” (zero) nelle differenze (A-DA) ma dei valori positivi e negativi corrispondenti ad altrettanti flussi carichi e scarichi da una macchina all’altra (stessa cosa vista nel dimensionamento negli AGV) A. Acquaderni, A. Azami, A. Gennari 68 a.a. 2010-2011 Andiamo quindi a rifare la matrice from-to togliendo quindi m IN e mOUT m1 m1 m2 m2 m3 m4 8 3 10 6 m5 m6 13 m3 7 m4 6 4+1 5 m6 15 5 m8 TOT 6 12 5 12 10 TOT 4 25 5 3 15 10 11 27 4 4 5 17 10 4 19 8 17 5 m7 m8 21 2 m5 m7 4 5 27 23 19 32 17 Bilanciamento: (6) m5 m1 (-15) 1 5 (15) m7 m2 (-13) (12) m8 m3 (-5) Riga: TOT 6 12 10 27 23 19 32 17 TOT 21 25 15 27 17 19 17 5 Colonna: e rifacciamo quindi anche l’altra tabella dei flussi: m1 m2 m3 m4 m5 m6 m7 m8 A 6 12 10 27 23 19 32 17 DA 21 25 15 27 17 19 17 5 A-DA -15 -13 -5 0 6 0 15 12 A. Acquaderni, A. Azami, A. Gennari 69 a.a. 2010-2011 11/04/2011 Nella lezione precedente avevamo individuato dei FCP dai quali avevamo studiato una rete di percorsi bidirezionali, e sulla base di queste prime ipotesi ci eravamo calcolati una matrice dei flussi, facendo riferimento ai pallet/giorno da trasportare in base alla domanda giornaliera. Per il calcolo del numero di veicoli: N°veicoli = Trichiesto per movimentazione / Tdisponibile Trichiesto per movimentazione = tempo di carico e scarico di tutti i veicoli per ogni reparto In generale il tempo per passare da un FCP i ad un FCP j sarà: T ij = d ij l iu j v Questo valore andrà calcolato per ogni coppia di macchine, nel nostro caso: • (li + uj) = 1,5 [min/pallet] = Tcarico + Tscarico • v = 2,5 [m/s] da catalogo del carrello (sarebbe più corretto chiamarla v Z poiché consideriamo un unico carrello di tipo Z, ma se ci fossero più carrelli dovremmo considerare diversi tipi Z e quindi diverse velocità v Z). Considero 2,5 m/s anche se il carrello viaggia vuoto • dij la ricaviamo dalla matrice delle distanze relativa ai valori che ci interessano, non è necessario calcolarla tutta. Da questa ricaviamo o la matrice dei tempi relativa ai viaggi carichi (Tij = (dij/v) + li + uj ) o quella relativa ai viaggi scarichi (tij’ = dij/v ) Ricaviamo così dalla matrice dei tempi carichi, la matrice dei tempi totali T ij per ciascun flusso (nij) → (Tij * nij) Non è necessario calcolarsi tutte le distanze, a noi interessano solamente quelle evidenziate in giallo. Sono i tempi per portare le diverse unità di carico tra i vari control points. A. Acquaderni, A. Azami, A. Gennari 70 a.a. 2010-2011 Matrice tempi dei viaggi carichi → T m1m2 = d m1m2 56 secondi l m1m2 = 90=112,4 v 2,5 pallet [ ] con 56 [m]; 2,5 [m/s]; 90 [sec/pallet]. Tm1m3 = (76/2,5) +90 = 120,4 [sec/pallet] Si procede analogamente per tutti gli altri. Matrice dei tempi dei viaggi scarichi: non ha senso ricalcolarla tutta ma solo relativamente ai valori di m OUT ed mIN. T’mOUT -mIN = dmOUT - mIN / v = 88/2,5 = 35,2 [sec/viaggio] Moltiplicando tutto per i flussi ottengo: Matrice dei viaggi totali → T TOTij =T ij⋅n ij T ij '⋅x ij Tij = tempo viaggi carichi [sec/pallet]; nij = flusso di viaggi carichi [pallet/gg]; Tij’ = tempo viaggi scarichi [sec/viaggio]; xij = flussi viaggi scarichi [viaggio/gg]; A. Acquaderni, A. Azami, A. Gennari 71 a.a. 2010-2011 → Ttot m1m2 = 112,4 * 8 + 22,4 * 0 = 899,2 [sec/gg] → Ttot mOUTmIN = 125,2 * 0 + 35,2 * 43 = 1513,6 [sec/gg] ∑ij Ttot ij = tempo totale di movimentazione richiesto = 28.424,8 [sec/gg] Questo lo facciamo perché il veicolo va dimensionato anche secondo i viaggi scarichi, non solo in base a quelli carichi. Sappiamo che abbiamo [7,5 h/gg], → 7,5 * 60 * 60 = 27.000 [sec/gg] Dobbiamo anche considerare un coefficiente di disponibilità del veicolo del 95% (per carico batteria o manutenzione) → Tdisponibile reale = 27.000 *0,95 = 25.650 [sec/gg] Trichiesto / Tdisponibile = 28.424,8 / 25.650 = 1,108 → 2 carrelli da acquistare → Coefficiente di utilizzo = 1,108/2 = 0,55 Calcolo dei parametri prestazionali k Indice di flusso = ∑ FI i= j k f ijk ∑ f kji j 2⋅AD i ∑ f ijk f kji = j 2⋅AD i f ijk f kji ⋅a k ∑ Aik ∑ A Indice di saturazione delle aree = SI = i = i dove A k = j i i AD i AD i 2 dove Ai = area richiesta, ADi = area disponibile, ak = area elementare della UdC = 0,8*1,2 = 0,96 m 2 A. Acquaderni, A. Azami, A. Gennari 72 a.a. 2010-2011 p1 aveva un ciclo di lavoro che prevedeva mIN → m1 → m4 → m5 → m7 → mOUT. P1 → Am1P1 = (4+4)*0,96/2 = 3,84 m2 P2, come P5, P6, P7, P8, P9 non fa parte delle lavorazioni, pertanto metteremo 0. P3 →mIN → m1 → m2 → m1 → m4 → m7 → mOUT → Am1p3 = (6+6+6+6)*0,9/2 = 11,52 m2 P4 → Am1P4 = [(2+2)/2]*0,96 = 1,92 m2 P10 → Am1P10 = [(3+3)/2]*0,96 = 2,88 m2 Sommando tutti i contributi → ∑ k Aik = 20,16 m2 → Area totale richiesta per la macchina m1. Area libera = 24,84 m2 SIi = Ai/ADi = 20,16/45 = 0,45 → indice di rotazione area FIi = ∑k Aik / (2*ADi) = (21 + 21) / (2 *45) = 0,47 [pallet/m2] con 21 = int sup 20,16 [Secondo noi questa formula di FI i è sbagliata, in quanto ingloberebbe il prodotto per a k, considerare invece solo quella di pag 72] A. Acquaderni, A. Azami, A. Gennari 73 a.a. 2010-2011 Distanza totale percorsa → Matrice delle distanze d ij [m/viaggio] → Matrice delle distanze totali dij * fij [m/gg] ∑ f ij⋅d ij∑ f ji⋅d ij k jk → Analisi prodotto per prodotto d = jk i k N All’esame può chiedere un singolo elemento di Px (ad esempio: “quanto incide p3 sulla macchina m1?”), non tutto l’esercizio perché troppo lungo. A. Acquaderni, A. Azami, A. Gennari 74 a.a. 2010-2011 12/04/2011 Nella lezione di ieri abbiamo visto gli indici relativi alle aree di stoccaggio SI i e FIi. Dobbiamo ora considerare quelle che erano le informazioni da esercizio: distanze totali, tempi totali, flussi totali e infine costi totali. Potremmo fare questa analisi e calcolare questi dati in 2 modi: o fare il calcolo totale (agendo sulle matrici totali, es dei tempi, delle distanze o dei viaggi) o fare il calcolo con i singoli contributi dei prodotti sulle singole aree e poi sommarle ( → analisi per prodotto). La matrice delle distanze totali dobbiamo considerarla come matrice delle sole distanze dei viaggi carichi, e lo stesso per i tempi, senza considerare i viaggi scarichi in cui effettivamente non c’è trasporto. €d → D * €d €t → T * €t La stessa analisi la posso fare o dal punto di vista globale o prodotto per prodotto. k i d = ∑ f ij⋅d ij∑ f ji⋅d ij jk jk N k P1: mIN → m1 → m4 → m5 → m1 → mOUT Abbiamo 4 viaggi al giorno da ogni macchina a quella successiva (sempre), 50 è la distanza tra mIN e m1, e 40 sono i pz/gg in uscita → 5 m in ingresso in m1 (4 * 50)/40 = 5 m che percorre il pezzo da mIN a m1 m1→ 5; m2→ 2; m4→ 2; m5→ 7,2; m7→ 10; mOUT→ 6 Dopo non bisogna fare solo la somma, ma bisogna anche dividere per 2, in modo da non calcolare sia andata che ritorno→ facciamo dunque la somma dei singoli contributi in ingresso ed uscita applicando la formula ∑ f ij⋅d ij ∑ f ji⋅d ij k jk → dm1p1=[(4*50)+(4*20)]/40=7 [m/pz] d i = jk k N Vado avanti con lo stesso procedimento fino a che non trovo la somma totale di tutti i contributi utilizzando la stessa formula → otteniamo 60,40 [m/pz] che vanno divisi per 2 → 30,20 m/pz. Annualmente otteniamo 30,20 * 8.800 pz/anno = 265.760 m/anno per movimentare tutti i pezzi di tipo P1 in tutte le aree di stoccaggio. Costi unitari → 30,20*0,02 = 0,60 €/pz Costi totali → 0,60*8.800 = 5.315,20 €/anno Si tratta dei costi di movimentazione del prodotto (senza considerare i costi fissi di operatore, carrello, ecc) e sono elevatissimi in genere, incidono molto. Prodotto per prodotto vado a verificare quello che incide di più per poi agire su quel prodotto per ridurre i costi. A. Acquaderni, A. Azami, A. Gennari 75 a.a. 2010-2011 Cambio di pallettizzazione E’ l’ultimo punto dell’esercizio: il numero di pezzi caricabili su un pallet può cambiare dopo che i pezzi sono stati lavorati in una macchina → ad esempio da 4 pallet quelli trasportabili giornalmente diventano 8 → cambia il valore dei metri, ad es per P1 dopo la macchina m7 i pallet diventano 8 → non più 4*40 ma 8*40 → può essere utile fare un’analisi distinta in ingresso ed uscita macchina per macchina. Si ripetono poi i calcoli già visti in precedenza. Inoltre bisogna fare attenzione ai contributi di ogni singola macchina. Questo, in versione ridotta può essere un esercizio da esame. Software LFAS Permette una valutazione dinamica dei flussi, considerando anche un parametro relativo al traffico, Traffic Index = TI = Pathp / Pathj, riusciamo dunque a capire quale sia il percorso più congestionato, e su quello agiamo. Prima avevamo considerato solo un’analisi statica. Non perdiamo di vista l’obiettivo finale che è l’ottenimento di un fattore €/anno il più basso possibile. Abbiamo fino ad ora effettuato un dimensionamento nella progettazione del sistema produttivo, ora bisogna affinare questo dimensionamento poiché fino ad ora (eccetto nell’ultimo step) abbiamo studiato il comportamento del sistema staticamente, ora dobbiamo studiarlo dinamicamente. A. Acquaderni, A. Azami, A. Gennari 76 a.a. 2010-2011 7. Ottimizzazione del comportamento dinamico mediante simulazione Step 1-6: progettazione statica del sistema → verifica del comportamento dinamico del sistema • Saturazione delle risorse (mezzi e operatori) • Saturazione dei mezzi di movimentazione • Utilizzo degli attrezzi portapezzo e richiesta utensili • Analisi del comportamento in caso di guasti e fermate (studieremo meglio questo punto nel corso di manutenzione, fermi e guasti possono incidere sensibilmente) • Verifica del comportamento alle variazioni dei parametri di progetto → simulazione → ottimizzazione Per la simulazione si utilizza nel nostro caso il software AutoMod. A. Acquaderni, A. Azami, A. Gennari 77 a.a. 2010-2011 8. Dimensionamento del sistema di cogenerazione energetica aziendale Energia elettrica + Energia termica → Impianti cogenerativi a vapore in contropressione. Obiettivo: Impianto cogenerativo che copra il fabbisogno di energia termica + acquisto di energia elettrica dal gestore (Enel) per la parte eccedente l’autoproduzione consentita dall’impianto cogenerativo. Ovviamente la convenienza di questo impianto c’è solo se produrre l’energia internamente costa meno rispetto all’acquisto dell’energia Enel. Si ha bisogno di energia termica sia per riscaldamento invernale (impianto a strisce radianti) sia per condizionamento estivo (assorbitore a bromuro di litio). I parametri che incidono sul fabbisogno di energia termica sono la struttura delle nostre pareti (e quindi il coefficiente di scambio termico), dove si trova il nostro edificio (caratteristiche ambientali → temperatura media, umidità,...) e infine gli spazi in m 2 da raffreddare o riscaldare. Per calcolare la potenza termica richiesta, nel nostro caso utilizziamo un software HVAC. Impianto cogenerativo a turbina in contropressione Si parte dalla necessità di dimensionare l’impianto di cogenerazione. Si deve prendere il valore più critico. Abbiamo il fabbisogno elettrico costante (250 kW), e quello di energia termica variabile, a seconda del giorno e dell’ora. A. Acquaderni, A. Azami, A. Gennari 78 a.a. 2010-2011 Nel punto di minimo, tutto il vapore che andiamo a creare, deve essere espanso in turbina per creare energia elettrica. Mi devo dimensionare in quel punto, e non in uno in cui dovrei poi andare a dissipare vapore. g= Gv kg /h = P el kW [ ] → da minimizzare Nel mese di aprile g = 1.500 [kg/h] / 250 [kW] = 6 Sappiamo dai dati che la temperatura del vapore T u = 120° C e che la pressione richiesta dagli utilizzatori Pu = 2 bar. Troviamo quindi il salto entalpico attraverso i dati ed i diagrammi T-S e h-S. A. Acquaderni, A. Azami, A. Gennari 79 a.a. 2010-2011 14/04/2011 Dimensionamento di un impianto di cogenerazione Obiettivo è il dimensionamento del fabbisogno termico → cerchiamo di capire quanta energia elettrica riusciamo a produrre e quanto invece dobbiamo comprare da Enel. Dobbiamo confrontare [€/kWh] autoprodotti con [€/kWh] di Enel. Se il primo valore è inferiore al secondo → conviene installare un impianto cogenerativo, qualora fosse superiore si costruisce solo un impianto di produzione di energia termica e l’energia elettrica si compra tutta dall’Enel. Per determinare [€/kWh] autoprodotti dobbiamo prima dimensionare un impianto in questo modo: • Individuare che tipo di caldaia andare ad acquistare • Tipo di turboalternatore • Quali accessori per l’impianto, in base alle tipologie di caldaia e turboalternatore In funzione della portata della caldaia e della turbina G C e GT andiamo ad individuare dei costi: costo Caldaia, costo Turbina, e costo per gli Accessori. Questi costi dovranno essere definiti per trovare €/kWh autoprodotta. A noi interessano i costi differenziali che si devono sostenere se faccio una cogenerazione rispetto al caso in cui produco solo energia termica. Questi costi differenziali (ΔCosti) fanno riferimento ai costi d’acquisto dell’impianto di cogenerazione ottimo (costi fissi) e a quelli variabili rappresentati dal consumo di combustibile. Il ΔCosto è dunque costituito da • Costi fissi o extra costi fissi → legati al fatto che devo acquistare una caldaia maggiore (nel caso di cogenerazione) e devo acquistare il turbo-alternatore e i vari accessori • Extra costi variabili → maggior consumo di combustibile (metano) riferiti al fatto che dovrò, in caso di cogenerazione, produrre anche energia elettrica Per il calcolo della potenza termica richiesta utilizziamo uno strumento software HVAC → mese per mese e ora per ora si ricava la potenza termica in [W]. Analogamente si procede per l’energia elettrica, da considerare il consumo in tutti e 3 i turni di lavoro. A. Acquaderni, A. Azami, A. Gennari 80 a.a. 2010-2011 Per calcolare i valori delle portate utilizziamo i diagrammi termodinamici. Il nostro punto di partenza è la temperatura degli utilizzatori TU = 120 °C, abbiamo anche PU. Dobbiamo calcolarci tutti gli altri valori in base a quello dato dalla pressione. Il punto più critico è quello in cui dobbiamo espandere tutto il vapore in turbina, è quindi dato dai momenti della giornata in cui la potenza elettrica viene generata dalla portata di vapore minima, perché tutto il vapore deve espandersi in turbina. g= Gv kg /h = P el kW [ ] Gv = portata di vapore richiesta dalle utenze [kg/h] Pel = potenza elettrica autoprodotta [W] Mediante il calcolo precedente di g, riesco a trovare il salto entalpico che ho tra il punto 1 e il punto 2’, gli estremi della nostra turbina. Fatto questo posso trovare il salto entalpico reale e di conseguenza ricavarmi il valore di ΔH tra 1 e 2’ e tra 2 e 1. Schema Impianto cogenerativo a vapore in contropressione A. Acquaderni, A. Azami, A. Gennari 81 a.a. 2010-2011 Parametri caratteristici del ciclo termodinamico H r =H 1−H 2 ' = 3.600 g⋅0 H t= H 1 −H 2= Hr 0 1 A−1 Gc =G v⋅ Gt⋅ A A con A=1 H 6−H 2 ' =1,27 H 2−H 0 Gv la ricavo guardando la potenza termica richiesta → ottengo il valore massimo della portata di vapore in turbina Gt: Gt = P el H r⋅0 Ora che ho tutti i dati posso ricavare la G c a partire dal valore di Gv, ossia la potenza termica richiesta dalla portata di vapore massima. Nel nostro caso il valore massimo della portata di vapore (ricavato dalle tabelle della portata termica annuale richiesta) è G vMAX = 2.710 [kg/h]. Invece per Gt → Gt = Pel / (ΔHr*η0) = (250*3.600) / [(3.336 – 2.705) * 0,95] = 1.500 [Kg/h] [Ho moltiplicato per 3.600 per trasformare le ore in secondi] ηo = 0,95 = rendimento del turboalternatore Gc = 2.710*1/1,27 + 1500*(1,27-1/1,27) = 2.500 [Kg/h] Pc = Pv = pressione in caldaia = 65 bar → Da qui ricaviamo tutti i costi relativi all’impianto di cogenerazione. Costi fissi: • Caldaia → (Gc, Pc) → 236.710 € • Turboalternatore → (Gt, P) → 110.470 € • Accessori → (P) → 17.000 € A. Acquaderni, A. Azami, A. Gennari 82 a.a. 2010-2011 Costo Totale Cogenerazione = 236.710 + 110.470 + 17.000 = 364.180 € In realtà non mi serve il costo totale perché devo considerare il differenziale, ed in caso di produzione solo termica mi basta una caldaia a 15 bar → faccio la differenza tra costo caldaia 65 bar e costo caldaia 15 bar → alla somma totale, devo andare a togliere il costo di una caldaia a 15 bar (121.300 €) → 364.180 - 121.300 = 242.880 €. Questo è il costo fisso. Vado ad eseguire l’ammortamento di questo costo fisso (ipotesi di 8 anni con i = 4,8 %) → n Rata Ammortamento=C⋅ 8 [ ] r ⋅i 1,048 ⋅0,048 € =242.880⋅ =37.276 n 8 anno r −1 1,048 −1 Questi sono gli extra-costi fissi, andiamo a trovare ora quelli variabili, che sono dati dal consumo di carburante. In generale, la portata di combustibile richiesta è data dalla portata di vapore in caldaia Gc per il salto entalpico tra il punto 1 e il punto 0 (il punto a valle ed il punto a monte della caldaia), fratto i rendimenti termici del generatore e il potere calorifico del combustibile che si utilizza → trovo il costo variabile m c: mc =G c⋅ H 1−H 0 K i⋅ g Ki = potere calorifico del metano = 49,63 [kJ/kg] ηg = 90% = 0,90 H −H 0 mc =G c⋅ 1 49,63⋅0,90 Dobbiamo sempre fare un’analisi differenziale, anche sul costo del combustibile impiegato: una caldaia da 15 bar consumerà un certo combustibile, mentre una da 65 che gestisce il passaggio di vapore attraverso un turbo alternatore consumerà più combustibile → Quanto misura questo valore di combustibile differenziale? Devo sottrarre al numeratore Gv*(H2’ -Ho) : mc = Gc⋅ H 1−H 0−G v⋅ H 2 ' −H 0 K i⋅ g La differenza tra i 2 contributi [ciò che passa in caldaia e ciò che entra nel punto 0 → Gc*(...) e Gv*(...)] permette di determinare il valore differenziale di combustibile. → mc = 21 [Kg/h] 21 Kg/h * 24 h/gg = 504 [Kg/gg] → 504 kg/gg * 25 gg/mese * 12 mesi/anno = 151.200 [Kg/anno] Sapendo che il gas metano costa 0,298 €/kg, lo moltiplichiamo per il risultato appena trovato → 151.200 * 0,298 = 45.190 [€/anno] Dunque il costo del kWh autprodotto sarà dato dalla somma degli extra-costi fissi e variabili A. Acquaderni, A. Azami, A. Gennari 83 a.a. 2010-2011 C kWh Autoprodotto = Extra Cf ExtraCv [ ] kWh prodotti anno dove [kWh/anno] prodotti = 250 kW*24 h/gg * 300 gg/anno = 1.800.000 [kWh/anno] [ ] [ ] € anno € =0,0458 kWh kWh 1.800.000 anno 37.27645.190 C kWh Autoprodotto = [ ] Il valore di mercato era CkWh Enel = 0,0725 [€/kWh] da mettere a confronto con quello da noi trovato. Poiché CkWh Autoprodotto < CkWh Enel risulta conveniente l'acquisto e l'installazione di un impianto cogenerativo. A. Acquaderni, A. Azami, A. Gennari 84 a.a. 2010-2011 9. Cenni sulla procedura Autorizzatoria A. Acquaderni, A. Azami, A. Gennari 85 a.a. 2010-2011 10. Valutazione (draft) del costo di lavorazione Andiamo a considerare: • Costi di costruzione del capannone • Costo dei macchinari • Costo dell’impianto di cogenerazione e questi sono costi fissi che andranno ammortizzati → rata annuale di ammortamento Ci sono i costi di gestione • Costo MOD • Costi di manutenzione • Consumo di energia elettrica • Consumo di combustibile • Consumo utensili • Assicurazione stabile + macchinari • Pulizie e questi sono i costi variabili Costi di costruzione Il costo del capannone dipende dalla metratura → 6.270 m2 (= 66 x 95) Costo capannone = 95 €/m2 per edilizia, 20 €/m2 per pavimentazione → 6.270 * (95+20) = 721.050 € A questi aggiungiamo poi i costi dell’impianto elettrico, di illuminazione e delle porte → 187.450 € Sommiamo e troviamo i costi totali di costruzione → 721.050 + 187.450 = 908.500 € Questo valore va ammortizzato → rata di ammortamento (ammortamento a rata costane) → 908.500 * [(rn * i)/(rn - 1)] (con i = 4,8% e n=8 anni) → Rata = 139.430 €/anno Costo impianti Per il costo degli impianti abbiamo le varie macchine (tipo e numero) ed il costo unitario di ogni macchina, in aggiunta c’è il costo del carrello elevatore a forche frontali, inoltre è stato incluso il costo dell’impianto ad aria compressa che serve in ausilio al funzionamento dei macchinari. La somma di tutti i costi per le risorse dà: 4.363.500 € → con il solito ammortamento con i = 4,8% e n = 8 anni → 4.363.500 * [(rn*i)/(rn-1)] = 577.918 € anno Costo impianto condizionamento Si ha anche l’impianto di cogenerazione e non dobbiamo calcolare il costo di prima (che era differenziale) ma: Costo caldaia + Costo turbo-alternatore + Costo accessori = 23.6710 + 11.0470 + 17.000 = 364.180 €. Andiamo ad ammortizzare pure questi: → 364.180 * [(rn*i)/(rn-1)] = 364.180 * 0,153 = 55.891 [€/anno] A. Acquaderni, A. Azami, A. Gennari 86 a.a. 2010-2011 (più alto di quello calcolato in precedenza perché prima avevamo tolto quello della caldaia a 15 bar). Costo operatori Ora facciamo il dimensionamento degli operatori: Supponendo che i 35 operatori di prima (dimensionamento statico) siano confermati dalla sequenza dinamica 2 carrellisti (1 per turno ma ci sono 2 turni) → 33.200 * 2 = 66.400 €/anno di carrellisti 2 operatori su 2 turni → 36.200 * 4 = 144.800 [€/anno] 1 responsabile unità produttiva → 52.100 * 1 = 52.100 [€/anno] 4 impiegati uffici di produzione → 4 * 33.200 = 132.800 [€/anno] Totale Manodopera = 2.339.600 €/anno Costo manutenzione e costo degli utensili Il costo di manutenzione è dato da una stima poiché non si hanno i dati storici (trattandosi di un nuovo impianto) ed è pari a 40.000 [€/anno] Consumo degli utensili → anche questi dati da una stima di 180.000 [€/anno] Costo consumo energia elettrica Infine calcoliamo i costi per combustibile ed energia elettrica in base al carico richiesto: Si è deciso per la cogenerazione → l’impianto di cogenerazione copre per 250 kW costante ma nei due turni centrali (→ 17 ore) abbiamo una richiesta maggiore di energia, cioè pari a 850 kW che coprirò con la fornitura elettrica. Il costo che devo considerare in questo caso, non è il costo dello “zoccolo” (che ho già incluso nel costo dell'impianto di cogenerazione), ma solo la differenza tra il valore di picco e lo zoccolo già coperto (che è la parte da acquistare). 850Kw - 250Kw = 600Kw di potenza elettrica che dovrà coprire l’Enel. Costo unitario = 0.072 €/kWh Allora l'energia totale da acquistare sarà = 600 kW * 17 h/gg * 25 gg/mese * 12 mesi/anno = 3.060.000 kWh/anno Copro solamente le ore che mi servono con la sovra-fornitura. Costo = 3.060.000 kWh/anno * 0,072 = 220.320 €/anno Costo consumo di combustibile Per quanto riguarda il consumo di combustibile (per far funzionare l’impianto di cogenerazione) riutilizziamo la seguente formula: mc =G c⋅ H 1−H 0 K i⋅ g Effettuiamo il calcolo mese per mese ed ora per ora ed infine le sommeremo tutte fino ad ottenere: 871.300 [Kg/anno] Costo unitario gas metano = 0,298 €/kg Costo Totale = 871.300 * 0,298 = 260.000 [€/anno] A. Acquaderni, A. Azami, A. Gennari 87 a.a. 2010-2011 Costo pulizia ed assicurazione Abbiamo così trovato tutte le nostre componenti, mancano alcuni costi che possiamo stimare: Costi di assicurazione = 6.800 €/anno Costi di pulizia = 4.000 €/anno Infine otteniamo un valore del costo totale di 3.823.959 €/anno Nonostante abbiamo cercato di ottimizzare i costi per manodopera essa costituisce il 61,2% dei costi (si evidenzia l'importanza della clusterizzazione effettuata). Non riuscendo a limare ulteriormente andiamo a calcolare i costi unitari per pezzo: 3.823.959 / 56.000 = 68 € di lavorazione meccanica (non di manodopera) per passare da materia prima a prodotto finito. Le materie prime vanno aggiunte, non sono incluse in questo conteggio (è stata considerata una somma di tutte le tipologie dei diversi prodotti → circa 56.150 pompe). Se ovviamente inserissimo il prodotto sul mercato ad un prezzo inferiore ai 68€ saremmo in perdita. Ad ogni modo questo valore mi dà un'indicazione sul costo dei componenti per lavorazione. A. Acquaderni, A. Azami, A. Gennari 88 a.a. 2010-2011 18/04/2011 Gestione integrata delle scorte nella catena logistica: Modelli del Lotto Economico Congiunto e del “Consignment Stock” Valutiamo l’aspetto relativo alla catena logistica. Finora abbiamo ragionato concentrandoci sul produttore, in realtà mancano 2 elementi fondamentali: • Contatto con colui che fornisce la materia prima per le lavorazioni → Fornitore • Riferimento di mercato che assorbirà i nostri prodotti finiti → Cliente Tutto ciò costituisce la Supply Chain Si parla dunque di gestione delle scorte che possono essere interne o esterne. Per quanto riguarda le scorte interne, sono quelle che fanno riferimento al passaggio o da 1 reparto all’altro o da una tipologia di macchina ad un’altra → scorte interoperazionali. Il WIP deve essere il più possibile ridotto, sia perché rappresenta un immobilizzo di capitale, quindi un costo, sia perché ciò non mi permette di rilevare gli eventuali problemi del sistema di produzione. Andiamo a realizzare delle linee di produzione che lavorino prodotti simili per ridurre le scorte. Un sistema che consente ciò è il pull-system, il singolo processo produttivo deve essere tirato dal processo produttivo più a valle (e così via fino al cliente) e non deve essere a sé stante. Il pull-system, combinato con il Cellular Manufacturing, mi permette di ridurre le scorte. Scorte esterne si hanno nel sistema tradizionale in cui il cliente mi consegna la materia prima ed io la accumulo prima di mandarla in produzione. Per quanto riguarda dunque le scorte esterne (di materie prime e di prodotti finiti), devono essere anch’esse il più possibile ridotte. Si parla di Lean Supply Chain. Quali sono gli aspetti che ci permettono di avere una catena di produzione “Lean”? Bisogna fare in modo che sia l’ultimo elemento a tirare la produzione → è il cliente che deve tirare la produzione. Altro elemento da combinare con il sistema pull system è la Gestione delle scorte integrata; se, fino a qualche hanno fa, discutendo di supply chain parlavamo di attori che indipendentemente dal resto della catena organizzavano i propri lotti economici di acquisto e produzione, ora ci si rende conto che organizzando la supply-chain, le scorte si abbassano. Si producono lotti economici congiunti. Il fornitore applica il modello di Wilson per determinare l’EOQ make e ottiene una quantità Q1 che mi permette di minimizzare il costo del fornitore. Nel caso Hydropump organizzano una riunione e determinano un EOQbuy per ottenere una Q2 che minimizzi i costi. Probabilmente Q1 ≠ Q2 perché ciascuno degli attori ha cercato di ottimizzare la propria quantità di interesse, ma la quantità che passa tra gli attori deve essere una sola → inizia una serie di contrattazioni in cui spesso vince chi ha potere contrattuale maggiore (ad es. Fiat contro piccoli fornitori). In ogni caso il Q che vado a far transitare tra un valore e l’altro, difficilmente sarà una cifra che effettivamente minimizza i costi poiché sarà frutto di una contrattazione. A. Acquaderni, A. Azami, A. Gennari 89 a.a. 2010-2011 L’obiettivo è andare a definire un modello che stabilisca quale sia la quantità Q ottima sia per il fornitore che per l’azienda che deve acquistarla. Questa quantità Q è frutto di modelli di JELS (Joint Economic Lot Size). Questi modelli devono andare a considerare le informazioni che precedentemente potevano essere riservate dei singoli attori e che devono invece diventare note a tutti i partecipanti della catena. Questo può essere un limite, perché a volte chi compra o chi produce vuole tenere il segreto (soprattutto riguardo ai costi sostenuti) e, per render note tali informazioni, bisogna abbattere queste barriere anche se non è sempre ciò che si vuole fare. Le informazioni note sono: • Domande • Tassi di produzione • Tassi di consumo • Costi unitari di ◦ Giacenza ◦ Setup ◦ Emissione ordini Si ha il fornitore (Vendor o pedice “1”) da una parte e il cliente/produttore (Buyer o pedice “2”) dall’altra. Il vendor deve eseguire dei set-up, ipotizziamo lavori per lotti di produzione (come in genere accade) → costi di set-up da gestire. Dovrò considerare quindi: • Costi di set-up → costo unitario di set-up x numero di set-up in UdT • Costi di giacenza del vendor → costo unitario della giacenza x giacenza media del vendor • Costi di spedizione Dal punto di vista del Buyer invece si avranno: • Costo legato all’emissione degli ordini → costo unitario di emissione ordini x numero di ordini in UdT. • Costi di giacenza → costi di giacenza unitario x giacenza media del buyer L’obiettivo dei modelli JELS è determinare la Q opt tale da minimizzare i costi totali di vendor e buyer. Cenni storici Il primo che ha studiato i modelli di lotto economico congiunto è stato Goyal nel 1977 che cercò di adattare i modelli precedenti (Wilson) nel caso in cui i costi da minimizzare non fossero uno ma più di uno e riferiti a diversi attori → costi dell’intera catena → il valore di Q doveva essere valutato come produzione di “lotto per lotto” → lancio in produzione esattamente ciò che mi viene richiesto. Nel 1995 Lu afferma che mentre il fornitore produce Q opt, intanto spedisce al buyer una parte di questa Qopt in “n” spedizioni dove “n” è costante. Goyal ha rivisto nello stesso anno questo modello e parla di “n v” spedizioni crescenti per quantità. Hill nel 1997 generalizza il A. Acquaderni, A. Azami, A. Gennari 90 a.a. 2010-2011 problema e dice che il valore ottimo si trova tra gli estremi di Lu e Goyal. Parametri notevoli e ipotesi di procedimento Andiamo a vedere quali sono i parametri per definire i vari modelli e quali sono le ipotesi sulle quali si basa questo modello. Parametri per quanto riguarda il vendor: • P → tasso di produzione ([pz/UdT] che il vendor è in grado di realizzare) • D → tasso di consumo ([pz/UdT] che il buyer consuma, la domanda) Ipotesi: • P > D → chi produce deve avere un tasso di produzione maggiore del consumo, per riuscire a soddisfare la richiesta di buyer • P e D noti e costanti → siamo di fronte ad una domanda deterministica quindi costante nel tempo, che conosciamo Per il vendor si ha: • A1 = costo unitario di set-up [€/set-up] • h1 = costo unitario di giacenza [€/(pz*tempo)] (lo stesso del denominatore del modello di Wilson → h = i*p, per calcolarlo devo considerare tutti i costi di immobilizzo del materiale ed i costi fissi di struttura, ovvero carrelli elevatori, impalcature, ma anche costi variabili come operatori per effettuare carico e scarico, energia, ecc) Per il buyer si ha: • A2 = costo unitario di emissione dell’ordine [€/ordine], e comprende i costi di spedizione • h2 = costo unitario di giacenza presso il buyer [€/(pz*UdT)] ma h1 ≠ h2 Una volta calcolati, A1, A2, h1, h2 li considero noti e costanti (per l'ipotesi precedente). Che relazione c’è tra h1 e h2? Dipende da come sono strutturati i magazzini, ma in generale il costo di giacenza presso il buyer h 2 (quello a valle della catena logistica), viene considerato maggiore rispetto al costo di giacenza presso il vendor h 1 perché la merce stoccata dal buyer ha un valore maggiore di quella stoccata dal vendor. Più sono a valle della catena più ho aggiunto valore alla merce, anche solo per il trasporto che ha subito → h2 > h1 per ipotesi perché il buyer è a valle della catena logistica. • • • Q = numero di pezzi x lotto (è il lotto di produzione ottimale) n = n° di spedizioni qi = n° di pezzi della spedizione i-esima In generale, Q = ∑i=1 qi (con qi non costante) → introduciamo il parametro λ = incremento proporzionale della dimensione delle spedizioni → λ è il coefficiente della progressione geometrica → qi = q * λi-1 A. Acquaderni, A. Azami, A. Gennari 91 a.a. 2010-2011 Nel modello di Lu invece qi = costante = q → Q = n*q Ora posso calcolarmi C = costo totale della catena logistica [€/UdT] Altre ipotesi: • Lead Time di fornitura nullo → LT fornitura = 0 e questo è un grosso limite del modello poiché si potrebbe arrivare alla soluzione per cui il modello migliore è quello con più spedizioni, quando in realtà ogni spedizione costa e richiede tempo. • Non ci sono sconti di quantità (se acquisto più materiale, il vendor non mi fa pagare di meno) • Non ci sono rimanenze nei magazzini dopo la spedizione o dopo il consumo Obiettivo è che le scorte siano collocate il più possibile presso il vendor → dovrò fare in modo che il vendor spedisca il materiale solo quando il buyer ne ha bisogno per risparmiare sui costi di stoccaggio. Il punto in cui il vendor spedisce deve coincidere con il momento in cui il buyer termina di consumare il materiale che aveva in casa (coincidono i 2 momenti temporali). Si hanno 2 politiche di spedizione → Q viene trasferita in n spedizioni • Spedizioni crescenti → Modello di Hill → la spedizione generica di quantità q i = λi-1 *q • Spedizioni costanti → Modello di Lu → qi = costante = q → Q = n*q. Il modello di Lu non è altro che un caso particolare in cui λ = 1 Il caso di Goyal invece è una soluzione simile a quella di Hill, ma anzi che prendere λ = 1, l’incremento è assunto come λ = P/D Hill ha dimostrato che se assumiamo un valore di λ compreso tra 1 e P/D (λ Є [1 ; P/D]) → troviamo la soluzione ottimale che mi minimizza i costi Il modello di Hill è dunque quello più generale e dimostra che prendendo un valore intermedio tra i due estremi ottengo quasi sempre una soluzione ottimale. A. Acquaderni, A. Azami, A. Gennari 92 a.a. 2010-2011 Modello di Goyal n = spedizioni crescenti La retta tratteggiata indica il consumo del buyer, nel momento in cui questa tocca la l’asse delle ascisse, vuol dire che si è arrivati alla rottura di stock. La retta continua invece rappresenta il vendor, nel momento in cui inizia a salire dall’asse delle ascisse vuol dire che inizia a produrre, arriva a realizzare una quantità di prodotti q 1. Il buyer la riceve e inizia a consumarla (linea tratteggiata), e terminerà di consumarla in un istante di tempo t3, nel quale devo garantirgli un altro stock da poter iniziare a consumare → alla fine della prima spedizione il vendor ri-inizia subito a produrre, e smette nel momento in cui il buyer ha bisogno della nuova spedizione, quindi spedisce e ricomincia il ciclo. Il vendor deve mantenere in giacenza il più possibile fino a che il buyer non va in stock-out e appena ci entra, il vendor deve portargli il materiale (quindi ha già iniziato a produrre). Il vendor per ridurre i costi può produrre quantità maggiori appunto e spedire gradualmente al buyer, quindi si avranno dei momenti di attesa in cui il buyer sta consumando ed il vendor non produce (t’), ma smaltisce la scorta. Quanto vale il tempo tra t1 e t2 (tempo che ci mette il vendor per produrre il primo stock)? T1 = q/P = tempo di produzione del vendor di q T2 = q2/P T3 = q3/P qq1q2 Q T produzione= = P P Q → 3 spedizioni Q = q1+q2+ q3 T2 = q/D, T3 = q2/D, T4 = q3/D Il tempo in cui il buyer riceve il lotto, coincide col tempo che il vendor impiega a produrre la quantità successiva, questo solo perché λ = P/D q’ è la quantità di partenza della giacenza totale (è quella che ha in casa il buyer inizialmente) → q’ lo ricaviamo dal fatto che T1 = q’/D → q’ = T1 * D Prima avevamo visto che T1 = q/P, dopo che T1 = q’/D → q/P = q’/D → q’ = q * D/P A. Acquaderni, A. Azami, A. Gennari 93 a.a. 2010-2011 Modello di Lu Nel caso di λ = 1 (modello di Lu appunto) andiamo a verificare l’andamento delle scorte. Le spedizioni sono costanti A seconda di P e D varierà ampiamente il grafico. Nel nostro caso abbiamo P = 2D q’ = 2q T2 = q’’/p = q/D q” = (q/D)*P = q*(2D/D) = 2q Anche qui avremmo come inizio l’andamento del caso precedente. Quello che cambia è che il tasso di produzione del vendor è 2 volte il tasso di consumo del buyer (P = 2D) → nel periodo in cui il nostro buyer consumerà la spedizione q, e il vendor produrrà q’’ = 2q → quando il buyer andrà in stock-out il vendor gli consegnerà solo la quantità richiesta q, e non quella da lui prodotta q’’ → al vendor rimarrà in magazzino q’’ - q, e questo per tutto il ciclo, ogni volta che ci sarà una spedizione al vendor rimarrà in magazzino una quantità incrementale di q’’ - q rispetto alla volta precedente. Si arriverà ad un punto in cui il vendor non produrrà più, e quando il buyer avrà bisogno, gli spedirà la giacenza che aveva in magazzino, in modo da consumarla. Nel caso in cui n = 5 spedizioni → Q = 5q → in 5 “turni” il vendor produce tutto, il resto è tempo in cui il vendor non produce e aspetta che il buyer consumi. Aspetta dunque un intervallo di tempo t’ e ri-inizia a produrre quando il buyer ha iniziato a consumare l’ultima quantità q → finisce di produrre in t 4 e va avanti con le giacenze fino a t 6, dopodiché ricomincerà a produrre in t’ tra t6 e t7 e ricomincia quindi il ciclo. Tprod = t0 - t4 Tcons = t1 - t7 A. Acquaderni, A. Azami, A. Gennari 94 a.a. 2010-2011 19/04/2011 Obiettivo è trovare la quantità di lotto ottimale Q opt che minimizzi i costi totali della supply chain ovvero la somma dei costi del vendor e del buyer. Questo significa anche determinare quanto vale n → cioè il numero di spedizioni tra i 2 attori. Infine bisogna trovare q ovvero il numero di pezzi per ogni spedizione, e possono essere o costanti (Q = n*q) o crescenti (Q = ∑qi) Nel caso di spedizioni crescenti si utilizza il “Modello di Hill”→ q i = q*λi-1 → Q =∑q*λi-1 → λ = P/D (Modello di Goyal) o 1 < λ < P/D (Modello di Lu) → minimizzazione dei costi Nel caso in cui le spedizioni siano costanti si utilizza il “modello di Lu”→ Q = n*q → λ = 1 t’ è il tempo di attesa tra la fine della produzione di un lotto e l’inizio del lotto successivo. Nel secondo grafico la linea tratteggiata sopra (a piramide), rappresenta la giacenza totale del sistema (buyer + vendor). La prima spedizione avviene nell’istante di stockout del buyer, e anche il vendor va a scorte 0. Per iniziare il secondo lotto, il vendor deve aspettare un tempo t’. λ ≥ 1 → spedizioni non decrescenti (o costanti o crescenti) → perché se fossero decrescenti genererei delle scorte che deve mantenere il vendor e lo farei fin dall’inizio delle spedizioni, per poi portarmele dietro; per minimizzare i costi, l’avere spedizioni o costanti o crescenti, fa sì che si generino solo le scorte minime necessarie, con spedizioni decrescenti invece la 1a spedizione è la più grande e le altre sono decrescenti → il vendor produce fino a raggiungere lo stock-out ma non può a quel punto spedire tutto perché deve rispettare le spedizioni decrescenti → mantiene grosse scorte internamente. λ ≤ P/D → per avere le scorte minime, il tempo in cui il vendor produce la quantità della spedizione i-esima (per esempio q 3 → t3), deve essere non maggiore del tempo che impiega il buyer a consumare la spedizione precedente (i-1 esima). Se T3 > T2 si verifica lo stock-out del buyer T2 = q2/D, T3 = q3/P ≤ q2/D ma vale la relazione q3 = q2 * λ Analisi dei costi e della dimensione del lotto Dobbiamo considerare i costi totali della supply chain → somma dei costi che sostiene il vendor e costi che sostiene il buyer. A. Acquaderni, A. Azami, A. Gennari 95 a.a. 2010-2011 Modello di Hill: Costi del vendor: • Costi di setup → (costo unitario setup * numero di setup nell’unità di tempo) → A 1 • Costi di giacenza → (costo unitario di giacenza [€/(pz*UdT)] * giacenza media) → h1 Costi del buyer: • Costi di emissione ordini, comprendono i costi di spedizione → (costo unitario di emissione ordini * numero di ordini nell’unità di tempo) → A 2 • Costi di giacenza → (costo unitario di giacenza [€/(pz*UdTempo)] * giacenza media) → h2 Per soddisfare la domanda D qual’è il n° di setup da eseguire? Sarà D/Q con D [pz/lotto] e Q [pz/lotto] → A1 [lotto/UdT] Quanti ordini devo eseguire nell’UdT in cui devo rispondere alla domanda? Devo riuscire a gestire n spedizioni per ogni lotto Q. n° di ordini = (D/Q)*n I costi di giacenza saranno dati dalla giacenza media G moltiplicata per il costo di giacenza unitario, sia per vendor che per buyer → h1*Gv e h2*Gb. D D D Costi totali del sistema= A1⋅ A2⋅ ⋅nh1⋅G v h 2⋅Gb = A1n⋅A2 ⋅ h1⋅G v h 2⋅Gb Q Q Q n n−1 Q=∑ qii −1=q⋅ (proprietà delle serie) dove q è la quantità della 1a spedizione → −1 i=1 D −1 Q= A1n⋅A2 ⋅ ⋅ n h1⋅G v h 2⋅Gb Q −1 Dobbiamo calcolare quanto effettivamente valga la giacenza media di buyer e vendor. • Giacenza media del buyer: prendiamo a riferimento i grafici visti in precedenza, per le spedizioni crescenti la giacenza parte dal valore della spedizione e gradualmente decresce (poiché il buyer consuma) → potrei calcolare una giacenza istantanea ma mi serve la media → possiamo fare riferimento al fatto che il valore massimo di giacenza a casa del buyer vale nel 1° caso q, nel 2° q*λ, nel 3° q*λ 2, in generale q max =q⋅ i −1 i−i → G media = q⋅ 2 Gmedia è il valore medio della giacenza per ogni intervallo in cui consumo le spedizioni → per la giacenza media totale faccio una media pesata di questi contributi per i vari intervalli, il peso che considero è il tempo di consumo della spedizione i-esima da parte del buyer. T i= A. Acquaderni, A. Azami, A. Gennari q⋅i−1 D 96 a.a. 2010-2011 Andiamo quindi a calcolare la media pesata: n Giacenza media del lotto= i−1⋅q i−1⋅q ∑ 2 ⋅ D i=1 n i−1 ∑ D⋅q i=1 → lavorando sulle proprietà delle serie: q2⋅2n−1 2⋅D⋅2−1 q n1 = ⋅ → → 2 1 q⋅n−1 D⋅−1 q n1 Giacenza media del buyer =G b= ⋅ 2 1 Quindi vado a sostituire questo valore trovato nella formula precedente dei costi totali del sistema al posto di Gb. • Giacenza media del vendor: ricavata dalla giacenza del buyer, prendiamo il valore della giacenza totale del sistema e sottraiamo quella del buyer → otteniamo così la giacenza media del vendor (GVENDOR = GSISTEMA - GBUYER). La giacenza media del sistema è data da una quantità fissa = q*(D/P) che è uno zoccolo fisso, la cui media è sempre q*(D/P) rappresentato dal rettangolo, a questa dobbiamo sommare una parte variabile, data dall’area del triangolo sopra questo. Il tasso di produzione = P D = tasso di produzione vendor - tasso di consumo buyer. Il vendor produce in un frame di tempo T necessario alla produzione di un lotto, ad un tasso P-D (che è il tasso di crescita della giacenza totale) A. Acquaderni, A. Azami, A. Gennari 97 a.a. 2010-2011 In figura il caso di 1 spedizione sola → q = Q q ' =Q−q ' ' =Q− Q⋅D P−D =Q⋅ P P Q P−D G MediaParziale= ⋅ 2 P Giacenza complessiva del sistema= A. Acquaderni, A. Azami, A. Gennari 98 D⋅q P−D −1 ⋅q⋅ n P 2P −1 a.a. 2010-2011 28/04/2011 Obiettivo è creare una funzione di costo C(q) che sia funzione delle nostre incognite. C(q) = Costi di setup del vendor + Costi giacenza vendor + Costi emissione ordini buyer + Costi giacenza buyer → D D D C q=A1⋅ h 1⋅Gv A2⋅ h 2⋅Gb= A1n⋅A2⋅ h1⋅Gv h2⋅G b Q Q⋅n Q con GB = q/2 * [(λn+1)/(λ+1)] e GV = Gsistema - Gbuyer La giacenza media del buyer era data dalla media delle giacenze pesata sui periodi di tempo che intercorrevano tra le spedizioni. Dobbiamo ora calcolare la giacenza media del vendor e non lo facciamo come media pesata ma come differenza tra giacenza media del sistema e giacenza del buyer precedentemente calcolata. La giacenza totale del sistema la individuiamo a partire da T 1, nello specifico in T1 il sistema ha una giacenza pari a quello che gli rimane dal lotto precedente, in particolare q’ = (q*D)/P, in T4, punto finale, sarà nuovamente q’; la giacenza del sistema è caratterizzata da uno zoccolo fisso costante [= q’ = (q*D)/P] e da una parte variabile data dal triangolo. La giacenza media del rettangolo, essendo costante è sempre q’ = (q*D)/P, a questa sommo la media giacenza del triangolo per avere la giacenza media del sistema → prendo i 2 segmenti estremi uno è q’ e l’altro è q’’ + q’ → giacenza media del solo triangolo sarà q’’/2. Ora dobbiamo calcolare q’’. Mentre il vendor produce Q al ritmo P, il buyer consuma al ritmo D → il sistema in complesso produrrà q’’ con un ritmo P-D. Dunque: q ' '=Q− → G Sistema= A. Acquaderni, A. Azami, A. Gennari Q⋅D P −D =Q⋅ P P q⋅D q ' ' q⋅D Q P−D = ⋅ P 2 P 2 P 99 a.a. 2010-2011 → GVendor =G V = q⋅D Q P−D q n1 ⋅ − ⋅ P 2 P 2 1 n n n−1 Q=∑ qi =∑ q⋅ =q⋅ −1 i=1 i=1 i−1 [ ] [ D −1 D −1 q⋅D q P− D n −1 q n1 q n1 C q=A1⋅ ⋅ n A2⋅ ⋅n⋅ n h1⋅ ⋅ ⋅ − ⋅ h2⋅ ⋅ q −1 q P 2 P −1 2 1 2 1 −1 ] E’ il costo totale, la prima parte della somma rappresenta il costo di set-up, la seconda rappresenta il costo di emissione degli ordini, la terza i costi di giacenza del vendor, la quarta i costi di giacenza del buyer. * q dc q =0 ... dq [ ] 1 D −1 D P−D −1 1 −1 1 −1 q*=− 2⋅ A1n⋅A2⋅ ⋅ n h1⋅ ⋅ n − ⋅ n h 2⋅ ⋅ n =0 q −1 P 2P −1 2 −1 2 −1 q −1 A1n⋅A2 ⋅D⋅ n −1 q *= n D P− D −1 1 n1 h2 n1 h1⋅ ⋅ − ⋅ ⋅ P 2P −1 2 1 2 1 [ ] −1 A1n⋅A2 ⋅D⋅ n −1 q *Hill = n D P−D −1 h 2−h1 n 1 h 1⋅ ⋅ ⋅ P 2P −1 2 1 [ ] Questo era il modello generale di Hill; vediamo se ciò vale anche per gli altri modelli: • Modello di Lu (λ = 1, Q = n*q) [ ] D D⋅n D⋅q P− D q C q=A1⋅ A2⋅ h1⋅ ⋅q⋅n h2 −h1 ⋅ n⋅q n⋅q P 2P 2 → dC(q)/dq = 0 → q *Lu = A. Acquaderni, A. Azami, A. Gennari A1n⋅A2 ⋅ [ h1⋅ D n D P− D h2 −h1 n⋅ P 2P 2 ] 100 a.a. 2010-2011 • Modello di Goyal (λ = P/D; Q = q * [(λn - 1)/(λ - 1)] ) [ ] D n −1 q P q n−1 1 1 n−1 q n1 q n1 C q= A1n⋅A2 ⋅ ⋅ h1⋅ ⋅ ⋅ − ⋅ ⋅q⋅ ⋅ h 2⋅ ⋅ P 2 −1 2 q −1 −1 2 1 2 1 [ ] D −1 D −1 q q −1 n−1 q n 1 C q=A1⋅ ⋅ n A2⋅ ⋅n⋅ n h1⋅ ⋅ ⋅ h 2−h 1⋅ ⋅ 2 −1 q −1 q 2 1 −1 → C q= 2 h1⋅1⋅qh 1⋅q⋅1⋅n−1h2 −h1 ⋅q⋅⋅ n1 2 ⋅1 n n q⋅h1⋅1 q⋅h 2⋅⋅1 →= 2 ⋅1 n D −1 q⋅ 1⋅h1⋅h2 → = C q= A1n⋅A2 ⋅ ⋅ n q −1 2⋅1 → q * Goyal 2 D⋅ A1n⋅A2 ⋅⋅2 −1 = h1⋅h 2⋅2n −1 Esercizio da Esame (sostanzialmente) A1, A2, h1, h2, D, P sono i dati che spesso vengono dati, altre volte potrebbero essere “celati” A1 = 400 €/setup q* = ? A2 = 25 €/ordine n=? h1 = 4 €/(pz*anno) → C(q) minimo h2 = 5 €/(pz*anno) D = 1.000 pz/anno P = 3.200 pz/anno Modello di LU (spedizioni costanti) q *Lu = A1n⋅A2 ⋅ [ h1⋅ D n D P− D h2 −h1 n⋅ P 2P 2 ] Parametrizziamo n, cioè prendiamo i diversi valori che n può assumere e costruiamo una tabella in cui in funzione di n calcoliamo q*, Q, ed infine C(q). n ≥ 1 con n intero. Si itera il processo fino ad individuare un valore di C(q) minimo. A. Acquaderni, A. Azami, A. Gennari 101 a.a. 2010-2011 infatti per n = 1 → q *Lu = [ 40025⋅1.000 =369 [ pezzi] 1.000 2.200 1 4⋅ 3.200 6.400 2 ] [ ] [ ] 1.000 369⋅1.000 2.200 369 € C q=369=40025⋅ 4⋅ ⋅369 =2.304,89 369 3.200 6.400 2 anno Questo appunto nel caso in cui faccia una sola spedizione; se invece di una sola, facciamo 2 spedizioni, sostituiamo n = 2 → q* = 224 pz/spedizione e C(q) = 2.012,46 €/anno. Aumentando le spedizioni spedisco meno materiale e ho meno giacenze ma allo stesso tempo si avrà un punto in cui le spedizioni saranno talmente tante che il costo di trasporto (emissione ordine) diventerà molto pesante sul prodotto, e a quel punto C(q) comincerà ad aumentare. Andando avanti per n = 3, 4, 5, 6 notiamo che i costi calano fino a n = 5, poi in n = 6 ricrescono → col modello di Lu abbiamo il MIN per n = 5 → q* = 111 → Q = 555 → Costo = 1.903 €/anno. Modello di Goyal (spedizioni non costanti ma crescenti) q * Goyal 2 D⋅ A1n⋅A2 ⋅⋅2 −1 = =q 1 h1⋅h 2⋅2n−1 Applicando questa radice trovo solo la prima spedizione, per trovare le altre moltiplico → i−1 q i=q⋅ Il procedimento è simile al caso precedente, andiamo cioè a parametrizzare n, poi in funzione di n troviamo i vari qi [pz/spedizione], la dimensione delle spedizioni, da questo ricaviamo i Q [pz/lotto], ed infine C(q) A. Acquaderni, A. Azami, A. Gennari 102 a.a. 2010-2011 Nel modello di Goyal (solo in questo) λ = P/D = 3,2 nel nostro caso; q i = λi-1 Per n = 2, dovremmo calcolarci q1 e q2. q *Goyal = 2⋅ 4050⋅1.000⋅3,2⋅3,22−1 unità =114 4 spedizione 43,2⋅5⋅3,2 −1 [ ] q2 invece lo troveremo semplicemente moltiplicando q i per il nostro λ → q2 = 114 * 3,2 = 363. Poi con questi qi, sommandoli, trovo Q. Con la stessa formula di prima trovo C(q), dove per q uso (all’esame per non perdere tempo) la prima trovata → q 1 Vado avanti fino a che non ritrovo il minimo di costo e lo prendo come buono → nel nostro caso per n = 3 → C(q) = 1.818,67 €/anno Diminuisco la quantità di unità per spedizione ma aumento quella di unità per lotto. All’esame, ad esempio, può essere chiesto di calcolare un modello poi a parità di spedizioni dire se un altro modello è migliore o meno → lo ricalcolo solo per quell’n (ad esempio se in Lu nopt = 5 ricalcolo n = 5 per Goyal). Nel modello di Hill 1 < λ < P/D quindi nel nostro caso assume valori compresi tra 1 < λ < 3,2 Hill ha dimostrato che nLu < nopt Hill < nGoyal A. Acquaderni, A. Azami, A. Gennari 103 a.a. 2010-2011 Il costo ottenuto dimostra il fatto che il modello di Hill sia migliore del modello di Lu e di Goyal. Se h1/h2 ≈ 1 → il modello migliore è quello di Goyal Se invece h1/h2 ≈ 0 → il modello migliore è quello di Lu. A. Acquaderni, A. Azami, A. Gennari 104 a.a. 2010-2011 02/05/2011 Avevamo visto che i costi totali per le giacenze sono dati da: h 1⋅G V h 2⋅G B h1 e h2 prevedono entrambi i costi di struttura (costi fissi come per le strutture del magazzino) ed i costi di gestione (luce, energia, eventuale operatore). Modello del Conto Deposito (Consignment Stock) Anche questo è un modello che ottimizza i costi complessivi della catena logistica, costi complessivi di vendor e buyer (considerando sistemi in cui sono presenti entrambi), come i modelli precedenti, ma cerca di rendere i modelli di Hill e Goyal più realistici. I limiti del modello di Hill sono: • Non considera i costi di trasporto, considera solo i costi di spedizione che si integrano con i costi di emissione dell’ordine del buyer • Si basa su una domanda deterministica, ovvero costante e nota (stesso limite dei modelli EOQ di Wilson) • Non si considerano i Lead Time di fornitura (e anche di produzione) da parte del vendor, quindi presupponiamo che egli consegni esattamente quando il buyer termina di consumare • Affinché possa funzionare il modello per tutti gli elementi della catena devo fare in modo che tutti sappiano le stesse cose → condivisione delle informazioni anche delle più riservate, come quelle relative ai costi (A 1, A2, ecc). Il problema è individuare un modello di gestione integrata delle scorte che rispetti questi vincoli e non abbia tali ipotesi restrittive. In particolare il problema è che la domanda non è deterministica ma altamente variabile e con effetto frusta (bullwhip): una piccola variazione della domanda del cliente crea variabilità maggiori a monte fino ad arrivare al primo fornitore, il vendor, che subirà una variabilità notevole. La domanda non è deterministica ma stocastica, si ha dunque necessità di una scorta di sicurezza. Costruisco i modelli con una domanda media ma dovrò prevedere una SS per coprire la variabilità della domanda; altrimenti ci sono modelli complessi che si basano sulla domanda stocastica direttamente. Come faccio a superare questo problema della domanda non deterministica ma che può cambiare e quello dei Lead Time di consegna (per il quale abbiamo un problema di variabilità)? Si crea un sistema chiamato “conto deposito” in cui il vendor produce la quantità necessaria ed utilizza il magazzino del buyer. La merce rimane di proprietà del vendor ma è situata nel deposito del buyer fino a quando non viene venduta. Quando ciò accade il buyer si limita ad andare a prendere i pezzi nel proprio magazzino. In questo modo il Lead Time di prelievo è pari a 0 e si elimina il problema della variabilità di questo fattore temporale. Il buyer mette a disposizione il proprio magazzino, il vendor non ha più questa struttura; il buyer avrà sempre un minimo di scorta per non andare in rottura di stock → minimo “s” e massimo “S” poiché più di tanto il vendor non può riempire il magazzino del buyer. I A. Acquaderni, A. Azami, A. Gennari 105 a.a. 2010-2011 Vantaggi stanno nel fatto che il vendor dal punto di vista delle scorte non ha più costi di struttura, ma ha solo costi di gestione (immobilizzo del capitale e obsolescenza). D’altra parte il buyer avrà solo i costi di struttura (costi fissi e legati al mantenimento dell’edificio) → si ha 1 sola struttura i cui costi sono a carico del buyer e 1 solo attore che subisce i costi di gestione → i costi dell’intera catena si abbattono notevolmente. In particolare h1ConsignmentStock << h1Lu,Goyal, e analogamente h2 anche si riduce. Anche i costi di emissione ordine si abbassano poiché ne viene fatta una tantum, all’inizio del contratto; invece il buyer ogni volta che preleva dovrà emettere informazioni che si riferiscono alla domanda, alla quantità per effettuare la fatturazione → A 1 e A2 si riducono → anche vantaggi economici diretti (oltre che sul lead time). Pro Contro Incremento del fatturato per entrambi gli attori in virtù di un migliore livello di servizio Incremento dei costi amministrativi per il fornitore che deve gestire più attività Riduzione delle scorte presso il produttore, legata essenzialmente alla progressiva diminuzione delle scorte di sicurezza non più necessarie per fronteggiare i rischi di stockout del fornitore Incremento della responsabilità per il fornitore che deve imparare a gestire questa nuova situazione formando anche il proprio personale Riduzione delle scorte presso il fornitore, derivante Riduzione dei benefici quando vi è una forte influenza da una migliore visibilità sulla domanda degli sconti d'ordine Riduzione dei tempi associati alla gestione degli ordini e dei relativi costi amministrativi Rischio del cliente di perdere controllo e flessibilità, specialmente quando si è nelle fasi iniziali del progetto Riduzione dei costi complessivi della supply chain E' essenziale sviluppare un rapporto basato sulla grazie alla condivisione di informazioni che reciproca fiducia permettono di ridurre l'incertezza Vantaggi di un sistema SMI La differenza tra s (livello di scorta minima) ed S (livello di scorta massima) dipende da alcuni fattori ed obiettivi poiché ognuno dei 2 attori avrà obiettivi opposti: Il fornitore vuole avere s il più basso possibile per diversificare; il buyer invece vuole che s sia il più alto possibile per aver la certezza di trovare quello che cerca e quanto ne vuole (aumenta dunque il livello di servizio). Con S abbiamo un comportamento opposto, se è molto alto ne giova il fornitore, potendo permettersi una maggiore economicità, flessibilità di scala. Per contro il buyer deve gestire maggiori costi di struttura per eventuali scorte più alte. Tende perciò a minimizzare S e massimizzare s. A. Acquaderni, A. Azami, A. Gennari 106 a.a. 2010-2011 Si abbassano i costi di emissione ordine per il buyer ma rimangono invariati i costi di setup dell’ordine del vendor. Chi produce non deve aspettare la consegna quando il buyer va in stock out, ma ha senso iniziare a spedire anche piccole quantità ottimali q = quantità per ogni spedizione, una parte di Q che è la quantità totale da consegnare in n spedizioni. → Q=n⋅q Non abbiamo più la necessità di mantenere la merce a casa del vendor il più possibile ma possiamo frazionare le scorte e mandarle nel magazzino del vendor a casa del buyer. Il vendor inizia a produrre in t1 e consegna in t2, poi ricomincia a produrre in quell’istante e consegna in t3 e così via. Il buyer riceve in t 2 e inizia a consumare, ma in t 3 quando riceve la nuova quantità, non ha ancora finito di consumare quella precedente, quindi avremo (q + q rimanente dalla consegna precedente). Andando avanti allo stesso modo si arriva a t 5 in cui il vendor fa l’ultima consegna, e da lì il buyer consuma e basta fino a t 6. Questo perché il vendor invia le scorte indipendentemente dal consumo del buyer. T= q q' = P D → q' = A. Acquaderni, A. Azami, A. Gennari q⋅D P 107 a.a. 2010-2011 Nel nostro caso GMAX = 3q – 2q’ q⋅D G MaxBuyer =n⋅q− n−1⋅q ' =n⋅q− n−1⋅ P [ 1 1 q⋅D G MediaBuyer = ⋅G MaxBuyer = ⋅ n⋅q−n−1⋅ 2 2 P ] Dopo l’ultima consegna dunque il vendor non produce fino a che il buyer non glielo richiede → Tp = orizzonte temporale tra l’inizio della produzione del primo lotto e l’inizio della produzione del lotto successivo. GMediaVendor è data da q/2 nei denti in cui produce il vendor (ha come estremi 0 e q per ogni dente), devo spalmare la giacenza di q/2 su tutto l’intervallo T p→ Gmedia= (q/2) * (3T/Tp). In questo caso consideriamo 3T perché abbiamo 3 denti, altrimenti consideriamo un generico T’ che è l’intervallo di tempo in cui avviene la produzione (dall’inizio del primo dente alla fine dell’ultimo). Q T ' = [con Q = 3q] P T P= → Q D T' D = TP P q T' q D q ' '= ⋅ = ⋅ 2 T '' 2 P [dove q’’ è la giacenza media del vendor] Riassumiamo: T’ è il tempo che il vendor impiega per produrre il lotto Q ad un tasso di produzione P; la giacenza media però non va considerata solo sull’intervallo T’, ma c’è anche un intervallo di tempo in cui il vendor non produce ma in cui mantiene una giacenza all’interno del magazzino del buyer in cui ha inviato il materiale prodotto → nonostante internamente non abbia giacenza, questa giacenza c’è ed è di sua proprietà → va inclusa nel calcolo della giacenza media e quindi considero anche il tempo di idle in cui il vendor non produce. La giacenza media dunque non sarà q/2 (che è la giacenza per il solo periodo in cui il vendor produce) ma q’’. I tempi vanno utilizzati come strumento (peso) per calcolare la media (che è un’area data da una media pesata sostanzialmente). q D G MediaVendor= ⋅ 2 P [ 1 q⋅D G MediaBuyer = ⋅ n⋅q−n−1⋅ 2 P A. Acquaderni, A. Azami, A. Gennari 108 ] a.a. 2010-2011 C(q) = Costo Vendor + Costo Buyer = Cset up + Cgiacenza Vendor + Cemissione ordine + Cgiacenza Buyer = [A1 * (D/Q)] + [h1 * (q/2) * (D/P)] + [A2 * (D/Q) * n] + ½ [n*q -(n-1)*(q*D)/P] = A1 * [D/(n*q)] + h1 * q/2 * D/P + A2 * D/(n*q) * n + h2 * ½[n*q -(n-1)*(q*D)/P] = (A1 + n*A2) * [D/(n*q)] + [h1 * (q/2) * (D/P)] + (h2/2)* (n*q) - (h2/2)* [(n*q*D)/P] + (h2*q*D)/P = (A1 + n*A2) * [D/(n*q)] + [h 1 * (q/2) * (D/P)] + (h2/2)*(P/P)*(n*q) - (h2/2)* [(n*q*D)/P] + (2*h2*q*D)/2P - (h2*q*D)/2P = (A1 + n*A2) * [D/(n*q)] + h2*[n*q*(P-D)/2P + q*D/P] - (h2-h1)*q*D/2P dove D/(nq) = n° setup n = n° spedizioni = n° prelievi Altrimenti: → C q= A1n⋅A2 ⋅ n⋅q⋅ P− D q⋅D h2−h1 ⋅q⋅D D h 2⋅ − n⋅q 2P P 2P [ ] → deriviamo ed eguagliamo a 0 per ottenere il q minimo. A. Acquaderni, A. Azami, A. Gennari 109 a.a. 2010-2011 q= D A1n⋅A2 ⋅ n [ h2⋅ ] n⋅ P−D D D −h2 −h1 ⋅ 2P P 2P A1= 400 €/setup A2= 25 €/ordine h1= 4 €/pz*anno h2= 5 €/pz*anno P = 3.200 pz/anno D = 1.000 pz/anno {Errata Corrige: C(q*) non è in [€/Unità] ma in [€/Unità di tempo]} Applicando il modello del Consignment Stock: (Lu = 1.093,29 €/anno) (Goyal = 1.819 €/anno) (Hill = 1.815 €/anno ) Vediamo che l’ottimo lo abbiamo per n = 4 Abbassando i costi unitari ovviamente si abbassa anche il costo totale, a parità di D e A 1 che non cambiano, lavorando gli altri costi il consignment stock porta risultati migliori, ma a parità di dati in assoluto il modello di Hill vince. → A2 = 15€/ordine h1 = 3 €/pz*ordine h2 = 4 €/pz*ordine → 1.760 €/anno A. Acquaderni, A. Azami, A. Gennari 110 a.a. 2010-2011 03/05/2011 Esercizi Gestione Integrata delle Scorte Esercizio 1 D = 1.300 [pz/gg] P = 4.800 [pz/gg] Costo emissione ordine = 1 [€/gg] h2 = 16 [€/(pz * gg)] Costo spedizione = 24 [€] h1 = 11 [€/(pz * gg)] Tsetup = 30 [min] Noperatori = 4 operatori Costo operatore = 160 [€/ora] A2 = Cemissione Ordine + Cspedizione= 24 + 1 = 25 [€/ordine] A1 = Tsetup * n°operatori * Coperatore = 160 * 4 * 0,5 = 320 [€/setup] [dove 0,5 = 30 min] Spedizioni costanti → Lu → Calcolare: 1. n, Q, Giacenza media del fornitore, Giacenza massima del buyer 2. Tempo di produzione del vendor di un lotto (T’), Tempo di consumo del buyer del lotto intero (Tp) 3. Graficare andamento giacenze in corrispondenza del valore ottimale di n (n° spedizioni) con i corrispondenti valori di tempo e di stock calcolati in precedenza 4. Valutare i costi di giacenza e stock out che si avrebbero con domanda stocastica caratterizzata da una distribuzione normale con valore medio coincidente con la domanda deterministica del punto 1 e variazione standard sigma σ = 100 pz. Si valuti un periodo indicativo di 2 settimane e si consideri un costo di stock out di 2 [€/(pz*gg)] 5. Valutare la convenienza economica di applicare il modello a spedizioni crescenti (Goyal) a parità di spedizioni ed in tal caso indicare la dimensione dei mezzi necessari per eseguire le spedizioni con alta saturazione (cioè ad esempio indicare la dimensione dei mezzi adeguata per il trasporto della merce che abbiamo, oppure, dato il mezzo, ottimizzare lo spazio occupato, ad esempio riempirlo al 70%). Procedimento: Dai punti 1 e 2 si ottiene: Lu → n = 4, q = 80 [pz/spedizione] → Q = 320 [pz/lotto] → C(q) = 3.428 [€/gg] λ = P/D = 3,69 A. Acquaderni, A. Azami, A. Gennari 111 a.a. 2010-2011 q' = (q*D)/P = (80*1.300)/4.800 = 21,66 T1 = 80/4.800 = 0,016 gg = 0,13 h [con un’ipotesi di 8 h/gg] T2 = 80/1.300 = 0.061 gg = 0,49 h Ora devo capire quanto riesce a produrre il nostro vendor nel tempo T 2 → → q’’ = (P * T2) = 4.800*0,061 = 293,28 pz Quanto vale l’istante di tempo (t2’) in cui il vendor smette la produzione perché arriva a 240? L’intervallo lo chiamiamo T2’ = 240/4.800 = 0,05 gg * 8 h/gg = 0,4 h Il tempo di produzione TP = T1 + T2’ = 0,13 + 0,4 = 0,53 h Dopo T2 abbiamo un altro intervallo di tempo T2 = o,49 fino a t4, come fino a t5 e fino a t6. Il tempo di consumo dell’intero lotto del buyer è dato da T C = T2*4 = 0,49*4 = 1,96 h oppure TC = Q/D = 320/1.300 = 1,96 Gmedia Buyer = q/2 = 80/2 = 40 pz GMax Buyer = q = 80 pz Gmedia Vendor = [(q*D)/P] + (q/2)*[(P - D)/P] - q/2 = 21.66 + 40*(3.500/4.800) - 40 = 87,4 pz Consideriamo ora invece il caso in cui abbiamo una domanda stocastica → la domanda media Dmedia = 1.300 [pz/gg] diventa Distribuzione normale D = 1.300 pz/gg con σ = 100 CStock = 2 [€/pz*gg] C (q) = 3.428 €/gg + Facciamo un esempio per il 5° giorno anche se andrebbe calcolato per 2 settimane Giorno Dreale Stock out Giacenza (Vendor) CstockOut [€/gg di stockout] CGiacVendor [€/gg] C (q) Ctot [€/gg] 1 1.364 64 0 64*2 = 128 0 3.428 3.556 2 1.456 156 0 156*2 = 312 0 3.428 3.740 3 1.268 0 32 32*h1 = 32*11 = 352 ... 3.780 4 1.133 0 167 1.837 ... 5.265 5 1.048 0 242 2.662 ... 6.090 A. Acquaderni, A. Azami, A. Gennari 112 a.a. 2010-2011 6 ... Sappiamo che ogni giorno di stock out comporta una penale di 2 [€/pz] Esercizio 2 4 spedizioni → 10, 38, 141, 528 [pz / spedizione] D = 2.000 [pz/gg] Costo unitario ordine = 20 [cent€/ordine] (per il fax) h2 = 15 [cent€/(unità*gg)] Costo spedizione = 1 [€/spedizione] Tsetup = 30 [min] Costo attrezzaggio = 15 [€/ora] h1 = 10 [cent€/(unità*gg)] A2 = Cspedizione + CEmissione Ordine = 1,20 [€/ordine] A1 = Tsetup * Cattrezzaggio = 0,5 [h] * 15 [€/h] = 7,5 [€/setup] P = da trovare → λ = P/D → P = λ*D e λ lo troviamo da q i = λi-1 * q → 38 = λ * 10 → ottengo λ e dalla formula precedente ottengo P. Questo procedimento va ripetuto per tutte le q i non solo per la prima per avere un valore più preciso di λ. 38 = λ * 10 → λ = 3,8 141 = λ2 * 10 → λ = 3,75 528 = λ3 * 10 → λ = 3,75 → ipotizzando un λ = 3,75 otteniamo P = D * λ = 2.000 * 3,75 = 7.500 [pz/gg] Determinare: Se le 4 spedizioni sono effettivamente la soluzione più vantaggiosa per entrambi, vendor e buyer (fermo restando che è modello di Goyal a spedizioni crescenti) → non importa fare i calcoli di n = 1 e n = 2 ma basta fare n = 4 e vedere se è effettivamente il minimo confrontandolo con n = 3 e n = 5 → vedo se è la soluzione ottima o no 1. Nelle condizioni di cui sopra quale sarebbe stata l’entità dell’ordine da parte del buyer qualora non fosse esistito l’accordo col fornitore 2. Quale sarebbe stata l’entità dell’ordine per il vendor qualora non fosse esistito l’accordo col buyer Si supponga che il vendor cambi la macchina che prima non aveva limiti di capacità e ora al massimo invece possa fare 200 pz → Determinare 3. Fermi restando tutti i dati precedenti, il numero delle spedizioni, ora ad entità costante, da effettuare in modo che il mezzo viaggi il più carico possibile 4. Il costo complessivo corrispondente a questa nuova modalità congiunta di fornitura a spedizioni costanti, considerato il vincolo indotto dalla massima capacità di carico. Verificare che questa sia anche la soluzione più vantaggiosa senza il vincolo della capacità di carico 5. Valutare tra le alternative la più conveniente (→ determinare la n ottimale con A. Acquaderni, A. Azami, A. Gennari 113 a.a. 2010-2011 Goyal) e valutare se Hill può migliorare la situazione Il buyer propone una modalità in conto deposito → determinare quindi: 6. Fermi restando tutti i dati precedenti, ivi compreso il costo imputato per l’emissione ordini, il numero delle spedizioni da effettuare affinché la nuova modalità di fornitura in conto deposito (consignment stock) raggiunga il costo complessivo minimo e l’entità di tale costo 7. Di quanto dovrebbero ridursi i costi di emissione ordine ed i costi unitari di giacenza affinché il modello conto deposito sia conveniente Altro esercizio generico (per vedere le domande che potrebbero capitare all’esame, la 1 a parte è sempre uguale, con i dati di domanda, costi, ecc) In questo caso i mezzi a disposizione sono di 4 tipi: 15, 60, 250, 800 bottiglie; usare il modello di Goyal → determinare: n° spedizioni ottimale tale da massimizzare la saturazione delle macchine, … Il buyer propone un modello in conto deposito → stesse domande dell’esercizio 2: • Verificare il fatto che il modello del conto deposito conviene con A 2 = 20 [€/ordine], h1 = 5 [€/(unità*gg)], h2 = 4 [€/(unità*gg)] • Valutare quale sia la risoluzione migliore e determinare la h 1 affinché il modello di Lu sia quello conveniente (se h1/h2 → 0 conviene Lu, se h1/h2 → 1 conviene Goyal). A. Acquaderni, A. Azami, A. Gennari 114 a.a. 2010-2011 05/05/2011 Progettazione e controllo di sistemi flessibili di Order Picking Il prelievo non avviene per forza in maniera intera, di un’intera UdC, ma può avvenire in maniera frazionata. La quantità da prelevare a magazzino dipende dal mercato, dal cliente, poiché è in base al cliente ed alla sua domanda che progettiamo tutto il sistema produttivo (in ottica di lean production). Il mercato prevede un n° di clienti sempre più alto e differenziato; i clienti richiedono ampi mix produttivi → molte tipologie di prodotto delle quali però vogliono volumi bassi. Pertanto sarà necessario avere alta flessibilità, capacità di rispondere tempestivamente ad un mercato in continua evoluzione e che influenzerà la distribuzione dei prodotti e lo stoccaggio. Si avranno dunque diverse unità di carico caratterizzate dallo stesso prodotto dalle quali però preleverò diversi prodotti in n° limitato. → Prelievo frazionato (Order Picking) che deve essere anche flessibile → Flexible Order Picking System → da OPS a FOPS. La variabilità dell’ordine del cliente è data dalle diverse quantità e dai tipi diversi di prodotto. E’ necessaria dunque la presenza di un centro di smistamento in cui si ha in arrivo una serie di UdC omogenee per prodotto ed in uscita una serie di UdC disomogenee per cliente → in quest’area si organizza il prelievo frazionato ed il riassemblamento delle UdC. Si può effettuare una classificazione: • Unità complete • Unità less then unit Altra classificazione riguarda la modalità di picking: A. Acquaderni, A. Azami, A. Gennari 115 a.a. 2010-2011 • • Picker to product → genera un sistema di Flexible Order Picking manuale Product to picker → genera un sistema di Flexible Order Picking automatico (in quest’ultimo possono esserci comunque operatori umani ma non lavorano sulla movimentazione). L’operatore umano potrebbe essere sostituito da un robot ma in alcune situazioni l’operatore manuale soprattutto per livelli bassi di magazzino è più flessibile, mentre nei livelli più elevati l’operatore ha difficoltà → nei livelli più elevati vengono messe le merci di ripristino (per sostituire la merce al livello inferiore che l’operatore manualmente facilmente preleva) → si introduce un’unità di ripristino che permette anche lo sviluppo dei magazzini in verticale; se fossero infatti tutti manuali il magazzino si svilupperebbe eccessivamente in orizzontale e sarebbe basso. Circa il 60% delle attività (in termini temporali), nel caso del Regno Unito, sono dedicate al picking, e anche il 60% dei costi sono per il picking. Tra le attività di movimentazione, il picking inoltre è la maggiore → Gestire le attività di picking significa gestire un 60% del tempo di movimentazione del materiale. • • • • • • • Traveling (movimentazione a/da/tra le locazioni di prelievo) Extracting (prelievo dell’item dalla locazione di stoccaggio) Reaching and Bending (accedere alle locazioni di picking) Documenting (documentare le transizioni di picking) Sorting (selezionare gli items) Packing (imballare gli items) Searching (ricerca delle locazioni di picking) Prelevare mediante batch picking (strategia di prelievo per lotti) significa prelevare da più clienti, con diverse quantità ciascuno a seconda dei tipi di prodotto che richiede. Per evaderli tutti, prenderò singolarmente una scheda cliente e la evado, poi prendo la seconda e la evado e così via. In alternativa posso preparare la quantità giusta di un prodotto e dividerla fra i clienti, poi preparo il secondo prodotto e lo divido e così via. Se il prelievo avviene in maniera completamente manuale le operazioni di cui sopra sono tutte A. Acquaderni, A. Azami, A. Gennari 116 a.a. 2010-2011 necessarie, altrimenti sarebbe possibile eliminarle o ridurle introducendo alcune attrezzature; ad esempio la fase di traveling si può ridurre passando da picker to product a product to picker. A seconda del grado di automazione presente deciderò quale metodo applicare. Ad esempio, il pick to light system è un metodo innovativo tramite un sistema che illumina le zone dove vanno depositati i materiali. Principi di Order Picking 1. 2. 3. 4. 5. 6. 7. 8. Applicare la legge di Pareto Utilizzare documenti chiari e semplici da leggere Utilizzare documenti pre-impostati e pre-compilati Mantenere un efficace sistema di locazione delle scorte Eliminare e combinare fasi di order picking quando possibile Impiegare una strategia batch-orders per ridurre il tempo totale di viaggio Stabilire zone dedicate al picking Assegnare le unità di stoccaggio più movimentate alle locazioni più facilmente accessibili 9. Bilanciare le attività di picking lungo le locazioni di picking per ridurre le congestioni 10. Assegnare le unità di stoccaggio che facilmente sono richieste insieme alla stessa locazione o a locazioni vicine 11. L’order picker deve essere responsabile della precisione dell’ordine 12. Semplificare o evitare il conteggio 13. Richiedere conferma dell’ordine A. Acquaderni, A. Azami, A. Gennari 117 a.a. 2010-2011 14. Impiegare veicoli per eseguire il picking che minimizzino il tempo di ricerca e gli errori e che provvedano al comfort del picker 15. Eliminare la carta dalle attività di picking. Dal Pareto individuiamo 3 macro categorie di prodotti → suddividiamo tutti gli item in classe A, B, C, dove la classe A è costituita da quei pochi codici che rappresentano una percentuale elevata di una grandezza rispetto all’asse delle ordinate (questa grandezza potrebbe essere il fatturato, lo spazio occupato, la giacenza, ecc); nel nostro caso consideriamo quei pochi prodotti (20%) che hanno più giacenza, cioè che occupano più spazio a magazzino (80%). Su questi codici devo prestare particolare attenzione. Il Pareto si potrebbe ripetere con il tasso di rotazione → classe A = prodotti che vengono spesso prelevati (ad alta popularity). All’interno del magazzino non per forza tutti i prodotti devono essere prelevati mediante picking però è giusto che i prodotti gestiti tramite Order Picking siano tutti concentrati in un’area e separati dagli altri. Si hanno 2 principali criteri di raggruppamento: • Popularity = frequenza di prelievo • Correlazione = similarità dei prodotti Le caratteristiche secondo le quali posso stabilire quanto spazio dedicare alla merce si basano principalmente su 2 criteri: • Equal time supply → ad ogni codice viene assegnato uno spazio proporzionale al flusso movimentato in una certa unità di tempo [pz/h] o [m 3/h] • Equal space → assegnato a ciascun codice lo stesso spazio Riguardano entrambi lo spazio fisico da dedicare ai pezzi nel magazzino. Fatto ciò mi pongo il problema dell’allocazione fisica. Sull’allocazione si basano una serie di teorie per ridurre i tempi di movimentazione → fare una buona allocazione della merce significa ridurre i tempi di movimentazione che rappresentano il 60% circa del picking. Ridurre i tempi di movimentazione significa ridurre i costi di movimentazione poiché ad ogni metro percorso si ha un costo. A. Acquaderni, A. Azami, A. Gennari 118 a.a. 2010-2011 Ci sono 2 principali criteri di allocazione della merce: • Allocazione per posti condivisi (randomize) → le UdC vengono allocate in modo casuale, nel primo posto libero → vantaggio per la semplicità gestionale vs svantaggio per la gestione dei prelievi (poiché prodotti simili potrebbero essere allocati da parti opposte del magazzino) • Allocazione per posti dedicati → posti dedicati per ogni prodotto → vantaggio è nell’univocità dell’ubicazione (so dove trovare la merce) ma svantaggio è che, avendo un vano dedicato per ogni codice, avrò bisogno di grossi magazzini A queste 2 modalità di allocazione ne aggiungiamo altre 2, derivanti dalle caratteristiche sopra citate (popularity e correlazione) • Allocazione per classi → stabilisce una classificazione dei prodotti mediante analisi di Pareto, che viene rispecchiata all’interno della suddivisione del magazzino → divido il magazzino in aree A, B, C. Si stabilisce un criterio per dividere i prodotti in classi A, B, C secondo Pareto e si ordinano queste classi nel magazzino gradualmente allontanandosi dalla zona di Input/Output. E’ un mix dei metodi precedenti in quanto non assegna posti ad un prodotto ma ad una famiglia di prodotti raggruppati • Allocazione per correlazione → obiettivo è raggruppare i prodotti in cluster creati secondo il criterio di similarità che considera la probabilità di diversi prodotti di appartenere ad uno stesso ordine. Due prodotti sono più o meno simili se più o meno frequentemente compaiono nello stesso ordine, vengono ordinati insieme. Bisogna però anche considerare la disposizione rispetto al punto di I/O → riprende la logica dell’allocazione per classi → più vicino a I/O il prodotto che compare più frequentemente negli ordini, che viene chiamato più spesso. Esempio Allocazione per classi Per classificare i prodotti secondo classi A, B, C potrei utilizzare come criterio l’Indice di Rotazione (detto anche “turn”) che indica la movimentazione, il flusso di materiale rispetto alla giacenza media → Movimentazione IR= Giacenza Media [ ] [ ] m3 UdT m3 UdT Quello che risulta è il volume movimentato per ciascun codice. Così darei la priorità ai materiali con un flusso più elevato (prelevo i 100 pezzi in 1 sola volta), ma in realtà quello che a noi interessa non è quanto prelevo ogni volta, ma la frequenza con la quale lo faccio (prelevo i 100 pezzi prendendone 1 alla volta, quindi 100 prelievi). Nel secondo caso, molti prelievi di piccola quantità, l’IR non avrebbe molto senso, non sarebbe indicativo → introduciamo un indice COI (Cube Order Index) che si basa sulla frequenza (popularity) A. Acquaderni, A. Azami, A. Gennari 119 a.a. 2010-2011 Popularity COI = [ n° prelievi UdT [ ] 3 Giacenza Media ] m UdT [ ] = 1 m3 La popularity è una frequenza, adimensionale, indica solo un n° di prelievi nel tempo. L’IR fa riferimento al volume movimentato, il COI ci dice la frequenza di movimentazione, e quindi quello di prelievo. Tra i due quello che ci facilita di più l’analisi di pareto, è il COI → ordiniamo i nostri prodotti con COI decrescente e li assegniamo alle classi A, B, C. A. Acquaderni, A. Azami, A. Gennari 120 a.a. 2010-2011 09/05/2011 Cliente potrebbe non essere per forza un cliente esterno ma anche un reparto interno dell’azienda. L’ordine del cliente è costituito da una serie di righe. In ogni riga c’è il codice prodotto e la quantità. Bisogna gestire il magazzino in base a determinate caratteristiche: • Caratteristiche funzionali del prodotto e dell’Udc (peso, volume, fragilità) • Numero voci da gestire con Order Picking • Numero di ordini da evadere in una certa unità di tempo (potenzialità di movimentazione) • Caratteristiche degli ordini (n° righe e quantità) → si definisce la politica di prelievo: ◦ A seconda della quantità presente nell’ordine ◦ Batch Order → ordini in lotti Criteri di allocazione della merce All’interno dell’area di stoccaggio individuiamo un criterio per cui la merce sia allocata in una zona piuttosto che in un altra. • Allocazione dedicata (viene collocata la merce in vani particolari) • Allocazione condivisa (Random) • • Allocazione per classi Allocazione per correlazione Riprendiamo dall’allocazione per classi. Allocazione per classi → Stabilire delle classi di prodotti → ogni classe avrà dedicata una zona del magazzino. Dobbiamo stabilire un criterio per allocare i prodotti, assegnarli alle classi. I vari prodotti hanno delle caratteristiche che ci permettono di raggrupparli secondo criteri particolari, ad esempio, per indice di accesso. Praticamente leghiamo ciascuna classe alla rispettiva zona per accessibilità. Utilizziamo quindi il COI per determinare l’indice di accesso: Popularity frequenza di prelievo COI Cube Order Index = [ ] 3 Giacenza Media m UdT [ ] 1 UdT = [ ] 1 m3 Quest’indice indica quanti metri cubi per ordine andare a gestire. Calcolo il COI di tutti i prodotti → ogni prodotto avrà un indice di accesso che ordino in A. Acquaderni, A. Azami, A. Gennari 121 a.a. 2010-2011 senso decrescente. Dopo aver ordinato i prodotti per COI decrescente costruisco una curva COI, che sostanzialmente è una curva di Pareto che ha come ascisse la cumulata dei valori della giacenza media e come ordinate la cumulata del valore della popularity. La curva di Pareto per come è costruita permette di ottenere una suddivisione in classi. Se invertissi gli assi otterrei un istogramma, e per tornare al pareto ordino i vari elementi delle ascisse in senso decrescente poi comincio a fare la cumulata degli elementi (al primo sommo il secondo, poi al risultato sommo il terzo, ecc) fino ad ottenere un 80% di popularity (20% della giacenza circa), questa sarà la classe A, poi proseguo fino al 90-95% della popularity (60% della giacenza cumulata) ed ottengo la classe B, coi rimanenti ottengo la classe C. Ovviamente do priorità ai prodotti di classe A poiché sono quelli che generano più movimentazione e ridurre la movimentazione significa ridurre il costo di movimentazione ed infine il costo totale. Abbiamo considerato anche l’indice Indice di Rotazione IR (turn): IR indice di Rotazione = [ ] [ ] m3 Movimentazione UdT Giacenza Media m3 UdT Ad esempio se avessi da prelevare 100 m 3/gg → si può fare 1 prelievo da 100 m 3 → IR = 1 oppure si possono fare 100 prelievi di 1 m3 ciascuno → IR = 0,01 A. Acquaderni, A. Azami, A. Gennari 122 a.a. 2010-2011 Esempio: costruzione della curva COI Codice Giacenza media mensile [m3/mese] Popularity [1/m3] COI Prodotti Ordinati A 100 16 16/100 = 0,16 4° B 150 16 16/150 = 0,11 5° C 80 24 24/80 = 0,30 1° D 120 24 24/120 = 0,20 2° E 300 16 16/300 = 0,05 9° F 240 20 20/240 = 0,08 7° G 130 12 12/130 = 0,09 6° H 90 16 16/90 = 0,18 3° I 100 8 8/100 = 0,08 8° TOT 1.310 152 In questo caso i dati di popularity e giacenza ci vengono forniti ma normalmente andranno calcolati. Ordiniamo in seguito gli indici COI in senso decrescente → In questo modo avremo l’istogramma ordinato dal più grande al più piccolo valore di COI, con in ascisse la giacenza cumulata ed in ordinata la popularity cumulata. A. Acquaderni, A. Azami, A. Gennari 123 a.a. 2010-2011 Codici ordinati % Giacenza % Giacenza cumulata % Popularity % Popularity Cumulata C 6,11 % 6,11 % 15,79 % 15,79 % D 9,16 % 15,27 % 15,79 % 31,58 % H 6,87 % 22,14 % 10,53 % 42,11% A 7,63 % 29,77 % 10,53 % 52,64 % B 11,45 % 41,22 % 10,53 % 63,17 % G 9,92 % 51,15 % 7,89 % 71,06 % F 18,3 % 69,47 % 13,16 % 84,22 % I 7,63 % 77,10 % 5,26 % 89,48 % E 22,9 % 100 % 10,53 % 100 % Se il grafico mostra andamenti strani e la curva non è esattamente convessa e “tangente” allora vuol dire che abbiamo sbagliato qualcosa. Dobbiamo ora suddividere in classi: • Classe A (20%): metto C + D e forse anche H • Classe B (60%): → A, B, G • Classe C (100%): → F, I, E Suddivido ora il magazzino in 3 zone I con la classe A, II con B, III con C → dividerò la Classe A in 290 m3, B in 380 m3, C in 640 m3. Finora abbiamo visto l’allocazione per popularity: • Allocazione per classi: → popolarità (frequenza di visita) → prodotti con elevata popularity e che appartengono alla stessa classe. • Allocazione per correlazione → Complementarietà → Prodotti che appartengono allo stesso ordine devono essere vicini. Allocazione per Correlazione Non alloco più per classi ma per famiglie di prodotti che rispondano al criterio di complementarietà (metodo del Diem) → partendo dalle famiglie di prodotti devo guardare le liste di priorità per avere maggiori funzionalità per l’unità di carico frazionata così il prelievo viene favorito. Devo individuare la configurazione ottimale. Si crea una matrice di incidenza con Ordini in ascisse e Parti in ordinate. La matrice conterrà: 1 - Se la parte i è contenuta nell’ordine k 0 - altrimenti A. Acquaderni, A. Azami, A. Gennari 124 a.a. 2010-2011 Partendo dalla matrice di incidenza applichiamo gli indici di similarità, divisi in 2 tipi: • General Purpose: possono essere utilizzati gli stessi per la generazione delle famiglie di prodotti • Problem Oriented: si fa fatica ad applicare Gupta e Seiffodini perché il tempo dedicato alla lavorazione di un componente non influisce sulla posizione del magazzino → è stato creato un indice ad hoc problem oriented per la risoluzione di problemi di order picking → SFC = Similarity Frequency & COI index L'SFC considera 2 elementi: uno legato al COI e uno rappresenta la frequenza delle movimentazioni congiunte → vado ad individuare un fattore da collocare all’interno dell’indice che ci permette di individuare i prodotti che appartengono allo stesso ordine. SFC = a 1 a ⋅bc 4 aijk = 1 se i e j appartengono all’ordine k 0 altrimenti → a = Σ aijk = somma degli ordini in cui sono presenti sia i che j bijk = 1 se i appartiene a k 0 altrimenti A. Acquaderni, A. Azami, A. Gennari 125 a.a. 2010-2011 → b = Σ bijk somma degli ordini in cui è presente solo i cijk = 1 se j appartiene a k 0 altrimenti → c = Σ cijk = somma degli ordini in cui è presente solo j Andiamo a calcolarci il COI del prodotto i-esimo e j-esimo (COI i e COIj) e prendiamo il minimo fra COIi e COIj sia a numeratore che a denominatore nel calcolo dell’SFC, ossia: SFC = min [COI i ; COI j ] ⋅ 1 max[COI i ;COI j ] a ⋅bc 4 a Il rapporto fra questi due minimi è pari ad 1 quando COI i è simile a COIj Partendo dalla formula vado ad applicare la matrice di similarità → applico algoritmi di clustering → Ottengo famiglie di prodotti. Finora abbiamo solamente queste famiglie ma non sappiamo chi abbia la precedenza per essere disposto a magazzino, più o meno vicino alla zona di I/O Lista delle priorità • Cluster based (maggior priorità ai cluster con minor numero di elementi → più vicini a I/O i cluster con meno prodotti) • Cluster COI based (maggior priorità ai cluster con COI maggiore → più vicini a I/O i cluster con COI maggiore. Per calcolarlo, faccio la sommatoria delle popularity fratto la sommatoria delle giacenze medie dei prodotti nel cluster, in via meno indicata potrei calcolare una media dei COI. A. Acquaderni, A. Azami, A. Gennari 126 a.a. 2010-2011 10/05/2011 Allocazione della merce a magazzino: • Allocazione per classi → Si sfrutta un indicatore COI = Popularity / Giacenza media → in base al COI si definiscono 3 classi A, B, C. I prodotti A vanno messi più vicini alla zona di I/O • Allocazione per correlazione → si dividono i prodotti in famiglie all’interno delle quali ci devono essere prodotti simili tra loro e tale similarità dipende da indici di similarità che possono essere General Purpose, per ricavare una matrice ProdottiOrdini, o Problem Oriented come l’SFC che ingloba nell’analisi anche il COI. SFC = min [COI i ; COI j ] ⋅ 1 max[COI i ;COI j ] a ⋅bc 4 a Se consideriamo il turn non rischiamo di mettere in zona A le merci che si muovono poco min[ TURN i ; TURN j ] min[COI i ; COI j ] → al posto di max [TURN i ; TURN j ] max [COI i ; COI j ] Ora che abbiamo stabilito come allocare le merci, vediamo quali sono gli altri aspetti per organizzare il magazzino. Parametri progettuali Nel considerare questi parametri, dobbiamo fare riferimento anche all’area di stoccaggio. • Fattore di forma (nel nostro caso siamo di fronte ad un “prato verde”, partiamo da base 0) → rapporto tra profondità e fronte del magazzino. Generalmente si prende un rapporto profondità / fronte = 1 : 2 (in alcuni casi anche 1 : 1 → quadrato) • Longitudinale o trasversale può essere la disposizione delle scaffalature: con scaffalature longitudinali i corridoi, e quindi le scaffalature, sono perpendicolari al fronte, in caso trasversale sono paralleli. Il vantaggio della configurazione longitudinale è che se il punto di I/O è sul fronte il carico e lo scarico avvengono più facilmente ma il numero di corridoi aumenterà, i magazzini trasversali invece sono più profondi e meglio adatti nel caso di carrelli automatizzati (magazzini automatizzati) • Politiche di assegnazione dei vani: o generiamo delle classi di prodotti, o delle famiglie di prodotti. In ogni caso questi gruppi vanno assegnati ai vani, secondo 2 politiche: ◦ Zig zag → prevede di collocare la merce a partire dal 1° corridoio nell’angolo in basso a sinistra, poi lo si riempe tutto andando a salire, dopodiché si passa al 2° corridoio, iniziando però dall’alto, infine scendo e comincio il 3° dal basso, ecc.. (formando così una serpentina). A. Acquaderni, A. Azami, A. Gennari 127 a.a. 2010-2011 ◦ Strisce parametriche → si va a stabilire un parametro (a) che indica l’altezza della striscia di riferimento (può essere alta come una campata o anche maggiore) → Si parte riempiendo le strisce coi prodotti partendo dalla prima e proseguendo per strisce successive. Conviene prendere il parametro “a” coincidente con l’altezza della campata. • Politica di prelievo (instradamento): ◦ Traversal → prevede che i corridoi siano a senso unico → non si può tornare indietro nello stesso corridoio → corridoi monodirezionali che prevedono una zona di manovra, alla fine del corridoio, per passare da un corridoio al successivo. Vantaggio della configurazione è che si può sfruttare un beneficio di riduzione dei corridoi, si può ridurre la larghezza dei corridoi e si abbattono le congestioni ed i problemi di traffico, non è però la soluzione migliore dal punto di vista della distanza percorsa (aumentano i metri percorsi) ◦ Return → parto da un qualunque punto del corridoio, prelevo la merce dal vano A. Acquaderni, A. Azami, A. Gennari 128 a.a. 2010-2011 e posso ritornare all’interno dello stesso corridoio → Vantaggio è nella riduzione delle distanze percorse (↓↓ costi movimentazione). Svantaggio è nella necessità di corridoi larghi per permettere la manovra dei carrelli a causa delle forche. Una volta progettate le scaffalature e le politiche di assegnazione della merce, possiamo andare a classificare la bontà del nostro progetto. KPI (Key Performance Indicator): • • • • Distanza percorsa per ogni ordine [m/ordine]*[€/m] → [€/ordine] → Distanza totale percorsa → € totali Numero di corridoi visitati dal carrello per evadere un ordine. Più alto è il numero, maggiori sono la distanza ed il costo Rapporto tra il numero di prodotti costituenti un ordine e il numero di corridoi visitati per evadere l’ordine (la distanza percorsa per il prelievo di ogni ordine; un valore elevato di questo indice rappresenta una situazione favorevole in termini di distanze percorse, cioè molto basse) Densità delle chiamate di prelievo per le diverse aree di stoccaggio [Software per la simulazione ed il dimensionamento delle aree di stoccaggio (vedi allegato 14370 La progettazione e il controllo di sistemi flessibili di order picking da pagina 19 fino a 24) ]. A. Acquaderni, A. Azami, A. Gennari 129 a.a. 2010-2011 Esercizio di progettazione area di stoccaggio picking Siano dati 9 prodotti che vengono gestiti mediante Order Picking, di cui si riportano le giacenze medie in [m3] relative al un orizzonte prefissato di un mese. Sono noti inoltre gli ordini relativi ad 1 settimana di lavoro (che si considerano rappresentativi degli ordini mensili), con le rispettive quantità richieste per ogni riga d’ordine, come riportato nella 2 a tabella. Si chiede di progettare il magazzino di picking, che garantisca di contenere le giacenza media totale, utilizzando il metodo di allocazione per classi e il metodo di correlazione attraverso l’indice di similarità SFC. La progettazione sia svolta per strisce parametriche, con politica di instradamento policy return, fattore di forma del magazzino pari a 0,5. Si consideri il magazzino costituito da 1 solo livello di giacenza, con moduli base della dimensione riportata in figura, con 3 pallet allocati di punta. Si considerino le dimensioni dell’UdC pari a 800 x 1.000 x 950 [mm]. Si consideri la zona di Input/Output localizzata lungo il lato che rappresenta la larghezza dell’edificio (lato più lungo). Calcolare la distanza totale percorsa da un carrello per il prelievo del materiale che serve per evadere tutti gli ordini e il corrispondente costo di movimentazione, considerando un costo unitario di movimentazione di 0,02 €/m. Codice Prodotto Giacenza media mensile [m3] A 10 B 15 C 8 D 12 E 30 F 24 G 13 H 9 I 10 TOT 131 m3 Fisicamente si va a magazzino e si fa una fotografia → lo si può fare quotidianamente, settimanalmente o mensilmente, ma più ampio è l’orizzonte temporale, minore sarà la precisione della giacenza media determinata. A. Acquaderni, A. Azami, A. Gennari 130 a.a. 2010-2011 Conosciamo le dimensioni di Udc (800 x 1.000 x 950 h) [mm]. Va collocata di punta. Abbiamo un modulo base costituito da 2 vani separati dal corridoio. Essendo le Udc collocate di punta, in ogni vano ce ne stanno 3 → 6 UdC totali (2 se fossero collocate di lato → 4 UdC totali). Il corridoio è largo circa 2.000 mm, il lato lungo del modulo di base è 4.000 mm, il lato corto di 3.000 mm (il disegno non è in proporzione inoltre il carrello nel disegno è bilaterale mentre nell’esercizio no). Nel nostro caso il corridoio è di 2.000 mm ma per una politica Return non sarebbe pienamente sufficiente, pertanto viene riservata all’ingegnere l’ultima misura da stabilire. Modulo di base → 3.000 * 4.000 Fattore di forma = 0,5 → Profondità / Forma = 0,5 A. Acquaderni, A. Azami, A. Gennari 131 a.a. 2010-2011 → la merce viene collocata solo su 1 livello Progettazione: per strisce parametriche ed una politica d’instradamento Policy Return. Partiamo con il dimensionamento del magazzino. Consideriamo un’area che mi permetta di trovare la giacenza totale media → PR = Σ GMEDIE Il totale delle giacenze medie (dalla prima tabella) era 131 m 3 → in via cautelativa consideriamo un incremento del 10 % rispetto ai m3 → 131 * 1,1 = 144,1 m3 Considerato che in 1 modulo base (MB) stanno 6 Udc, cerchiamo il volume del MB e quindi il volume utile del MB UdC → 800 * 1.000 * 950 Volume UdC = 0,8 * 1 * 0,95 = 0,76 m3 6 UdC x MB = volume utile MB = 0,76 * 6 = 4,56 m3 Giacenza richiesta (PR) = 144.1 m3 Numero MB necessari = 144,1/4,56 = 31,6 MB → 32 MB necessari Area di stock = 32 * Area di 1 MB = 32 * (3.000 * 4.000 mm) = 32 * 12 = 384 m 2 Per calcolare le dimensioni infine del magazzino complessivo ( → profondità e larghezza) devo considerare i fattori di forma P = 0,5 * L → L = 2 * P (dove 0,5 e 2 sono i fattori di forma) L * P = 384 m2 2P * P = 2P2 = 384 m2 P = √(384/2) = 13,85 → 14 [m] → L = 2 * P = 2 * 14 = 28 [m]. A. Acquaderni, A. Azami, A. Gennari 132 a.a. 2010-2011 12/05/2011 Continua da esercizio lezione precedente. Nel modulo base bisognerà considerare tutti i giochi, ossia quelli fra pareti ed Udc, del corridoio, del soffitto e dei montanti. Nella misura di 3.000 * 4.000 dell’area base queste misure sono già incluse. La potenzialità ricettiva è pari alla somma delle giacenze medie dei vari prodotti e corrisponde a 131 m3. E’ buona regola dimensionare la potenzialità ricettiva con un coefficiente di sicurezza, ad esempio del 10%, supplementare→ otteniamo così 144,1 m 3. Abbiamo calcolato il numero di MB: numero MB = 144,1 / Volume utile MB = 144,1 / 4,56 = 31,60 → 32 MB Volume utile MB = 0,76 * 6 = 4,56 m3 Area stoccaggio = 32 * 12 = 384 m2 Dai calcoli risulta P = 13,85 m Se rispettassi P = 13,85 13,85 / 3 = 4,6 → 5 MB Pr = 5 * 3 = 15 m → P * L = P * 2P = 15*30 = 450 m 2 che sono troppi rispetto ai nostri 384 m2 necessari. In 15 m saltano fuori 30/4 corridoi = 7,5 → 8 corridoi → 8 MB lungo la campata e 5 MB lungo la profondità → 5 campate e 8 corridoi → 5 * 8 = 40 MB ognuno dei quali occupa 4,56 m2 → 182,4 m3 che sono molti di più rispetto ai necessari. Il problema è che se arrotondo da una parte devo per forza correggere dall’altra → O fisso P e calcolo L o il contrario. Se calcolo P = 15 → per rispettare il fattore di forma di 0,5 impongo L = 30 m. Se non arrotondassi avrei P = 13,85 → L = P * 2 = 27,70 → per vedere quante corridoi ho 27,70/4 = 6,9 → 7 corridoi → 4 [m/corridoio] * 7 = 28 m → Area = 15 * 28 = 420 m 2 → Riassumendo abbiamo ipotizzato P = 13,85 → per calcolare il n° di campate dividiamo per la larghezza del modulo base = 3 m → 13,85/3 = 4,6 → devo arrotondare a 5 campate → correggo P che verrà in realtà 5 * 3 = 15 m. Se rispettassi il fattore di forma otterrei L = 30 m in cui ci stanno 30/4 = 7,5 → 8 corridoi che sono troppi (ottengo un’area di 30 * 15 = 450 m 2 quando dai calcoli precedenti me ne bastavano 384) → Trascuriamo parzialmente il fattore di forma → se P = 13,85 allora L = 2P = 27,70 → n°corridoi = 27,70/4 = 6,9 → 7 corridoi di 4 m l'uno → 7 * 4 = 28 m totali. Assumendo come valido il ragionamento fatto per P ( → P = 15 m) otteniamo Area Totale = 15 * 28 = 420 m2. A. Acquaderni, A. Azami, A. Gennari 133 a.a. 2010-2011 L’esercizio chiedeva di applicare una politica di picking di tipo return. Allocazione per classi → COI → Popularity frequenza di prelievo COI Cube Order Index = [ ] 3 Giacenza Media m UdT [ ] 1 UdT = [ ] 1 m3 Ora però bisogna ricavare la popularity → Guardiamo tutti gli ordini in un certo intervallo di tempo e vediamo quante volte ogni prodotto è stato richiesto (vedi tabella di sopra) Andiamo a vedere dalla tabella grande (codice ordini, prodotto, quantità), ogni prodotto quante volte viene ripetuto → lo mettiamo in tabella come popularity settimanale, poi moltiplichiamo per 4 per trovare quella mensile Codice prodotto Popularity settimanale Popularity mensile A 4 16 B 4 16 C 6 24 D 6 24 E 4 16 F 5 20 G 3 12 H 4 16 I 2 8 A. Acquaderni, A. Azami, A. Gennari 134 a.a. 2010-2011 Ora per ogni prodotto abbiamo sia la popularity sia la giacenza media (tabella lezione precedente) → troviamo il COI Codice Prodotto COI A 1,60 = 16/10 B 1,07 C 3 D 2 E 0,53 F 0,83 G 0,92 H 1,78 I 0,80 Codici in ordine di COI decrescente Giacenza media m3 / mese Popularity mensile % Giacenza % Cumulata giacenza % Popularity % Cumulata Popularity C 8 24 6,11 6,11 15,79 15,79 D 12 24 9,16 15,27 15,79 31,58 H 9 16 6,78 22,14 10,53 42,11 A 10 16 7,63 29,77 10,53 52,63 B 15 16 11,45 41,22 10,53 63,16 G 13 12 9,92 51,15 7,89 71,05 F 24 20 18,32 69,47 13,16 84,21 I 10 8 7,63 77,10 5,26 89,47 E 30 16 22,90 100 % 10,53 100% La %Giacenza si trova dividendo la giacenza del singolo prodotto per la somma di tutte le giacenze (es. %Giacenza C = 8/131 = 6,11); così anche per la %Popularity. Volendo suddividere le classi secondo un pareto C, D, H costituiscono la classe A mentre A, B, G la classe B ed infine F, I, E la classe C in base alla giacenza cumulata (A fino al 22%, B fino al 51% e C il restante). Per trovare il n° di MB dividiamo la giacenza media per classe per il volume di merce contenuta in un MB (4,56 = 1*0,8*0,95*6), poi arrotondo per eccesso. Per trovare il n° Campate dividiamo il numero appena ottenuto per 7 che è il numero di MB che abbiamo (7 x 5) A. Acquaderni, A. Azami, A. Gennari 135 a.a. 2010-2011 Giacenza media totale per classe [m3] n° MB = n° Corridoi n° Campate Area [m2] Classe A → (C-D-H) 29 29/4,56 = 6,36 → 7 7/7 = 1 7*12 = 84 Classe B → (A-B-G) 38 38/4,56 = 8,33 → 9 9/7 = 1,29 9*12 = 108 Classe C → (F-I-E) 64 64/4,56 = 14,04 → 15 15/7 = 2,14 15*12 = 180 Calcolando il numero di campate, dopo aver calcolato il n° di moduli base, non arrotondo (ad esempio 9/7 = 1,29 non arrotondato a 2) perché ho già arrotondato nel n° di corridoi/moduli base. A questo punto la locazione è stata fatta, possiamo andare a capire come eseguire l’assegnazione all’interno delle singole classi. Dentro la prima campata posso collocare i prodotti C, D, H in modo random. L’unica cosa che possiamo prestabilire potrebbe essere di fare in modo che i prodotti di tipo B vengano posizionati tutti vicini all’interno della classe, per la modularità. Allocazione per correlazione → indice di similarità SFC → SFC = min [COI i ; COI j ] min[ TURN i ;TURN j ] a ⋅ = ⋅ 1 max[COI i ;COI j ] 1 max [TURN i ;TURN j ] a ⋅bc a ⋅bc 4 4 a A. Acquaderni, A. Azami, A. Gennari 136 a.a. 2010-2011 TURN i= Movimentazione di i nell ' unità di tempo = Giacenza media di i nell ' unità di tempo [ ] [ ] m3 mese 3 m mese Movimentazione settimanale di A = 0,5 + 0,35 + 0,15 + 0,15 = 1,15 [m 3/settimana] * 4 (mensile) = 4,6 [m3/mese] Ora per calcolarci il Turn dividiamo il risultato appena trovato per la giacenza media di ogni prodotto (sempre dalla tabella della lezione precedente): Codice Prodotto Movimentazione TURN A 4,6 4,6/10 = 0,46 B 6,6 6,6/15 = 0,44 C 8,8 8,8/8 = 1,1 D 7,72 7,71/12 = 0,64 E 3,32 0,11 F 3,92 0,16 G 4,28 0,33 H 7,24 0,80 I 2,24 0,22 Per calcolare il nostro SFC, dobbiamo prendere i prodotti a coppie, considerando che a = n° di ordini in cui i prodotti A e B sono presenti contemporaneamente = 1 (Ordine n° 1) b = n° di ordini in cui è presente solo A = 3 (Ordini n° 2, 4, 8) c = n° di ordini in cui è presente solo B = 3 (Ordini n° 3, 5, 6) d = n° di ordini in cui non si ha né A né B = 1 (Ordine n° 7) SFC AB = min[0,46 ; 0,44] ⋅ =0,382 1 max [0,46 ; 0,44] 1 ⋅33 4 1 Effettuo ora il calcolo per tutte le altre coppie, ne risulta la matrice di similarità: A. Acquaderni, A. Azami, A. Gennari 137 a.a. 2010-2011 Dalla matrice di similarità applichiamo l’algoritmo S-link ed otteniamo cosi il dendogramma: Decidiamo di tagliare al 45° percentile → 9-1 = 8 = n° di nodi 0,45 * 8 = 3,6 taglio a → 3 → simil {3} = 0,544 → 4 → simil {4} = 0,536 Il cluster 1 è dato dal prodotto A, il 2° è dato dal prodotto di D, H, C, il 3° da B, G, il 4° da I, il 5° da E ed il 6° da F. Clusters Lista di priorità COI A 1° 1,6 D, H, C 6° ricalcolato = 2,2 B, G 5° ricalcolato = 1 I 2° 0,8 E 3° 0,53 F 4° 0,83 → Ordiniamo per COI decrescente → Clusters riordinati Giacenze [m3/mese] MB necessari N° Campate Area [m2] D, H, C 29 29/4,56 = 6,37 → 7 7/7 = 1 7*12 = 84 A 10 10/4,56 = 2,19 → 3 3/7 = 0,43 36 B, G 28 6,14 → 7 7/7 = 1 84 F 24 5,26 → 6 0,86 72 I 10 2,19 → 3 0,43 36 E 30 6,58 → 7 1 84 A. Acquaderni, A. Azami, A. Gennari 138 a.a. 2010-2011 → Cluster 1 occupa 7 moduli base → CL1 (D, H, C) = 7 MB CL2 (A) = 4 MB CL3 (B, G) = 7 MB CL4 (F) = 6 MB CL5 (I) = 3 MB CL6 (E) = 7 MB A. Acquaderni, A. Azami, A. Gennari 139 a.a. 2010-2011 16/05/2011 Continuiamo l’esercizio della volta precedente: mancava il calcolo della distanza totale di movimentazione, le distanze percorse nelle 2 diverse modalità di allocazione (classi e correlazione) per poi arrivare a verificare quale fosse la modalità migliore. Nel testo i dati fornivano il valore del costo unitario di metri percorsi → [€/m] → ora cerchiamo le distanze da moltiplicare per questo valore. Partiamo dal caso di allocazione per classi: Riprendiamo la divisione del magazzino nelle varie campate, per i prodotti. Avevamo 5 campate; il cluster 1 occupava 7 moduli base e comprendeva i prodotti C, D, H. La politica utilizzata è di tipo random quindi è difficile risalire alla posizione corretta dei prodotti all’interno della campata però, per il confronto tra i metodi, ho bisogno di più precisione possibile perché più sarò preciso, più sarà valida la comparazione tra i metodi. → Vediamo quanti moduli base richiede ogni prodotto nella campata: Ogni modulo base ha un’area di 4,56 [m3] Prodotto C → Giacenza media = 8 [m3] → 8/4,56 = 1,75 → 2 MB Prodotto D → Giacenza media = 12 [m3] → 12/4,56 = 2,63 → 3 MB Prodotto H → Giacenza media = 9 [m3] → 9/4,56 = 1,97 → 2 MB Potrebbe capitare che, arrotondando il n° di MB per ogni prodotto, risulti un n° di MB maggiore del n° di MB della campata intera. A. Acquaderni, A. Azami, A. Gennari 140 a.a. 2010-2011 A sinistra abbiamo uno schema di allocazione per correlazione, a destra invece di allocazione per classi. Partendo dall’angolo in basso a sinistra, abbiamo dunque 2 MB di prodotto C, poi 3 di prodotto D, e infine gli ultimi 2 di prodotto H, in modo da riempire tutta la campata fino in fondo (classe A). In via semplificativa consideriamo un unico punto di prelievo per ogni prodotto; questo punto sarà nel baricentro della zona in cui il prodotto è stoccato → Prendiamo come punto di prelievo del prodotto C il corridoio centrale del secondo MB da sinistra; ogni qualvolta dovremmo prelevare il prodotto C, lo faremo da quel punto mentre per il prodotto D il baricentro, essendo 3 moduli, è nel mezzo del corridoio centrale, per il prodotto H il baricentro geometrico sarebbe tra le scaffalature ma lo spostiamo più a sinistra e lo mettiamo al centro del primo corridoio dei 2 (6° corridoio). Andiamo a posizionare ora i prodotti della classe B: Prodotto A → Giacenza media = 10 [m3] → 10/4,56 = 2,19 → 3 MB Prodotto B → Giacenza media = 15 [m3] → 15/4,56 = 3,28 → 4 MB Prodotto G → Giacenza media = 13 [m3] → 13/4,56 = 2,85 → 3 MB → in totale 10 MB che sono più dei 9 previsti → potrei considerarne 10 ed occupo una parte di quei 4 MB che erano rimasti liberi ma la scelta migliore non è prendere l’intero superiore, ma i “mezzi”, le metà dei MB (ci sarà un MB che sarà riempito per metà di un A. Acquaderni, A. Azami, A. Gennari 141 a.a. 2010-2011 prodotto e per metà di un altro), infatti: Prodotto A → 2,19 → 2,5 MB Prodotto B → 3,28 → 3,5 MB Prodotto G → 2,85 → 3 MB (come prima) Procederemo quindi nell’assegnare i MB ai vari prodotti. Come prima, cerco dei punti di riferimento per il prelievo dei singoli prodotti → Per il prodotto A il baricentro sarà nel 6° corridoio (quello centrale dei 3), per B sarà nel 3° corridoio, e per G sarà nel punto medio tra il 1° corridoio e la 2 a campata, e tra le 2 scaffalature rimaste di G sulla 3a campata → il baricentro sarà nel 1° corridoio, a metà tra la 2a e 3a campata. Questo perchè faccio la media tra i baricentri di 2 rettangoli, essendo che il prodotto G è disposto non solo su una, ma su due campate diverse. Andiamo a posizionare ora i prodotti della classe C: Prodotto F → Giacenza media = 24[m3] → 24/4,56 = 5,26 → 5,5 MB Prodotto I → Giacenza media = 10 [m3] → 10/4,56 = 2,19 → 2,5 MB Prodotto E → Giacenza media = 30 [m3] → 30/4,56 = 6,57 → 7 MB considerando i MB divisi a mezzo per 2 prodotti, come prima. Ora assegniamo ai MB i prodotti e troviamo i vari baricentri, come già visto per le altre classi. Vediamo che avanzano 4 MB che rimangono vuoti. Il baricentro di F sarà nel punto medio tra il punto sulla 3 a campata e il 5° corridoio, e quello sulla 4a campata e il 7° corridoio → 6° corridoio, a metà tra 3 a e 4a campata; il baricentro del punto I sarà sulla 4a campata e nel 6° corridoio; quello del punto E sarà nel 2° corridoio, tra la 5a e la 6a campata, sempre usando il procedimento del punto medio. Vediamo ordine per ordine quanti metri occorrono per evaderli; obiettivo è che siano evasi nel minor tempo possibile e percorrendo meno metri possibile. E’ anche un problema di sequenziamento dei prelievi → a seconda di come sono disposti i prodotti il carrello dovrà fare un determinato giro piuttosto che un altro → determiniamo la sequenza di prelievo per ogni ordine affinché il costo totale di prelievo di quell’ordine sia minimo. E’ un problema di ottimizzazione (TSP Travelman Sales Person) dei percorsi ma andrebbe fatto via software perché manualmente sarebbe troppo difficile → lo facciamo “ad occhio”. Dobbiamo rispettare certi vincoli (o gradi di libertà) • Politica di instradamento return (grado di libertà in più perché si può tornare dallo stesso corridoio) • Capacità del mezzo (stabilità, peso) / Unità di prelievo (volume, peso) → in questo caso supponiamo di prendere dei mezzi che vadano bene per tutti i pesi e le unità di carico in questione. Ogni ordine deve essere evaso stando nei vincoli della capacità del mezzo e dell’unità di prelievo. Ordine 1 → A, B, D, E → la sequenza migliore è quella che permette di prelevare i singoli prodotti partendo e tornando da/a I/O → a occhio potrebbe essere A→D→B→E→ • I/O → A = 8 m in orizzontale (2 MB da 4 m l’uno) + 3 m (altezza MB) in verticale + 1,5 in verticale (il baricentro è a metà campata → 0,5 * 3 = 1,5 m) = 12,5 m • A → D = 12,5 precedenti + 1,5 in verticale per andare a prendere D = 14 m A. Acquaderni, A. Azami, A. Gennari 142 a.a. 2010-2011 • D → B = 1,5 verticale + 4 orizzontale + 5,4 verticale = 10 m • B → E = 10,5 verticale + 4 orizzontale + 3 verticale = 17,5 m • E → I/O = 12 verticale + 8 orizzontale = 20 m → Totale Ordine 1 = 74 m Procedo in maniera equivalente per gli altri ordini → otteniamo 532 [m/settimana] (i dati sugli ordini sono tutti riferiti ad una settimana). → 532 [m/settimana] * 0,02 [€/m] = 10,64 [€/settimana] → 10,64 * 48 [settimane/anno] = 510,72 [€/anno]. Nel caso dell’allocazione per correlazione si ottiene un valore finale di 509 [m/settimana] → 488,64 [€/anno]. → Risulta conveniente l’allocazione per correlazione. In ogni caso ci si rende conto di quanto incidano i costi di trasporto che sono già alti per solo 9 prodotti. Con questo l’argomento picking è chiuso. A. Acquaderni, A. Azami, A. Gennari 143 a.a. 2010-2011 Logistica distributiva La logistica distributiva è l’area, interna al sistema logistico, finalizzata alla corretta gestione delle attività che permettono ai prodotti di raggiungere i punti di domanda finali. Mission: garantire il miglior trade-off tra: • Livello di servizio consegnato • Efficienza operativa e di costo Abbiamo visto la logistica inbound e la gestione dei flussi relativi ai fornitori ( → lotti economici congiunti e consignment stock), ora vediamo come avviene la consegna al cliente finale dell’oggetto della nostra progettazione. E’ un passaggio tutt’altro che banale poiché incide sui costi totali del prodotto finito per il 20-30%. Un abbassamento di queste percentuali porterebbe grossi guadagni → Cerchiamo di individuare la miglior configurazione tra livello di servizio ed efficienza della nostra distribuzione per fare in modo che il mercato sia soddisfatto, ovvero che riceva il prodotto giusto, nei tempi giusti, con il mix giusto, con le quantità e le caratteristiche qualitative richieste e, per minimizzare il costo totale, effettuando una efficiente distribuzione del mio prodotto (costi di produzione e stoccaggio, costi di trasporto, costi di installazione e CEDI → centri di distribuzione). Dobbiamo quindi individuare una rete di distribuzione che abbia l’obiettivo di minimizzare la somma di questi costi. Questa rete è costituita da diversi livelli/stadi: • Production plant (es. azienda) • Distribution Center (es. magazzino intermedio) • Point of Demand (es. supermercato) L'organizzazione della rete logistica serve per individuare quali sono i punti di domanda che devo soddisfare e dove organizzare quindi i centri di distribuzione. Nasce la necessità di strutturare dunque questa rete logistica. Pianificare la rete di distribuzione significa andare a considerare gli attori della rete e andare a stabilire dove questi attori devono collocarsi, ma soprattutto cosa devono fare e definire le loro capacità. Tutto ciò richiede una strategia di lungo periodo. Tale strategia / framework progettuale prevede 3 steps: • Strategic planning (riferimento temporale di 2-3 anni → piano di produzione → stabilire quali siano gli attori e collocarli dal punto di vista geografico, inoltre e soprattutto assegnargli una capacità previsionale) ◦ Individuare gli attori della catena distributiva ◦ Collocarli geograficamente nei diversi luoghi in cui ho necessità di produrre e consegnare ◦ Allocazione della capacità (produttiva o di stoccaggio o di ricevere, dal punto di vista del cliente, i prodotti che qualcuno sarà in grado di realizzare) • Tactical planning (si parte dalla pianificazione di lungo periodo e si disaggregano alcuni dati con un intervallo di tempo “medio” tra 6 mesi e 1 anno) → Allocazione A. Acquaderni, A. Azami, A. Gennari 144 a.a. 2010-2011 degli attori e delle capacità senza considerare il tempo • Operational planning (orizzonte temporale basso → da 1 settimana a 1 mese, dati disaggregati → si conosce la domanda che deve essere soddisfatta nel breve periodo → si deve stabilire quale sia il cliente da servire da un determinato viaggio e da un determinato centro di produzione e di distribuzione; bisogna inoltre stabilire i percorsi di distribuzione → devo rispondere al problema del “milk run” (giro del latte). Pianificazione strategica Vengono utilizzati strumenti che fanno riferimento al Location and Allocation Problem → LAP. Consiste nell’andare a stabilire quale sia la migliore progettazione di una rete distributiva a diversi livelli e diversi stadi I livelli sono rappresentativi dei diversi attori della supply chain (es. impianto produttivo livello 0, magazzino centrale livello 1, magazzini periferici livello 2, ecc). Gli stadi invece rappresentano il passaggio tra un livello ed il suo successivo → n° stadi = n°livelli - 1 Dobbiamo progettare dunque il n° di magazzini centrali e la loro locazione, ed il n° di magazzini periferici e la loro locazione; conosciamo invece i clienti ed il produttore. Possiamo mettere in discussione anche la locazione di nuovi impianti produttivi, altrimenti ci concentriamo solo sulla locazione di magazzini. Criticità del modello LAP • • • • • • Fanno riferimento ad orizzonte di pianificazione mono-periodo o multi-periodo (tanti periodi frazionati rispetto al periodo di riferimento) Omogeneità/non omogeneità del flusso: Single-commodity vs multi-commodity → dobbiamo distribuire un singolo prodotto o prodotti di tipo diverso? Spesso si è in caso di multi-commodity Tipologie di nodo logistico: mono tipo vs multi tipo (clienti, impianti produttivi, impianti distributivi, etc) Numero di stadi Frazionabilità vs non frazionalbilità della domanda → se posso frazionarla, vuol dire che posso consegnare allo stesso cliente da diversi CEDI o devo farlo da uno unico) Modalità di trasporto: full load vs collegamenti multipli Dobbiamo analizzare quindi un modello di programmazione lineare intera (PILM) che ci consente di ottenere una soluzione che minimizza i costi della rete logistica. Questa si baserà su una funzione obiettivo, che sarà quella di minimizzare i costi. Avrò una serie di variabili da individuare (chi sono gli attori, dove sono collocati e dove devono distribuire), e una serie di vincoli (problema fisico di collocamento di materiali, di flusso in entrata/uscita → quello che esce non può essere maggiore di quello che entra e viceversa). Uno dei costi da minimizzare è il costo di trasporto, utilizzeremo questo fattore per ottimizzare il sistema; altro strumento che usiamo è il clustering → possiamo ottenere buoni risultati sul milk run (breve periodo). Devo stabilire come raggruppare la A. Acquaderni, A. Azami, A. Gennari 145 a.a. 2010-2011 distribuzione ai clienti dallo stesso CEDI). Altri strumenti ancora sono gli algoritmi di vettoriamento ed instradamento. → Si utilizzano strumenti di ottimo che la ricerca operativa fornisce; d’altro canto non sempre questi strumenti sono utilizzabili perché più aumenta la complessità del sistema (più aumenta il numero di nodi, livelli, variabili) più aumenta la probabilità che la ricerca operativa, ed in particolare la Programmazione Lineare, non fornisca la soluzione ottima (per il semplice fatto dell’eccessivo n° di variabili) → nei casi in cui la Programmazione Lineare fallisce bisogna intervenire con l’Euristica. A. Acquaderni, A. Azami, A. Gennari 146 a.a. 2010-2011 17/05/2011 Una classificazione delle reti logistiche è mono-livello o multi-livello; altri parametri di classificazione fanno riferimento al n° di prodotti che scorrono nella rete o al periodo temporale (mono-periodo o multi-periodo → la domanda del cliente è divisa in frame temporali). Pianificazione strategica definisce chi sono gli attori e dove sono collocati → chi fa che cosa (chi apre un nodo e dove). Più si scende coi livelli maggiore sarà la capillarità. Pianificazione tattica fa riferimento anche alla dimensione temporale ed alla disponibilità di risorse. Pianificazione operativa → definizione dei clienti da servire e del come servirli → “milk run” e pianificazione della distribuzione. Obiettivo nella gestione della rete logistica resta la gestione delle esigenze del mercato. Il livello di servizio fa riferimento alle esigenze attuali del cliente → • Ampi mix produttivi • Lead Time bassi • Qualità • Flessibilità Dobbiamo strutturare la rete logistica secondo questi aspetti, in particolare per i primi 2. Oltre a rispettare il livello di servizio del cliente dobbiamo fare in modo che la nostra rete distributiva sia efficiente → Esigenze del mercato + Efficienza della rete determinano diverse combinazioni, quella ottimale è quella che minimizza il costo totale della rete logistica. I costi possono dividersi in: • costi di installazione dei nodi logistici • costi di trasporto • costi di stoccaggio Il trade-off tra un alto livello di servizio e la minimizzazione dei costi darà luogo alla migliore rete logistica. Classificazione della rete logistica Consegna diretta: Andiamo a saltare tutti i magazzini centrali, periferici, ecc → gli attori sono solo il produttore/fornitore e cliente finale (fisicamente i nodi logistici che si attivano sono solo quello del produttore e quello del cliente finale, ma il flusso informativo può essere gestito da un soggetto terzo che non è un nodo ma semplicemente un rappresentante). Le scorte sono collocate a casa del produttore e gestite da lui, non abbiamo livelli intermedi in cui collocarle. • [+] Vantaggi sono l’avere un’alta aggregazione delle scorte, un ampio mix A. Acquaderni, A. Azami, A. Gennari 147 a.a. 2010-2011 • • • • produttivo, e i bassi costi di installazione; [-] Forte svantaggio è il fatto che i lead time di consegna possono diventare molto elevati (LT ≥ tempo di consegna perché nella migliore delle ipotesi coincide solo con questo, nella peggiore bisogna aggiungerci anche il tempo di produzione), e che la gestione dei resi è molto complicata. Condizione necessaria di esistenza di questo sistema è la presenza di un cliente che possa attendere (e questo non è facile da verificare) Altra caratteristica riguarda il prodotto che è di valore elevato per cui il produttore produce solo quando il cliente lo richiede e non mantiene scorta → non ha capitale immobilizzato ma avrà lead time elevati E’ una configurazione che permette di gestire i problemi di ampio mix produttivo altamente personalizzato Produttori-clienti-azienda di trasporto: Prevede la presenza di tutte e tre le parti (produttori, clienti e azienda di trasporto), lo schema è simile a quello del caso precedente ma c’è in più la figura del trasportatore; rimane la figura del rappresentante (che gestisce il marketing) per quanto riguarda il flusso di informazioni e azienda produttrice con azienda di trasporti per quanto riguarda il flusso di materiali. Non c’è trasporto diretto tra produttore e cliente ma al trasporto ci pensa un addetto che può ottimizzare il proprio carico. Le scorte sono però sempre dal produttore ed a suo carico. • • [+] I vantaggi qui sono che si riducono i costi di trasporto rispetto alla consegna diretta; altro vantaggio è che la gestione dei resi viene semplificata [-] Anche in questo caso tra gli svantaggi vi sono i Lead Time che possono essere elevati, nonostante un buon interfacciamento con il trasportatore li limiti A. Acquaderni, A. Azami, A. Gennari 148 a.a. 2010-2011 Distribuzione tramite magazzino intermedio: Il vantaggio di introdurre un magazzino intermedio è fare in modo che i tempi di consegna siano ridotti. Avremo quindi dei singoli magazzini intermedi che faranno da area di stoccaggio e da centri di distribuzione verso i clienti. Potremo aprirne tanti quanti saranno necessari per poter garantire la distribuzione a tutti i clienti, secondo il trade-off descritto precedentemente (più ne apro più avrò una distribuzione capillare, ma più ne apro più costi avrò). Lo svantaggio di questa configurazione è sicuramente il fatto che aumentano i costi di installazione per l’infrastruttura, e quindi anche di gestione di questi, e un aumento dei costi di stoccaggio perché non avremo più un solo CEDI, ma dovrò frazionare le mie scorte lungo la catena, per i diversi centri. Altro svantaggio sarà la minor ampiezza del mix produttivo, diminuirà quindi il livello di servizio garantito al cliente; i vantaggi invece consistono in un abbassamento notevole dei Lead Time e di conseguenza dei costi di trasporto. Il numero ideale di CEDI che devono essere aperti ovviamente influenzerà i costi di trasporto e i Lead Time, quindi bisognerà bilanciare in maniera opportuna questo numero. • • [+] Vantaggi: Riduzione dei lead time di consegna e maggior capillarità [-] Svantaggi: Aumento dei costi fissi di installazione ed infrastruttura A. Acquaderni, A. Azami, A. Gennari 149 a.a. 2010-2011 Questa configurazione logistica è utilizzata solitamente dalla grande distribuzione (es. supermercati, aziende come Barilla, ma anche nel mercato degli elettrodomestici). Per i grandi supermercati abbiamo questo tipo di distribuzione: Pick-up point: Non abbiamo più la consegna diretta tra produttore e cliente ma vi è un ulteriore nodo logistico chiamato dettagliante, al quale il prodotto verrà consegnato dal CEDI, e dal quale il cliente potrà andare a prelevare la merce. L’azienda fa riferimento al proprio CEDI, in seguito passa al pick-up point dove infine il cliente preleverà la merce a lui necessaria. • • [+] Vantaggi sono nella riduzione dei lead time di consegna al cliente, dovuta alla capillarità concessa dai pick-up points. [-] Svantaggi sono nel mancato contatto diretto produttore cliente e nei costi di infrastruttura Questi sono i 4 modelli di riferimento della rete logistica ma non sono esclusivi l’uno dell’altro; l’azienda che progetta la propria rete logistica farà riferimento a questa classificazione ma probabilmente adatterà il proprio modello ad un mix tra questi. A. Acquaderni, A. Azami, A. Gennari 150 a.a. 2010-2011 Modelli di pianificazione della rete logistica 1. Consegna diretta Le variabili da considerare saranno il n° di impianti da aprire, la collocazione di essi e la loro capacità produttiva; non dobbiamo pensare a magazzini intermedi che non sono previsti da questo modello. Il dato di partenza / punto fisso è il cliente al quale dobbiamo consegnare i nostri prodotti. Ogni cliente è caratterizzato da una domanda D. Cliente 1 → D1 Cliente 2 → D2 Supponiamo di considerare “m” clienti situati in “m” zone geografiche diverse; ogni cliente “j” è caratterizzato da domanda Dj. m → Dj con j = 1, … , m “n” sono le zone potenziali dove aprire l’impianto produttivo; di questi impianti consideriamo la possibilità di avere diverse tipologie “q”, in base alla capacità produttiva. Se indichiamo con “i” gli indici relativi alla zona in cui viene aperto l’impianto, e “z” gli indici relativi al tipo di impianto: z = 1, … , q i = 1, … , n PCiz = Capacità Produttiva dell’impianto z nella zona/regione i fiz = Costi fissi di apertura/installazione di un impianto di tipo z nella regione i-esima cij = Costo variabile di produzione e trasporto dall’impianto i al cliente j (i = 1, 2, … , n; j = 1, 2, … , m) Con questi dati riusciamo a trovare la nostra F.O. (funzione obiettivo) che minimizzi i costi. Essa sarà funzione di certe variabili, e affinché si trovi la funzione di minimizzazione del costo, dobbiamo considerare anche i vincoli del sistema. Le variabili decisionali del problema sono: yiz = 1 se apro un impianto di tipo z nella zona i-esima 0 altrimenti xij = variabile decisionale che assume valori non negativi che indica le unità prodotte nell’impianto localizzato nell’area i che trasporto al cliente j. In particolare, tale variabile assume valori interi nel caso in cui la domanda dei clienti sia rappresentata da multipli interi dell’unità. F.O.: MIN [ n q n m ∑ ∑ f iz⋅y iz∑ ∑ c ij⋅x ij i=1 z=1 i=1 j =1 ] [la prima parte costituisce i costi fissi, l’ultima parte i costi variabili] 1.a Consegna diretta con domanda frazionata: Vincoli: • Soddisfazione della domanda dei clienti → Σni=1 xij = Dj con (j = 1, 2, … , m) A. Acquaderni, A. Azami, A. Gennari 151 a.a. 2010-2011 • • • Capacità produttiva degli impianti → Σmj=1 xij ≤ Σqz=1 PCiz * yiz con (i = 1, 2, … , n) Tipologia di variabili da considerare → yiz deve essere una variabile binaria → y iz ∈ {0; 1} con (i = 1, 2, … , n; z = 1, 2, … , q) xij = quantità che trasferisco dall’impianto al cliente devono essere maggiori di 0 → xij ≥ 0 con (i = 1, 2, … , n; j = 1, 2, … , m) 1.b Consegna diretta con domanda non frazionata: Se la domanda non è frazionabile, per fare in modo che il cliente 1 riceva la quantità per soddisfare effettivamente la domanda di 1, è necessario che quello che arriva a tale cliente provenga da un unico impianto produttivo di una zona i. Quello che cambia nel nostro modello è la variabile x ij, che ora non rappresenta più la quantità che trasferisco dall’impianto al cliente, ma diventa una variabile binaria: xij = 1 se l’impianto i-esimo serve il cliente j-esimo 0 altrimenti Di conseguenza il vincolo yiz non cambia → yiz ∈ {0; 1}; mentre xij cambia → xij ∈ {0; 1} In questo caso abbiamo un ulteriore vincolo → Σ mi=1 xij = 1, perché devo individuare un solo impianto produttivo che serva j. Posto così che a tutti i clienti arriva del materiale: F.O. Uguale alla funzione obiettivo del caso precedente ma si aggiunge un vincolo: m q j=1 z=1 Vincolo: ∑ x ij⋅D j ≤∑ PC iz⋅y iz (dove il primo termine rappresenta la somma su tutti i clienti di tutto ciò che esce dall’impianto i-esimo; questo però deve soddisfare la capacità dell’impianto stesso PC iz * yiz) 2. Consegna con magazzini intermedi (Multilivello - Monoprodotto - Monoperiodo) Si vanno ad aggiungere dei livelli alla rete logistica: fornitori, produttori, magazzino intermedio o CEDI, e infine il cliente. In totale sono 4 nodi logistici. Ci sarà quindi il trasferimento di un flusso fisico dal fornitore al produttore, dal produttore ai magazzini intermedi, e da questi ultimi al cliente. A. Acquaderni, A. Azami, A. Gennari 152 a.a. 2010-2011 l = Aree in cui i fornitori sono localizzati → h = 1, …, l Per quanto riguarda i produttori non sappiamo ancora le aree in cui si collocheranno (lo dobbiamo determinare) ma conosciamo delle aree potenziali in cui potranno andare a costruire il magazzino → aree “t”. n = aree potenziali per l’apertura di impianti → i = 1, ... , n t = aree potenziali dove poter aprire i magazzini → e = 1, ... , t Per quanto riguarda i clienti invece abbiamo la certezza di dove sono collocati: m = aree dei clienti → j = 1, … , m Sh = capacità di fornitura Ki = capacità produttiva dell’impianto i-esimo (l’equivalente del PC iz di prima) We = capacità di stoccaggio Ora effettuiamo un’analisi sui costi Quello che dobbiamo valutare sono i costi di apertura di eventuali magazzini e di eventuali impianti di produzione: fi = Costo fisso di apertura dell’impianto i-esimo fe = costo fisso di apertura di un magazzino/CEDI Per fornitori e clienti non abbiamo questo tipo di costo fisso perché sono già collocati o situati nelle zone. I costi variabili invece sono relativi a fornitura e trasporto o produzione e trasporto o stoccaggio e trasporto: chi = costo di fornitura e di trasporto dal fornitore al produttore cie = costo unitario di produzione e trasporto da impianto di produzione a CEDI cej = costo di stoccaggio e trasporto dai CEDI al cliente xhi = quantità trasferita dal fornitore h all’impianto produttivo i-esimo xie = quantità trasferita dal produttore i al CEDI e-esimo xej = quantità trasferita dal CEDI e-esimo al cliente j-esimo Le ulteriori variabili sono: yi = 1 se apro l’impianto nell’area i-esima 0 altrimenti ye = 1 se apro il CEDI nell’area e-esima 0 altrimenti A. Acquaderni, A. Azami, A. Gennari 153 a.a. 2010-2011 19/05/2011 Riprendiamo dalla consegna con magazzini intermedi → monoprodotto, monoperiodo, multilivello F.O. : MIN [Costi Fissi Costi Variabili]... [∑ n F.O. : MIN i =1 t l n n t t m f i⋅yi ∑ f e⋅y e ∑ ∑ x hi⋅c hi ∑ ∑ xie⋅c ie ∑ ∑ x ej⋅c ej e=1 h=1 i=1 i=1 e=1 e=1 j=1 ] Vincoli: xhi ≥ 0 xie ≥ 0 con yi ∈ {0 ; 1} xej ≥ 0 Vincoli di primo tipo sono: Σni=1 xhi ≤ Sh vincolo di capacità del fornitore t Σ e=1 xie ≤ Ki vincolo dell’impianto produttivo m Σ j=1 xej ≤ We vincolo del CEDI Σte=1 xej = Dj vincolo di rispetto della domanda Σlh=1 xhi ≥ Σte=1 xie [∀ i] Σni=1 xie ≥ Σmj=1 xej [∀ e] vincoli di flusso rispetto agli impianti produttivi e di distribuzione (quello che entra nell’impianto produttivo deve essere maggiore o uguale a quello che esce) Ora dobbiamo dare dei numeri alle nostre variabili dei vincoli. Possiamo utilizzare diversi strumenti dati dalla ricerca operativa o dall’informatica, per esempio la ricerca di una soluzione ottima (minimizzare i costi) che non sempre è applicabile per mancanza di dati, o gli algoritmi euristici (non si arriverà però mai alla soluzione ottima, ma noi vogliamo soluzioni buone in tempi ragionevoli), oppure si possono utilizzare dei risolutori di excel. A. Acquaderni, A. Azami, A. Gennari 154 a.a. 2010-2011 Esercizio reti distributive 5 aree geografiche al servizio di altrettante 5 regioni di domanda. Nelle aree produttive si possono installare stabilimenti produttivi di diversa capacità a servizio della produzione degli articoli. Si possono installare impianti ad alta capacità invece che a bassa capacità. La funzione obiettivo del modello contabilizza tutti i costi di produzione e di trasporto (vedi 1 a tabella). La 2a tabella elenca la domanda presso le varie regioni, tutte riferite ad 1 milione di pezzi. Supply country Luoghi di domanda (costi di produzione e trasporto [k$/mln pz]) Nord America Sud America Australia Asia Africa Nord Italia 90 95 130 96 99 UK 75 80 110 81 98 Germania 80 85 110 86 98 Sud Italia 95 100 150 111 75 80 85 141 89 70 Francia 1 Tabella - Costi unitari di produzione e trasporto a Luoghi di domanda (Demand Region) Nord America Sud America Australia Asia Africa 21 19 12 16 8 Domanda [mln pz/anno] 2a Tabella - Domanda annua, scenario 1 Supply country Fixed cost [K$/anno] Low Capacity [1.000.000 pz/anno] Fixed cost [K$/anno] High Capacity [1.000.000 pz/anno] Nord Italia 6.000 15 9.000 30 UK 4.500 15 6.750 30 Germania 6.500 10 9.750 20 Sud Italia 4.000 10 6.150 20 Francia 4.000 10 6.000 20 3a Tabella - Capacità produttive degli impianti e costi fissi relativi ad impianti ad alta e bassa capacità produttiva Demand region Domanda [mln pz/anno] Nord America Sud America Australia Asia Africa 40 54 8 18 6 2 Tabella bis - Domanda annua, scenario 2 a A. Acquaderni, A. Azami, A. Gennari 155 a.a. 2010-2011 Si chiede inoltre di riproporre le seguenti varianti al modello di programmazione lineare (ripartendo sempre dal modello originale, dove non specificato) considerando cioè le seguenti ipotesi: • [B1] Gli stabilimenti produttivi di diversa tipologia (low capacity e high capacity) siano alternativi all’interno della medesima supply region. • [B2] Si debbano aprire almeno 3 stabilimenti produttivi ad alta capacità. • [B3] Si debbano aprire almeno 2 stabilimenti produttivi a bassa capacità. Giudicare la solvibilità del modello qualora la domanda sia quella della 2 a Tabella bis e si adotti l’ipotesi 1 o B1 (dove si ammette un solo stabilimento produttivo per ciascuna supply country). Nel caso di insolvibilità del modello verificare la seguente alternativa al modello di programmazione lineare originale e verificarne la solvibilità: • [B4] In Italia si possono aprire anche più stabilimenti dello stesso tipo, mentre all’estero si debba aprire uno stabilimento per ogni regione Proporre una possibile soluzione del modello iniziale e del modello modificato al punto B4 e confrontarne i costi. Soluzione: [∑ ∑ n MIN q i=1 z=1 n m f iz⋅y iz ∑ ∑ c ij⋅x ij i=1 j=1 ] Vincoli: Σni=1 xij = Dj Σmj=1 xij ≤ Σqz=1 PCiz * yiz yiz ∈ {o ; 1} xij ≥ 0 [Costi fissi] = {6.000 * y11 + 9.000 * y12 + 4.500 * y21 + 6.750 y22 + 6.500 * y31 + 9.750 * y32 + 4.000 * y41 + 6.150 * y42 + 4.000 * y51 + 6.000 * y52} + [Costi Variabili] = {90 * x11 + 95 * x12 + 130 * x13 + 96 * x14 + 99 * x15 + 75 * x21 + 80 * x22 + 110 * x23 + 81 * x24 + 98 * x25 + 80 * x31 + [...] } Vincoli domanda: x11 + x21 + x31 + x41 + x51 = 21 x12 + x22 + x32 + x42 + x52 = 19 x13 + x23 + x33 + x43 + x53 = 12 x14 + x24 + x34 + x44 + x54 = 16 x15 + x25 + x35 + x45 + x55 = 8 Vincoli capacità produttiva x11 + x12 + x13 + x14 + x15 ≤ 15 * y11 + 30 * y12 x21 + x22 + x23 + x24 + x25 ≤ 15 * y21 + 30 * y22 A. Acquaderni, A. Azami, A. Gennari 156 a.a. 2010-2011 x31 + x32 + x33 + x34 + x35 ≤ 10 * y31 + 20 * y32 x41 + x42 + x43 + x44 + x45 ≤ 10 * y41 + 20 * y42 x51 + x52 + x53 + x54 + x55 ≤ 10 * y51 + 10 * y52 yiz ∈ {o ; 1} xij ≥ 0 i = 1, … , 5 z = 1, 2 j = 1, … , 5 Così abbiamo esplicitato il modello. [B1] Il modello cambia se considero l’impianto a bassa capacità produttiva → non considero solo i vincoli di domanda y iz ∈ {o ; 1} ma anche il fatto che la somma di impianti che si vanno ad aprire in una determinata regione deve essere minore o uguale a 1 → Σ 2z=1 yiz ≤ 1 con i = 1, … , 5 [B2] → Σ5i=1 yi2 ≥ 3 [B3] → Σ5i=1 yi1 ≥ 2 → Ora andiamo a vedere la solvibilità del modello poiché ci viene chiesto se il modello va bene anche se la domanda D j diventa, secondo la 2a tabella bis, [N. America 40, S. America 54, Australia 8, Asia 18, Africa 6] = 126 milioni di richiesta ma io ne posso offrire al massimo 120 milioni (secondo l’ipotesi B1) [B4] → Posso aprire in Italia anche più stabilimenti dello stesso tipo, ma devo anche aprire uno stabilimento all’estero per ogni stato. Σ2z=1 yiz = 1 yiz non è più binaria cioè yiz ∉ {o ; 1} ma yiz è una variabile intera e yiz ≥ 0 ∀ i ∈ {1 ; 4} Esistono degli strumenti di excel che permettono di modellare la situazione; si chiamano risolutori e sono però vincolati da un numero di variabili che non può essere eccessivo. Sono strumenti che vanno utilizzati in fase strategica, più ci si avvicina alla fase tattica più uno strumento del genere perde di significato. Esempio di applicazione del risolutore al caso Hydropump: poiché il risolutore non poteva processare tutte le famiglie di prodotto (Agri e Ind varie) si sono brutalmente sommate tutte le quantità come se fossero di un unico prodotto. [Fine logistica distributiva] A. Acquaderni, A. Azami, A. Gennari 157 a.a. 2010-2011 Lean thinking e Value Stream Mapping I sistemi di Cellular Manufacturing, Gestione delle Scorte, Picking e Distribuzione, costituiscono la supply chain e hanno l’obiettivo di ridurre i costi in ottica di Lean Manufacturing. Se ci troviamo di fronte ad un problema di riprogettazione di impianto di Supply Chain dobbiamo vedere l’ “as is”, come stanno le cose ed il “to be” ossia come applicare la progettazione e valutare infine le criticità (scorte, LT alti e costi) che costituiscono i problemi in termini di efficacia ed efficienza. Le soluzioni alternative che troveremo, ricavate dallo scontro di diversi problemi, le andremo ad applicare nella fase “to be”. Rivediamo i 5 principi del lean thinking 1. Definire il valore 2. Identificare il flusso del valore 3. Far scorrere il flusso 4. Fare in modo che il flusso sia tirato dal cliente 5. Ricercare la perfezione Utilizziamo il metodo della mappatura dei flussi per eliminare tutte le fasi che non creano valore → Value Stream Mapping → è uno strumento che serve appunto per mappare i flussi che generano valore. Tra le fasi del flusso che il prodotto segue identifichiamo le attività che sono utili e generano valore e quelle attività che invece non generano valore e sono da tagliare. Il Value Stream Mapping non è l’unico strumento, ne esistono altri validi, ma per ora è molto usato. Produzione di flusso Paragone della tubazione, situazione ideale: Sotto le giuste condizioni (pressione, diametro del tubo, ecc) il flusso del liquido in una tubazione è lineare, regolare, continuo e senza turbolenza. Se poi immaginiamo ci sia una pompa aspirante a valle della tubazione medesima, che tiri liquido a monte... Da una situazione as-is di tipo push si deve passare da un to-be di tipo pull, tirato dal cliente (anche se spesso non si riesce ad arrivare ad un pull puro, ma bisogna accettare compromessi intermedi, come un pull con la presenza di qualche scorta). Key Performance Indicator è la differenza tra Lead Time e Value added Time; minore è la differenza tra i 2 migliore sarà il flusso che ha valore; le attività che comportano un lead time senza valore vanno eliminate. Nel caso studiato si aveva un lead time di 104 giorni (da materia prima a prodotto finito) e si è giunti ad un lead time di 41 giorni con un risparmio dei costi di circa un 60%. A. Acquaderni, A. Azami, A. Gennari 158 a.a. 2010-2011 23/05/2011 Learning to see - Allegato su UniversiBO Partendo da un impianto preesistente si deve fare un’analisi di efficienza dell’As-is e si utilizza il Value Stream Mapping che è una tecnica per rappresentare il flusso; da quest’analisi si evidenziano le criticità, come Lead Time elevati, Scorte elevate e costi alti. Per migliorare la situazione bisogna individuare le cause degli sprechi → individuare dove sia il valore ed eliminare le operazioni in cui non si crea valore e per le quali il cliente non è disposto a pagare → Si giungerà ad una situazione To-be. Andiamo a mappare i 2 principali flussi all’interno del processo produttivo • Flusso dei materiali: dalla materia prima al prodotto finito • Flusso delle informazioni: dal prodotto finito (cliente) al processo produttivo a monte, l’inverso del precedente in genere Prima di iniziare il vero e proprio Value Stream Mapping bisogna individuare: 1. Famiglia di prodotti (prodotti simili, anche attraverso una matrice di similarità, vanno raggruppati per facilitare l’analisi) 2. Un responsabile del Value Stream Per l’analisi dell’as-is si inizia prendendo matita e foglio e si segue in produzione il flusso. Esercizio Value Stream Mapping (tratto da Learning to See) Facciamo riferimento all’esempio di Learning to See: Acme Spa che produce bracci per lo sterzo. 2 linee di produzione che realizzano 2 tipi di prodotti → LH (left hand drive) e RH (right hand drive). Stampaggio, saldatura 1, saldatura 2, assemblaggio 1, assemblaggio 2, spedizione. A. Acquaderni, A. Azami, A. Gennari 159 a.a. 2010-2011 Per disegnare il flusso si utilizzano delle icone, ciascuna delle quali ci rappresenta un elemento del nostro flusso (ad es. icone di processi produttivi, clienti, fornitori, giacenza, flusso ti tipo push o pull, ecc..) Domanda del cliente: 18.400 pz/mese di cui 12.000 [pz/mese] → LH 6.400 [pz/mese] → RH Prodotti finiti nel vassoio → 20 pz/vassoio monoprodotto Viene effettuata 1 consegna al giorno Tempo disponibile per il lavoro: 2 [turni/gg] 8 [h/turno] 2 pause da 10 [min/turno] 20 [gg/mese] → 1 turno 8*60*60 = 28.800 [s/turno] 2*10*60 = 1.200[s/turno] Ora disegniamo su foglio il procedimento: • Data Box in alto a sinistra coi dati relativi al cliente • Process box delle varie fasi di lavorazione → vanno considerati: ◦ C/T = Tempo Ciclo (tempo che intercorre tra l’uscita di pezzi consecutivi) ◦ C/O = Tempo di setup ◦ Disponibilità delle macchine % (UP-Time) • I triangoli tra i processo box rappresentano le scorte e gli omini stilizzati il n° di operatori necessari Il fornitore fornisce 2 volte alla settimana 500 [piedi] (bobine di acciaio) trasportando su camion. L’ultima linea spedisce al cliente sempre su gomma ma 1 volta al giorno. Il flusso tra le varie fasi di produzione è di tipo push (coi vantaggi e gli svantaggi che comporta). Il controllo della produzione avviene mediante MRP che si interfaccia col cliente il quale fornisce previsioni a 90, 60 e 30 giorni. In ogni caso, quotidianamente il cliente fornisce la quantità voluta. Le frecce tratteggiate rappresentano un flusso di tipo push, le frecce saettanti rappresentano uno scambio di informazioni elettroniche (email). L’MRP fa partire una previsione a 6 settimane inviata al fornitore di acciaio; allo stesso tempo viene mantenuto l’ordine aggiornato inviato ogni settimana. Criticità di questo sistema è prima di tutto il livello di scorta. Dobbiamo individuare i Lead time di produzione / Throughput Time. → Sotto i data box individuiamo una linea dei tempi che include sia i tempi in cui il A. Acquaderni, A. Azami, A. Gennari 160 a.a. 2010-2011 materiale è lavorato, sia i tempi di giacenza e attraversamento del prodotto. Il throughput time sarà il tempo da arrivo materie prime a partenza prodotto finito. Il tempo a valore aggiunto sarà diverso. La linea bassa significa che il prodotto è all’interno della fase, e verrà impiegato per diverso tempo (è il tempo in cui il prodotto è lavorato sulla macchina). Nella parte alta della linea sono indicati i tempi di permanenza corrispondenti a quel livello di scorte; per ricavare questo valore (a parte il primo caso in cui so di avere bobine per 5 giorni) devo dividere la quantità in pezzi di giacenza per la domanda giornaliera del cliente (in realtà conosciamo la domanda mensile ma dividiamo per 20 gg/mese). L → 12.000 pz/mese → 12.000 / 20 = 600 [pz/gg] → ad esempio per la Saldatura 1 la domanda è 4.600 pz corrispondenti a 7,6 giorni di scorta R → 6.400 [pz/mese] → 6.400 / 20 = 320 [pz/gg] → con una domanda della saldatura 2 di 2.400 pz avremo 7,5 gg di scorta. Tra i due valori, dato che devo fornire un unico valore temporale scelgo il maggiore. Procedo in maniera uguale per le altre fasi del processo. Ricaviamo complessivamente un Lead Time (Throughput Time) di 23,6 giorni; il cliente dunque per avere il prodotto dovrà aspettare almeno questo tempo. Se sommiamo solo il tempo produttivo otteniamo 188 secondi che è il Value Added Time e solo per questo in teoria il cliente è disposto a pagare. Dunque riassumendo si ha LT = 23,6 gg ed in particolare VA Time = 188 s Una situazione di tipo Push comporta una Over Production. Le attività non a valore aggiunto si dividono in • Necessarie (setup, …) • Non necessarie (attese, …) A. Acquaderni, A. Azami, A. Gennari 161 a.a. 2010-2011 A. Acquaderni, A. Azami, A. Gennari 162 a.a. 2010-2011 Le scorte se da un lato costituiscono un valore immobilizzato, dall’altro lato permettono di coprire i problemi di gestione. Le scorte influiscono anche sulla Qualità del prodotto che potrebbe deteriorare se in giacenza o potrebbe comportare tempi di controllo qualità e altri tempi e spazi di movimentazione. Una filosofia di tipo Pull risulta “tirata” dal cliente e comporta necessariamente un abbassamento delle scorte (se si trattasse di “lean” perfetto le scorte si dovrebbero annullare ma nel mondo occidentale ed in situazioni di incertezza della domanda ciò è impossibile). Per snellire il flusso produttivo: 1. Prima di tutto dobbiamo calcolarci il nostro “ritmo produttivo”, bisogna produrre in base al takt time → valutare a partire dalla domanda del cliente, quale deve essere il nostro ritmo produttivo, e tutti i processi produttivi dallo stampaggio alla saldatura alla spedizione devono considerare questo takt time nella schedulazione 2. Cercare il più possibile di sviluppare flussi continui producendo → riuscire a produrre 1 pezzo alla volta in modo che il flusso di produzione sia lineare e continuo, o comunque produrre un numero molto basso di pezzi/lotto. Devo avere le condizioni per cui ciò sia possibile, cioè avere tempi di set-up molto bassi (C/O); se invece questi sono molto alti sarà difficile realizzare un flusso continuo, per cui dobbiamo innanzitutto chiederci se possiamo abbassare questi tempi di set-up, se è possibile dobbiamo utilizzare allora sistemi di tipo pull 3. Sistemi di tipo pull per il controllo della produzione → utilizziamo il pull system basato sul supermarket, su sistema di controllo visuale a kanban e su sistemi a FIFO Lane (con WIP) 4. Schedulare solo 1 processo produttivo → ne scelgo uno solo e schedulo solo questo; tutto il controllo della produzione di conseguenza c’è perché avviene tutto a flusso o perché si hanno Fifo Lane e Supermarket → regolo 1 processo (che è il cliente) e tutto il resto viene regolato di conseguenza 5. Livellamento del mix produttivo e del volume → Obiettivo è far uscire poche quantità di tutti i prodotti ogni giorno (per rispondere alla domanda di ampio mix da parte del cliente) 6. Produrre Every Part Every Day (EPED) 1. Produrre in base al Takt Time [ ] [ ] [ ] sec turno Tempo Disponibile sec TT = = =60 Domanda Cliente pz pz 460 turno 27.600 Dove la domanda cliente è stata ricavata da: 1.200 [pz/mese] LeftHand + 6.400 [pz/mese] RightHand = 600 [pz/gg] + 320 [pz/gg] = 920 [pz/gg] → 460 [pz/turno] In sistemi di tipo Pull si ha una situazione del genere, in cui il controllo di produzione del processo a monte non viene fatto dall’alto ma viene fatto dal processo a valle, in particolare A. Acquaderni, A. Azami, A. Gennari 163 a.a. 2010-2011 dal cliente. Tra i 2 processi c’è un magazzino intermedio a supermarket che è praticamente un magazzino di A, a valle di quel processo, poiché i 2 processi non possono essere contigui. Un kanban puro prevede che il processo a monte sia tirato direttamente dal processo a valle/cliente ma nel caso non sia possibile si inserisce un supermarket come attore intermedio → Processo B tira il market che a sua volta tira il processo A → il market fa da ammortizzatore garantendo una minima scorta. Ci sono casi in cui il supermarket non è la scelta migliore → se abbiamo prodotto di elevato valore o rarità, o casi di subfornitura in cui dobbiamo gestire 2 forniture (il mio prodotto viene lavorato in A internamente all’azienda per andare in B a subire una lavorazione esterna per poi rientrare e subire una terza lavorazione C in azienda), si ha una situazione di “fifo lane” (o “con wip” = controlled wip infatti permette il controllo del semilavorato). La Fifo Lane è una specie di rulliera in cui i prodotti realizzati in A iniziano ad entrare in B, ma la rulliera ha una capacità finita (es. 50 pz), quando arriva alla fine e riempie la capacità massima, A si stoppa e aspetta che B prelevi i pezzi lavorati. Dopo la lavorazione di B, i prodotti verranno lasciati in supermarket, dal quale C preleverà i pezzi per poterli poi lavorare. A. Acquaderni, A. Azami, A. Gennari 164 a.a. 2010-2011 24/05/2011 Avevamo individuato alcune criticità riguardanti ad esempio il Lead Time che è di 23 giorni contro solo 188 secondi di Throughput Time (Value Added Time). Le scorte sono alte e ciò permette di gestire i problemi ma nasconde le inefficienze. Per risolvere questi problemi risulta necessario il passaggio ad un sistema produttivo più orientato al cliente. In base alla domanda del cliente abbiamo individuato un Takt Time di 60 secondi. Tutti i reparti ed i macchinari devono essere schedulati in base a questo ritmo produttivo. Si cerca dunque in questo sistema di: • Abbassare i Tempi di setup • Alzare la qualità • Alzare l’Up Time (disponibilità) attraverso il Total Quality Maintenance → Si va verso il flusso continuo → 1 pezzo per volta (nelle condizioni ideali) che passa da processo a processo fino a divenire prodotto finito. Ad esempio nello stampaggio non posso pensare di avere un flusso continuo perché ha tempi di setup di 1 h contro un tempo ciclo di pochi secondi (1 s/pz) → anche abbassando il setup avrei forti inefficienze; se gestissi lo stampaggio a flusso continuo, avendo 8 h/turno, produrrei 8 pezzi al turno. Inoltre la pressa a flusso continuo comporterebbe la necessità di duplicare la risorsa che invece costa molto → evitiamo di gestirla a flusso continuo. Per quanto riguarda saldatura ed assemblaggio si può pensare invece ad una gestione a flusso continuo; l'assemblaggio ha tempo di setup nullo e tempo ciclo di 62 e 40 secondi → nell’ordine di grandezza del Takt Time. La saldatura ha tempi ciclo di 39 e 46 secondi → ok ma i tempi di setup sono di 10 minuti → devo cercare di ridurli con tecniche Smed → ci sono 2 condizioni: che i tempi di setup delle 2 saldature si abbassino e che l’Up - time della Saldatura 2 aumenti (era dell'80%). Dobbiamo dunque dimensionare la nuova risorsa data dall’accorpamento di saldatura ed assemblaggio: C/TSaldatura1 = 39 [sec/pz] C/TSaldatura2 = 46 [sec/pz] C/TTotale = 187 [sec/pz] C/TAssemblaggio1 = 62 [sec/pz] C/TAssemblaggio2 = 40 [sec/pz] TT = 27.600/460 = 60 [sec/pz] Dal tempo ciclo totale e dal Takt Time ottengo il dimensionamento desiderato → 187 / 60 = 3,12 = n° di risorse che mi servono per far si che questa cella di lavoro rispetti il TT e dunque il flusso continuo → arrotondo per eccesso → 4 risorse → avremo 4 banchi di lavoro con ognuno 4 operatori, ciascuno dei quali esegue saldatura + assemblaggio → abbiamo quadruplicato le risorse e ogni operatore esegue tutte le operazioni. Ciascun operatore impiega 187 secondi a svolgere le operazioni e dato che sono in 4, ogni 187 secondi escono 4 pezzi. In realtà il tempo a disposizione dell’operatore è maggiore, pari a 240 (dato dal TT teorico A. Acquaderni, A. Azami, A. Gennari 165 a.a. 2010-2011 di 60 s per 4 pezzi); ne lavorano però solo 187 secondi → Tasso di utilizzo degli operatori 187/249 = 77,9% non è molto elevato, quindi posso cercare di fare in modo che i tempi di lavoro delle diverse fasi riescano ad essere contenuti nei 60 sec del TT. Proviamo a far fronte a tale inefficienza con solo 3 linee (banchi di lavoro); ovviamente non ci starei dentro con tempi di 187 secondi → posso farlo solo se i tempi si potessero ridurre a 160 secondi circa (in teoria 180 = 60*3 ma ciò comporterebbe un utilizzo dell’operatore del 100% e arrivare ad utilizzarlo al 100% è eccessivo, solitamente si tiene un margine per evitare eccessivi carichi, stress dell’operatore e problemi coi sindacati) Una soluzione del genere comporta dei costi, indicativamente 33.000 [€/anno] per ogni operatore e 100.000 [€] per ogni macchina. Soluzione alternativa consiste nel non duplicare le risorse ma nel mettere 3 operatori su uno stesso banco / linea che prevede le 4 risorse Saldatura 1 e 2 e Assemblaggio 1 e 2. 1° operatore → Saldatura 1 = 39 sec, Saldatura 2 = 21 sec → tot = 60 sec 2° operatore → Saldatura 2 = 25 sec, Assemblaggio 1 = 35 sec → tot = 60 sec 3° operatore → Assemblaggio 1 = 27 sec, Assemblaggio 2 = 40 sec → tot = 67 sec → Il 1° operatore lavorerà 60 secondi → svolge la Saldatura 1 (39 s) e 21 s della Saldatura 2 (sempre considerando i tempi originali che invece auspicabilmente potranno essere abbassati) → 2° Operatore ha 60 secondi durante i quali finirà la Saldatura 2 (25 s) e inizierà l’Assemblaggio 1 (35 s) → 3° operatore finisce Assemblaggio 1 (27 s) e fa Assemblaggio 2 (40 s) → lavorerà 67 secondi in totale. In realtà ogni 60 secondi dovrebbe uscire un pezzo ma l’ultimo operatore è più carico → si cercherà di lavorare o sulla velocità di lavoro o sulla risorsa a disposizione, o sulle inefficienze del processo produttivo, per arrivare ad un tempo di 60 secondi. L’interruzione e la ripresa delle varie fasi è possibile perché sia saldatura sia assemblaggio sono flessibili (posso interrompere una saldatura e riprenderla, e allo stesso modo posso fare per l’assemblaggio). Andiamo a vedere come si trasforma la nostra configurazione della mappatura to-be. A. Acquaderni, A. Azami, A. Gennari 166 a.a. 2010-2011 A. Acquaderni, A. Azami, A. Gennari 167 a.a. 2010-2011 • Saldatura + Assemblaggio: devo imporre un TT = 60 s ed il tempo ciclo deve essere leggermente inferiore (non posso lavorare al 100% della capacità dell’operatore). Applicando tecniche Smed arrivo alla condizione ideale di 0 s per il setup. La disponibilità della macchina, grazie alla TPM ed alla manutenzione preventiva diventa del 100% • Stampaggio: nonostante sia fuori dal flusso continuo dobbiamo applicare tecniche Smed per abbassare il setup. Secondo il principio EPED (Every Part Every Day) devo produrre 600 [pz/gg] di L e 300 [pz/gg] di R • Spedizione: fase di preparazione del prodotto e caricamento sul camion. L’ottimo è rappresentato dalla spedizione diretta, ossia mando il prodotto da Saldatura + Assemblaggio direttamente all’area spedizione. Dovrei così avere certezza della domanda e massima efficienza (LT certi e Domanda certa). Per gestire l'incertezza della domanda e dei Lead Time avrebbe senso introdurre un piccolo Supermarket con parte dedicata a prodotti R e parte dedicata a prodotti L → il reparto spedizione non preleva direttamente dalla linea ma dal sumermarket in vassoi da 20 pz per il tipo L → si avrà un cartellino con sopra l’ordine di produzione (kanban) • Cliente: Al cliente devono arrivare 18.400 [pz/mese] → rispettivamente 12.000 prodotti di L e 6.400 pezzi di R. Perciò devo avere 12.000/20 = 600 [pz/gg] e 6.400/20 = 320 [pz/gg] che posso tranquillamente mettere in 30 [vassoi/gg] per L e 16 [vassoi/gg] di R. Il supermarket tra la cella di lavoro e lo shipping poteva essere evitato avendo domanda certa e LT brevi come si può notare dalla formula per il calcolo del n° di Kanban: N ° Kb= • D⋅LT⋅1SS N Fornitore: Si procede andando a monte in maniera simile a prima, con supermarket e gestione visuale a Kanban, fino ad arrivare al fornitore il quale, in condizione ideale, dovrebbe ragionare in ottica Lean → la condizione migliore sarebbe se accettasse di entrare a far parte della lean supply chain per cui risponderebbe ai miei ordini giornalieri. Ciò si può fare ma ci devono essere i presupposti. Nel caso in questione il fornitore non accetta e continua a spedire bobine d’acciaio 2 volte alla settimana; internamente però vogliamo abbassare i 5 giorni di scorta a monte dello stampaggio della situazione as-is → introduciamo un supermarket tra fornitore e stampaggio anch’esso gestito in pull → attraverso cartellini. Il prelievo di un cartellino dovrebbe corrispondere all’emissione di un ordine di fornitura → Proponiamo al fornitore di non trasportare più in maniera dedicata al cliente (noi) 2 volte a settimana, ma gli proponiamo di fare carichi misti ( → ottimizzando il carico) e di eseguire un “milk run” per cui quotidianamente consegna materiale a noi ed agli altri clienti → possiamo abbassare le scorte di bobine. Internamente anche le scorte di bobine dunque le gestiamo a cartellino Kanban, ma chi li gestisce questi cartellini? ◦ Fornitore prende il cartellino per ogni consegna quotidiana → Il fornitore A. Acquaderni, A. Azami, A. Gennari 168 a.a. 2010-2011 prende tutti i Kb ogni giorno → Lead Time di 1 giorno ◦ Nella condizione peggiore il fornitore non vuole gestire i nostri cartellini → manteniamo un ufficio di Controllo della Produzione che preleverà il cartellino e farà l’ordine al fornitore → l’ordine avviene 1 volta al giorno → il Lead Time non è più di 1 giorno ma di 2 giorni e la scorta di conseguenza sarà di 2 giorni (ad esempio il Lunedì l’Ufficio di Controllo Produzione preleva il Kb → effettua l’ordine o Lunedì sera o Martedì → il fornitore prepara il materiale e lo consegna Martedì o Mercoledì → riattacco il cartellino al materiale di Mercoledì) → Consideriamo questo caso come caso peggiore. • • Il cliente non viene personalmente a prelevare a magazzino ma emette un ordine giornaliero che giunge all’Ufficio di Controllo Produzione il quale a sua volta emette un ordine giornaliero di prelievo interno che manda ad 1 solo processo, non a tutti quanti; questo processo è detto Pacemaker perché è quello più critico che regola tutta la catena produttiva. Nel nostro caso si tratta della cella di Saldatura + Assemblaggio. L’ordine di prelievo dunque corrisponderà ad un certo numero di cartellini e di vassoi. Dobbiamo fare in modo però che i lotti da produrre siano piccoli e livellati. Il dimensionamento del sistema infatti prevedeva come ultimi 2 punti il livellamento del mix produttivo e dei volumi. Utilizzeremo per aiutarci delle bacheche con dei vani in cui sono disposti i cartellini in modo tale che si produca ad esempio 1 cartellino di R ed uno di L o 1 e 2, e così via in modo regolare ed alternato. La bacheca detta dei ritmi produttivi ed è scandita da un Pitch dato dal prodotto del Takt Time per il Pack Size → Pitch=TT⋅PackSize= [ ][ ] [ ] [ s pz s min ⋅ =60⋅20 =20 pz vassoio vassoio vassoio ] Noto che affinché il sistema sia livellato devo avere 1 R e 2 L perché ho 16 vassoi R e 30 vassoi L → distribuendo nei turni si avrà: ◦ 1° turno → 8 R e 15 L (se devo interrompere un vassoio il 2° turno riprenderò con quello) A. Acquaderni, A. Azami, A. Gennari 169 a.a. 2010-2011 ◦ 2° turno → 8 R e 15 L Il problema è dove mettere la bacheca → 2 alternative: A) La metto prima del supermarket tra shipping e supermarket prima di Saldatura + assemblaggio → si fanno già gli ordini tutti livellati → 1 R e 2 L B) La metto dopo il supermarket → tra supermarket e Saldatura + Assemblaggio Definiamo ora la linea del tempo: Abbiamo detto che prendiamo l’alternativa peggiore per il LT approvigionamento → 2 gg; Stampaggio → 1 sec; Tra Stampaggio e Saldatura + Assemblaggio → 1 gg (era 1,5 ma l’obiettivo è ridurlo a 1) Per il supermarket tra cella e stampaggio metto 1 giorno perché se mettessi 1 h farebbe solo setup. Saldatura + Assemblaggio → 56 sec Tra Saldatura + Assemblaggio e Spedizione → 2 gg (era 4,5 ma l’obiettivo è ridurlo a 2) Totale tempo di produzione = 2 + 1,5 + 4,5 = 8 gg contro i 23,6 del caso precedente. A. Acquaderni, A. Azami, A. Gennari 170 a.a. 2010-2011 Bobine Prima Parti WIP Sald. + stampate Assemblaggio 5 giorni 7,6 giorni Flusso Continuo e Pull 2 giorni 1,5 giorni Con Livellamento 1,5 giorni 1 giorno Prodotti Finiti Lead Time di Produzione Rotazioni totali inventario 6,5 giorni 4,5 giorni 23,6 giorni 10 0 4,5 giorni 8 giorni 30 0 2 giorni 4,5 giorni 53 Tabella - Miglioramenti nei Lead Time di Acme A. Acquaderni, A. Azami, A. Gennari 171 a.a. 2010-2011 26/05/2011 Caterpillar Paving Caterpillar nasce nel 1920, macchine per il movimento terra è il core business poi anche motori per navi, foreste, ecc. 576 aziende (delle quali 237 sono stabilimenti produttivi) in 50 paesi, 105.000 dipendenti. Sezione Paving, pavimentazione, settore recente (anni ‘90) con 1.500 dipendenti. Macchinari per fare il fondo stradale, stendere l’asfalto, compattarlo, e altri macchinari per rimuovere l’asfalto per manutenzioni. Stabilimenti in Italia sono a Cattolica e a Minerbio. Ambiente/indicatori prima del Caterpillar Production System: 4 fattori critici di successo P, Q, V, C • 18 infortuni sul lavoro ogni anno - People • Engagement aziendale survey - People • 3 macchine su 10 con problemi al cliente nelle prime 20 ore di funzionamento Qualità • 80 pezzi mancanti sulla linea ogni giorno -Velocity • Rotazione di inventario annuo = 1,2 (circa 10 mesi di scorte) - Velocity • CDS: Puntualità di consegna verso i clienti al 36% - Velocity • Costo del prodotto poco competitivo rispetto a • Efficienza produttiva al 50% (ore teoriche/ore effettive) Ogni mese misurano l’accuratezza dell’inventario, delle distinte base, le sequenze produttive, i codici anagrafici, ecc a caso, a campione. Cos’è il CPS (Caterpillar Production System) ≅ TPS (Toyota) Nel 2000 viene introdotto il 6 sigma, disciplina in ambito di qualità che costituisce un insieme di prassi e linee guida che permettono di avere un numero di difetti pari a 3,4 unità per milione, nei processi produttivi. Il CPS è la nostra strategia per trasformare i processi che vanno dal ricevimento dell’Ordine alla Consegna al cliente soddisfando costantemente i bisogni dei clienti e le aspettative degli azionisti attraverso l’eliminazione dello spreco CPS trasforma i processi migliorando 3 sotto-sistemi: • Sistema operativo: focalizzato a migliorare continuamente i processi produttivi attraverso l’eliminazione degli sprechi. • Sistema gestionale: focalizzato nella creazione della strutture di gestione e di misurazione a supporto del miglioramento continuo • Sistema culturale: focalizzato alla creazione di un ambiente che faciliti il cambiamento e migliori il lavoro in cui lavoriamo A. Acquaderni, A. Azami, A. Gennari 172 a.a. 2010-2011 CPS - gli 8 sprechi • • • • • • • • Creatività/Capacità inutilizzata Difetti Inventari Sovraproduzione Attese Movimentazione eccessiva Trasporto Sovralavorazione La novità del CPS rispetto al TPS è l’introduzione di un altro spreco che riguarda la Creatività e la Capacità inutilizzata. Spreco = ogni attività che non consuma risorse ma che non crea valore per il cliente. I 3 sottosistemi del CPS Sistema operativo • Eliminare gli sprechi • Approvvigionamento • Migliorare il flusso “Pull”M • Standardizzare il lavoro • Distribuire uniformemente il carico • Convalidare i processi Sistema culturale • Mettere la sicurezza al primo posto • Fare proprio il punto di vista del cliente • Andare, vedere, agire • Fermarsi e riparare • Far crescere le persone • Ascoltare attivamente A. Acquaderni, A. Azami, A. Gennari 173 a.a. 2010-2011 Sistema di gestione • Rendere visibili le cose • Allineare gli obiettivi • Agire con decisione Allineare gli obiettivi: Section Board, Bus Unit Board Definizione degli indicatori P, V, Q, C obbligatori Definizione degli obiettivi fino al 2015 → Obiettivi della Corporate, della divisione, ... Make it Visual - “Rendere visibile” ... Agire con decisione: piattaforme di supporto Riorganizzazione per processi secondo la ricetta corporate Far crescere le persone: Simulated Work Environment • Curriculum formativo interattivo per tutti i ruoli • SWE - Simulated work environment Ascoltare attivamente: Continuous Improvement Card E’ un’arma a doppio taglio, se non si da risposta si perde credibilità e le persone fanno ancora meno → In Cat il 70% dei CI card devono essere chiuse entro 30 giorni. Fermarsi e riparare: Andon Stop to fix; Miglioramento continuo attraverso l’analisi sistematica della causa alla radice. Hanno cambiato il Layout e dopo, ancora più importante, Standardizzazione dei processi (5 ingegneri per un anno hanno creato le standard work sheet per ogni operazione per ogni processo). Convalidare i processi: gli operatori ogni 30 min si fermano e compilano una checklist (Caterpillar vende ad un 10% in più rispetto alla concorrenza ma perché si fanno forti per la qualità). Non è sufficiente il layout ma c’è bisogno di: • Stabilizzazione processi • Stabilizzazione piano produzione • … In linea rimaneva il problema di come portare i componenti → Video Indeva Hanno avuto 2 anni senza infortuni → celebrazione a settembre 2010 A. Acquaderni, A. Azami, A. Gennari 174 a.a. 2010-2011 Vision per il futuro Multi Generation Process Planning Visione Supply Chain Fornitori: 100% pull, 20 rotazioni, tempo di risposta di 10 giorni al massimo Clienti Officina Conclusioni Nelle aziende non contano solo i dirigenti ma tutte le persone • Ogni cambiamento avviene se le persone vengono coinvolte e preparate per la gestione • Nessun cambiamento può avvenire se c’è “resistenza” • Il sistema culturale ed il sistema gestionale sono la base da cui partire per cambiare • Il pull/esterno è uno strumento importante per ridurre gli inventari, ridurre i tempi di risposta dei fornitori e ridurre gli sprechi, ma richiede: ◦ Stabilità delle attività (accuratezza dati) ◦ Stabilità del flusso ◦ Fiducia reciproca (fornitore) ◦ Livello culturale omologo o similare con i fornitori • Partire sempre con un progetto pilota facile da implementare in modo da mostrare il successo e replicare. A. Acquaderni, A. Azami, A. Gennari 175 a.a. 2010-2011 30/05/2011 Piattaforma software di ausilio alla progettazione di network logistico - distributivi Ing. Marco Bortolini Considerando un framework progettuale e passando da ottica long term a short term si hanno diverse fasi: Strategic planning → Tactical planning → operational planning Strategic planning Definizione di aspetti macro-strutturali del network distributivo • Attivazione nodi logistici • Disposizione geografica entità (i. e. Plant, CDC, RDC) • Allocazione di primo tentativo della domanda dei Pod • Definizione capacità produttiva di movimentazione e stoccaggio di impianti e centri distributivi intermedi Orizzonte di pianificazione annuale o pluriennale Assenza della variabile tempo (il modello si sviluppa su un unico bucket temporale) Strumenti utili alla progettazione della rete: • Modelli di Location Allocation (LAP) • Programmazione lineare intera (MILP) vs. Approcci euristici Modelli di ottimizzazione Funzione obiettivo (F. O.) - driver di costo • Trasporto per unità di prodotto • Trasporto per unità di container • Fix cost di attivazione • Costo per unità di prodotto realizzato / in transito A. Acquaderni, A. Azami, A. Gennari 176 a.a. 2010-2011 Subject to (S. T.): • Evasione completa della domanda • Vincoli di capacità impianti • Vincoli di capacità container • Vincoli flusso IN ≥ flusso OUT →Euristiche Piattaforma Log-Optimizer Approccio Strategico Ha la possibilità di gestire fino a 2 centri distributivi: uno subito a valle dell’impianto distributivo e uno ancora più a valle, più vicino ai clienti. E’ diversa la capacità produttiva di un impianto e la sua capacità di movimentare merce (che può essere > o < alla capacità produttiva). Il dato fisso è costituito dal cliente, ogni cliente inoltre per ipotesi deve essere servito e il prima possibile. I CEDI indicati sono gli impianti distributivi potenziali; sono anche indicati i punti in cui potrei o meno aprire un impianto produttivo. I punti di domanda invece sono fissi. L’orizzonte temporale è unico, non c’è disaggregazione nel tempo. Lo strumento controlla i dati e li verifica poi fornisce una mappa con la geografia nella quale ci muoviamo → si evidenziano gli impianti produttivi possibili, i centri distributivi centralizzati (CDC) poi i centri RDC (CEDI Regionali, che stanno a monte del cliente → il più vicini possibili ai clienti), ed i clienti. Il programma dunque dopo una conferma elabora i dati e “risolve” il problema fornendo dove aprire gli impianti, ecc; nel caso ci ha indicato 1 impianto, 1 CDC e 4 RDC. Notiamo che ha aperto 1 impianto solo al centro tra Est e Ovest (siamo in USA), 1 CDC (generalmente sono molto costosi come centri di stoccaggio perché sono magazzini giganteschi). Vengono evidenziati anche, per prodotto, i flussi che vanno dal produttore al CDC agli RDC. Approccio Tattico Il problema del software è che i clienti in tale modello richiederebbero in un unico momento tutta la domanda annuale e questo non va bene. Decidiamo dunque in fase strategica di non considerare il fattore tempo e di risolvere il problema; il fattore temporale dunque andrà considerato in fasi più operative. La fase tattica in particolare può proporre 2 alternative: • Riprogettare nuovamente la soluzione • Mantenere i risultati del modello strategico e fissarli come vincoli → un vincolo in più → più complesso ma con meno variabili Il modello tattico dunque declina la soluzione in vari periodi temporali (ad esempio orizzonte temporale) → la piattaforma tattica è simile a quella strategica ma con il livello di complessità in più del fattore temporale → il risolutore ricarica i dati e fornisce una soluzione. La novità di questa piattaforma sta nel fatto di poter selezionare qualche elemento in più A. Acquaderni, A. Azami, A. Gennari 177 a.a. 2010-2011 rispetto alla piattaforma strategica: si dà la possibilità di prendere dallo strategico i vari CEDI o magari anche il flusso → chi serve chi (poi distribuito nel tempo), oppure, 3 a possibilità si recupera dallo strategico anche il “come” servire i clienti. Il modello tattico può prendere questi vincoli ma può essere che un vincolo blocchi il modello (ad esempio se in una settimana si ha una domanda ma quel cliente da servire è servito da un centro che in quel momento è vuoto...) → o si rilassa il vincolo e si imposta il fatto che l’impianto abbia capacità in ogni momento. L’output di una piattaforma tattica (è una pianificazione comunque di medio/alto livello) ci si aspetta essere una pianificazione divisa nel tempo di una delivery list che dica quale mezzo deve partire per servire quale cliente in quale giorno. Da questi dati si può ricavare (e il software permette di graficarlo) un certo numero di statistiche come la capacità produttiva dell’impianto utilizzata vs la capacità totale; si può inoltre vedere la divisione dei costi del network tra le varie voci di produzione, trasporti ai CEDI, ai clienti, ed i vari costi come quelli di inventory che nel caso sono nulli. E’ prevista anche la variabile di stock-out. Approccio operativo La fase operativa va più a fondo e stabilisce l’itinerario dei mezzi per cercare di soddisfare più clienti possibili con un unico viaggio. Sono problemi di ricerca operativa (Vehicle Routing) ma la piattaforma software del DIEM non si appoggia alla ricerca operativa perché richiederebbe calcoli troppo complessi anche per un sistema semplificato come questo quindi sceglie vie alternative partendo però dallo stesso punto: in un certo periodo un cliente che sta in un certo posto deve essere servito da un certo RDC che sta in un certo posto, di un certo prodotto per una certa quantità (praticamente l’output della pianificazione tattica). Oltre a questi dati si deve specificare il tipo di mezzo di trasporto scelto. Per ottimizzare il giro del mezzo tra i clienti dobbiamo impostare dei criteri/indici di similarità che accomunino i clienti → ci sarà un algoritmo di clusterizzazione ed uno strumento di taglio, come il percentile che permetta di fermare l’aggregazione (ad esempio 75o percentile). Posso anche considerare una finestra temporale di consegna anzi che basarmi su una data specifica → consegno tra lunedì e mercoledì ad esempio la domanda di 2-3 giorni. Questo semplifica le consegne. Si possono aggregare diversi viaggi (in base ai cluster definiti) ma resta da stabilire l’ordine, e per l’ordine posso considerare diversi criteri come l’itinerario più breve (ma che sarà diverso a seconda che sia più rapido temporalmente o in chilometraggio). Si può arrivare ad un numero di fattori da considerare però troppo elevato (ad esempio 11 11) → introduco un algoritmo del tipo Nearest neighbour (scelgo il primo cliente, poi visito quello più vicino a lui, e così via). L’itinerario sarà del tipo: partenza da RDC → cliente 1 → cliente 2 → … → ritorno a RDC. Se nella piattaforma software inseriamo un caso reale a livello strategico ci si mettono decine di minuti, a livello tattico ed a livello operativo sono necessarie diverse ore, anche una giornata intera. A. Acquaderni, A. Azami, A. Gennari 178 a.a. 2010-2011 Valutazione delle ridondanze (duplicazione) dei tipi di macchine Il clustering tradizionale prevede la divisione di un insieme di macchine in vari sottoinsiemi, senza duplicazione di macchine. Il problema si pone quando c’è flusso intercellulare, ovvero quando un prodotto lavorato in una cella deve essere lavorato da un’altra cella. Ad esempio in un reparto carpenteria metallica tutti i prodotti devono subire una fresatura → perché non duplicare le frese in altri cluster? Aumentare il n° di macchinari significa aumentare i costi di investimento ma diminuiscono i costi di movimentazione. Partiamo dalla soluzione del clustering per applicare poi strumenti di ricerca operativa, ma non utilizziamo unicamente gli strumenti di Ricerca Operativa. Indici: Parti → i = 1, … , M Macchine (tipologie di macchina, es. torni, frese, ecc) → k= 1, … , P Cluster (partiamo dal risultato del clustering quindi abbiamo già le celle) → j = 1, … , N Dobbiamo fare un trade-off tra i tipi di macchine ed i flussi (abbiamo come dato i cicli di lavorazione delle parti) Devo introdurre un nuovo indice → Indice della fase di lavoro. M 1 è nella fase di lavoro 1, M2 nella fase di lavoro 2, ecc, per cui le fasi di lavoro non sono altro che le lavorazioni. → Fasi → o = 1, … , Oi (con il pedice i perché riferito alla parte i-esima). Parametri: Ciclo di lavoro → Viko = 1 se la parte i viene lavorata sulla macchina k per la fase o 0 altrimenti E’ un parametro binario che vale 1 quando la parte i nella sua fase di lavoro o viene lavorata sulla macchina k. Ckj = 1 se macchina k è piazzata nella cella j in fase di clustering ( → prima di fare questi ragionamenti, durante la fase precedente di progettazione dei cluster) 0 altrimenti mi = volume produttivo della parte i [pz] ki = capacità del veicolo che sposta il materiale tra le celle [pz] (ad esempio un AGV; è riferito ai pezzi i perché a seconda del pezzo e delle sue dimensioni il veicolo avrà diversa A. Acquaderni, A. Azami, A. Gennari 179 a.a. 2010-2011 capacità) Noti questi due, posso definire: zi = int sup [mi / ki] = n° viaggi per ∀ parte €k = costo di duplicazione della macchina k €j-j1 = Costo del flusso dalla cella/cluster j alla cella j 1 → €jj = 0 (perché è un flusso interno alla cella). Variabili: Rkj = 1 se una certa macchina k è duplicata nella cella j 0 altrimenti o F ij-j1 = 1 se la parte i dopo fase o eseguita in cella j muove verso cella j 1 o altrimenti Il flusso è riferito ad una certa parte da un certo cluster di partenza ad un certo cluster di arrivo con riferimento ad una certa fase del ciclo di lavoro. F.O. - Funzione obiettivo: Voglio minimizzare tutto, il costo legato alla duplicazione e il flusso tra celle. P N M N N MIN ∑ ∑ € k⋅R kj∑ ∑ ∑ k =1 j =1 Oi−1 ∑ € j− j ⋅F oij− j ⋅Z i 1 i =1 j=1 j 1=1 o =1 1 S.T. (Subject To) - Vincoli: Rkj ≤1−C kj per k = 1, … , P j = 1, … , N E’ un vincolo che permette di non duplicare la macchina nella cella in cui c’è già; se nella cella j la macchina c’è già Ckj è = 1 → Rkj deve essere 0, altrimenti se non c’è C kj è nullo e questo non è più un vincolo poiché dovrebbe essere R kj ≤ 1 e ciò avviene sempre essendo Rkj una variabile binaria. N N ∑ ∑ F oij− j =1 1 j=1 j 1 =1 per i = 1, … , M o = 1, … , Oi-1 Fissata una parte ed una lavorazione ci dovrà essere un unico flusso riferito a quella parte e quella fase. N ∑F j1=1 per i = 1, … , M A. Acquaderni, A. Azami, A. Gennari o ij1 − j N = ∑ F o1 ij− j j1=1 j = 1, … , N 180 1 o = 1, … , Oi-2 a.a. 2010-2011 Altro vincolo si riferisce al fatto che va bene che una freccia sola parta da una fase ed arrivi ad una cella ma allo stesso tempo devo garantire la continuità del flusso → da una cella j1 deve arrivare alla cella j ma nella fase successiva si deve partire da quella stessa cella j della fase precedente; questo deve valere per ogni parte, per ogni cella j e per le lavorazioni che vanno da o a O - 2 poiché avevo considerato nella sommatoria fino a o + 1. P F oij− j ≤∑ V oik⋅C kj Rkj 1 per i = 1, … , M k =1 j, j1 = 1, … , N o = 1, .. , Oi-1 Ultimo vincolo deve vietare il flusso di un prodotto verso una cella in cui non c’è una macchina corrispondente alla lavorazione che il prodotto deve subire → devo spingere a 0 i flussi verso celle “vietate”. Se c’è la macchina nella cella C kj = 0 → Rkj = 0 → tutta la sommatoria è nulla e F oij-j1 è vincolato ad essere nullo. P F oij− j ≤∑ V o1 ik ⋅C kj Rkj 1 per i = 1, … , M 1 k =1 j, j1 = 1, … , N 1 o = 1, .. , Oi-1 Considerando la parte i nella prossima lavorazione sulla macchina k, se la macchina non è presente nella cella → non ha senso che esista il flusso. Ultimi vincoli sono riferiti al fatto che Rkj e Foij-j1 sono variabili binarie → ∈ {o ; 1} Nell’esempio in figura si avrà: i=1 j = 1, … , 5 0 = 1, … , 4 F11 2-3 → F21 3-3 → F31 3-5 → F41 5-2 Significa che per la parte 1, la prima lavorazione si avrà con flusso dalla cella 2 alla 3, la seconda rimarrà nella cella 3, la terza dalla cella 3 alla 5, e la quarta dalla cella 5 tornerà alla 2. Una volta definito il flusso dunque siamo a posto, e sappiamo che ogni fase la parte subirà una lavorazione e si “mangerà” una risorsa, richiederà del tempo. A. Acquaderni, A. Azami, A. Gennari 181 a.a. 2010-2011 Esempio: Fattori misurati Prima vs Dopo A. Acquaderni, A. Azami, A. Gennari 182 a.a. 2010-2011 31/05/2011 Arcese - Gruppo progetto Progettazione → • Esternalizzazione della logistica • Start-up • Efficientamento e re-ingegnerizzazione E’ tra i primi 5 - 10 operatori logistici in Italia. Punti di forza: si occupano di tutta la logistica inbound e outbound Servizi inbound → progettazione e riorganizzazione di flussi in entrata in magazzino Servizi Outbound → a valle della produzione, internamente o esternamente all’impresa, gestiscono tutti i trasporti e magazzini. Servizi aggiuntivi → Servizi insite, ad esempio gestiscono i file di Fiat e Shell Caso eMotion eMotion è un distributore di importanti brand e produce e commercializza linee di prodotto esclusive (accessori) per htc, e altre marche high tech Arcese è un partner di eMotion da Gennaio 2011. Contatto commerciale Avviene principalmente secondo i seguenti canali: • Analisi settoriali • Telemarketing • Passaparola tra clienti • Auto-candidatura sul sito web Questionario Informativo Al cliente si chiedono, oltre ai dati generali, dati relativi alle giacenze, al n° medio e massimo di pallet, pericolosità e delicatezza della merce, fluttuazione e stagionalità della merce, n° medio di righe in un ordine. Indici di produttività • n° udc caricate/scaricate • n° udc controllate/identificate • n° udc movimentate • n° pezzi/colli A. Acquaderni, A. Azami, A. Gennari 183 a.a. 2010-2011 Indici utilizzazione/produttività • Utilizzazione superficiale / m2 area stoccaggio • Volume merce mediamente stoccata / volume area di stoccaggio • n° colli o udc direttamente accessibili / volume di stoccaggio (in termini %) • Ore utilizzo carrello / ore totali disponibili (in termini %) • Ore utilizzo manodopera / ore totali disponibili (in termini %) La scelta del sistema di stoccaggio deve tenere in considerazione il livello di servizio atteso e la lunghezza temporale del contratto, oltre agli investimenti necessari. Nel caso eMotion si è scelta una configurazione a scaffalature tradizionali porta pallet con dinamica picking/stock. Per l’handling a magazzino hanno diviso la merce in base alla rotazione, in alto i basso-rotanti per evitare le attività di prelievo in quota, e impacchettamento automatico. Una volta scelte le tipologie di magazzino e di servizio bisogna vedere come gestirlo, stimare gli impegni in termini di tempo e manodopera, mezzi come carrelli elevatori → risulta in totale una necessità di 10 - 11 persone. Dopo queste analisi si può effettuare una valutazione economica poiché abbiamo già tutto: costi di infrastrutture, hardware (cablaggio, ecc), software, altri costi generali → fanno una proiezione del fatturato per il cliente → possono fare una quotazione → incidenza sui costi per pallet o metro. Il picking incide notevolmente sui costi, tra lo 0,7 e lo 0,9% del fatturato; inoltre incide sul livello di servizio, sulla qualità e sulla sicurezza. Gestione ordine cliente: 1. Inoltro ordini cliente mediante standard EDI 2. Simulazione generazione dell’ordine 3. Verifica della presenza di missioni a pallet intero 4. Dal bacino ordini/righe rimanenti verifica della possibilità di effettuare un ordine massivo 5. Dal bacino ordini/righe rimanenti accorpamento mediante Multi Orders Picking (MOP) e driver legato ai volumi 6. Fase di packaging differenziata Identificazione del team di progetto: • Responsabile progetto • Key account • Responsabile sviluppi IT • Responsabile sistemi ed infrastrutture IT, ... Startup e chiusura progetto A termine start-up e consolidamento processi viene condivisa la scheda di chiusura progetto che vede la consuntivazione di aspetti cardine quali • Rispetto tempistiche A. Acquaderni, A. Azami, A. Gennari 184 a.a. 2010-2011 • Rispetto budget, … Caso RF (Radio Frequenza) Inbound Ford Sono sempre progetti condotti in six sigma Approccio LSS (DMAIC) • Define → Progetto, team, obiettivi, ambito di azione • Measure → raccolta dati e misura dello stato attuale (as is, baseline) • Analyze → analisi del gap verso gli obiettivi • Improve → individuazione delle azioni da attuare, ecc • Control Obiettivi di Ford in particolare erano quelli di risparmiare 50.000 €/anno. Value stream map - Flusso meccanico (arrivo) e flusso manuale Si fa il value stream mapping, strumento fondamentale, sia in ingresso sia in uscita. Arriva mezzo → scarico → accettazione → incasellamento (messa in stock) → carico manuale sul sistema Ford. Il processo può essere quantificato con dei tempi di attesa → tempi di attesa medi per contenitori → nel caso Ford ogni contenitore attende mediamente 2h. Dopo aver tracciato il processo devono porsi l’obiettivo → 50.000 € = 2.485 ore → -12,98 %. A. Acquaderni, A. Azami, A. Gennari 185 a.a. 2010-2011 06/06/2011 Approfondimento Value Stream Mapping Dimensionamento del supermarket a valle dello stampaggio A monte di Saldatura + Assemblaggio si ha un kanban prelievo che ad esempio potrebbe avere un lead time di 1h per prelevare dal supermarket. Il supermarket può avere ragionevolmente un tempo di copertura di 1 - 1,5 giorni → un singolo prelievo da valle non deve generare un ordine a monte (che andrebbe allo stampaggio) → il kanban a monte del supermarket non deve essere un normale kanban prelievo ma un kanban segnale che faccia partire l’ordine solo dopo aver accumulato un certo numero di kanban. Livellamento con Pacemaker Obiettivo era individuare un pacemaker ed in base a quello livellare l’intero processo produttivo. Il pacemaker non deve però avere a valle un supermarket → è il supermarket stesso che fa da pacemaker. I contenitori di prodotto finito una volta al giorno partono e vanno al cliente → devo decidere come livellare e ho 2 alternative. • Se ho un livellamento a monte del supermarket, a monte della spedizione riesco a livellare ed il sistema funziona ma non in maniera ottima. Infatti partirebbero quotidianamente ordini di produzione, ad esempio 30 cartellini giornalieri, → piccoli lotti di produzione non regolati perché la load leveling box è a monte del supermarket • Alternativa è introdurre la bacheca di livellamento della produzione a valle del supermarket. Questi 30 cartellini vanno nella Load Leveling Box che determina il pitch di produzione e l’ordine di produzione → faccio uscire in questo modo l’ordine dal magazzino finale ma la produzione è livellata. Lo svantaggio è che a monte della spedizione devo aver sempre pronte le scatole che soddisfino l’ordine giornaliero del cliente. A. Acquaderni, A. Azami, A. Gennari 186 a.a. 2010-2011 Se invece avessi la bacheca di livellamento a monte del supermarket farei si che nel supermarket arrivino direttamente scorte livellate, quindi non dovrei mantenere nel supermarket la scorta corrispondente ad almeno una domanda giornaliera del cliente. Infatti il rischio di mettere la load leveling box a valle del supermarket (quindi a monte delle spedizioni) è che salgano sensibilmente le scorte. A. Acquaderni, A. Azami, A. Gennari 187 a.a. 2010-2011 Controllo Programma e dettagli esame Sottolinea l’importanza dei coefficienti di similarità Problem Oriented → Gupta e Seiffodini. Esame → 2 esercizi e 2 domande in 2h 30’. Domande Esame del 21/06/2011 Compito Rosa: • • • • Es 1: Dimensionamento risorse [CdL, rettifiche (setup), forno] + sequenze + operatori. Facoltativo, turni operatori Es 2: date n = 4 spedizioni e i vari parametri Calcolare lotto e costo con Lu + lotto e costo con Goyal + dire se è ottimo n=4 anche per Goyal (→ bastava verificare solo con n = 3 e n = 5). Facoltativo: Hill con dato λ. Tema 1: Indici di Similarità per clustering e order picking + indici per la valutazione delle prestazioni (PD, ID, OD, ... Grouping Efficiency, QI) Tema 2: Logistica distributiva: classificazione + funzione obiettivo e vincoli nel caso di consegna diretta con domanda non frazionata Compito Giallo: • • • • Es 1: Clustering con UPGMA, dendogramma, taglio al 55° e 75° percentile. Definire l'assegnazione parti-macchine relativa allo stesso esercizio, utilizzando come celle i cluster trovati in precedenza secondo il 55° percentile; trovare gli indici di performance ID, OD, PD, GE. Es 2: Flexible Order Picking, allocazione per classi (COI), modello per strisce paramentriche e zig-zag, trovare per i 2 modelli MB, n° campate/corridoi, area e disegnarli Tema 1: Elencare i 10 principi del Lean Manufacturing, descrivere i metodi di ausilio alla lean: takt time, supermarket, fifo lane, pacemaker, load leveling box e pitch Tema 2: Consignment stock A. Acquaderni, A. Azami, A. Gennari 188 a.a. 2010-2011 Esercizi Vari Esercizio dimensionamento risorse e livellamento produzione - 1 Dati: Produzione 2010 [pz] Domanda giornaliera Albero A 8700 39,54 → 40 Biella B 10560 48 Carter C 9800 44,55 → 45 Testata T 12400 56,36 → 57 CDL = 3 turni x 8h/turno Rettifica = 2 turni x 7,5h/turno Forno = 3 turni x 8h/turno 220 gg lavorativi all'anno Procedimento: 1. N° di macchine CDL per realizzare la produzione prevista N ° CDL = T richiesto T disponibile Tdisponibile = 3 * 8 * 220 * 60 = 316.800 [min/anno] Trichiesto = (0,85 + 4,10 + 8,50) * 8.700 + (5,20 + 3,40 + 2,70) * 10.560 + (13,20 + 8,40 + 2,40) * 9.800 + (5,20 + 3,40 + 2,70 + 10,50 + 5,70 + 12,30 + 8,6) * 12.400 = 1.071.703 [min/anno] N ° CDL = T richiesto 1.071.703 = =⌈ 3,38 ⌉=4 T disponibile 316.800 ⌈ ⌉ Coefficiente di utilizzazione = 3,38/4 = 0,845 = 84,5 % A. Acquaderni, A. Azami, A. Gennari 189 a.a. 2010-2011 2. N° operatori CDL per il solo piazzamento su pallet portapezzo (2,65 minuti/setup) TrichiestoSetup = (3 * 8.700 + 3 * 10.560 + 3 * 9.800 + 10 * 12.400) * 2,65 = 173.980 * 2,65 = 461.047 [min/anno] Tdisponibile = 8 * 220 * 60 = 105.600 [min/anno] N ° OperatoriCDL= T richiestoSetup 461.047 operatori = =⌈ 4,37 ⌉=5 T disponibile 105.600 giorno ⌈ ⌉ [ ] I setup avvengono in tempo mascherato → possiamo distribuire gli operatori nel corso della giornata come vogliamo (senza dividerli esattamente nei 3 turni, cosa che invece avremmo fatto considerando un Tdisponibile pari a 316.800). Coefficiente di utilizzazione = 4,37/5 = 0,87 → 87 % 3. N° macchine rettifica e N° macchine forno necessarie per la produzione prevista Per determinare il n° di macchine che richiedono setup devo prima stabilire quanti setup fare → determinare la sequenza di lavorazione ed il livellamento. TDisponibileRettifica = 2 * 7,5 * 60 * 220 = 198.000 [min/anno] TRichiestoRettifica = (3,2 + 3 + 4,3 + 1,7) * 8.700 + (10,5 + 1,5 + 18,4 + 2,3) * 10.560 + (7,60 + 2,10) * 9.800 + (18,40 + 2,30) * 12.400 = 803.192 [min/anno] N ° MacchineRettifica = T RichiestoRettifica 803.192 = =⌈ 4,06 ⌉=5 T DisponibileRettifica 198.000 ⌈ ⌉ TDisponibileForno = 3 * 8 * 60 * 220 = 316.800 [min/anno] TRichiestoForno = (20,3 + 4,6) * 8.700 + (16,4 + 4,9) * 9.800 + (18,5 + 1,5) * 12.400 = 673.370 [min/anno] N ° MacchineForno= T RichiestoForno 673.370 = =⌈ 2,13 ⌉=3 T DisponibileForno 316.800 ⌈ ⌉ 4. Determinare una politica di lotto per le macchine che lo richiedono ( → rettifica) → livellamento produzione che consenta minima dimensione dei lotti soddisfacendo la domanda annuale TdisponibileSetup = 5 [macchine] * 198.000 – 803.192 = 186.808 [min/anno] N ° MassimoSetup = T DisponibileSetup 186.808 = =⌊ 12.453,86 ⌋=12.453 T SetupUnitario 15 ⌊ ⌋ La sequenza di lavoro non è esplicitata → 2 alternative: • A, B, C, T → 4 setup → scegliamo questa alternativa • A, A, B, B, C, T → 6 setup N°Sequenze = 12.453/4 = 3.113,25 → 3.113 N°PezziA/sequenza = 8.700/3.113 = 2,79 A. Acquaderni, A. Azami, A. Gennari 190 a.a. 2010-2011 N°PezziB/sequenza = 10.560/3.113 = 3,39 N°PezziC/sequenza = 9.800/3.113 = 3,15 N°PezziT/sequenza = 12.400/3.113 = 3,98 Ora dobbiamo decidere come arrotondare il n° di pezzi per ogni sequenza → se arrotondo per difetto massimizzo il livellamento ma non soddisfo la domanda, il che è gravissimo → arrotondo per eccesso accontentandomi di un livellamento peggiore → PezziA/sequenza = 3 → N°SequenzeA = 8.700 / 3 = 2.900 PezziB/sequenza = 4 → N°SequenzeB = 10.560 / 4 = 2.640 PezziC/sequenza = 4 → N°SequenzeC = 9.800 / 4 = 2.450 PezziT/sequenza = 4 → N°SequenzeT = 12.400 / 4 = 3.100 A → 3,2 + 4,3 + 3 + 1,7 = 12,2 B → 10,5 + 18,4 + 1,5 + 2,3 = 32,7 C → 7,6 + 2,1 = 9,8 T → 18,4 + 2,3 = 20,7 → Sequenza totale = 15 + 12,2 * 3 + 15 + 32,7 * 4 + 15 + 9,8 * 4 + 15 + 20,7 * 4 = 349,4 [min/sequenza] Considerando 3.113 sequenze di 349,4 minuti otteniamo un tempo totale richiesto pari a TrichiestoSequenze = 349,4 * 3.113 = 1.087.682 [min/anno] TdisponibileSequenze = 5 * 198.000 = 990.000 [min/anno] → - 97.682 minuti a disposizione. Come si può osservare considerando un numero di sequenze massimo di 3.113 non si rispettano i tempi disponibili → potremmo considerare di produrre nel corso dell'anno tutti i prodotti per il n° di sequenze richieste dal prodotto col n° di sequenze minore, poi smettere di produrre quel prodotto e produrre gli altri e così via fino a che non rimane un unico prodotto da produrre. T'richiestoSequenze = 2.900 * (15 + 12,2 * 3) + 2.640 * (15 + 32,7 * 4) + 2.450 * (15 + 9,8 * 4) + 3.100 (15 + 20,7 * 4) = 943.964 [min/anno] → + 143.718 minuti rimanenti. 5. Tempi operatore per il carico e lo scarico di rettifica e forno TrichiestoOperatoriC/S Rettifica = (3 + 1,7) * 8.700 + (1,5 + 2,3) * 10.560 + 2,1 * 9.800 + 2,3 * 12.400 = 130.118 [min/anno] → a questo aggiungo i tempi di setup per il n° di sequenze di ogni prodotto → 15 * (1.740 + 1.760 + 1.920 + 1.772) = 108.480 [min/anno] → T richiestoOperatoriC/S Rettifica = 238.598 [min/anno] N ° OperatoriRettifica= T RichiestoOperatoriC /SRettifica 238.598 operatori operatori = =⌈ 1,2 ⌉ 4 T DisponibileRettifica 198.000 turno giorno ⌈ ⌉ [ ] [ ] Poiché abbiamo 2 turni per la rettifica distribuiremo gli operatori 2 al turno. TrichiestoOperatoriC/S Forno = 4,6 * 8.700 + 4,9 * 9.800 + 1,5 * 12.400 = 106.640 [min/anno] N ° OperatoriForno = T RichiestoOperatoriC / SForno 106.640 operatori operatori = =⌈ 0,33 ⌉=1 3 T DisponibileForno 316.800 turno giorno A. Acquaderni, A. Azami, A. Gennari ⌈ ⌉ 191 [ ] [ ] a.a. 2010-2011 Poiché abbiamo 3 turni di lavoro del forno dovremo mettere 1 operatore al turno → 3 operatori al giorno. 6. Valutazione economica dell'investimento + incidenza dei costi di reparto su ogni singolo prodotto considerando un ammortamento dei macchinari in 5 anni con un tasso di interesse i = 8% r n⋅i =0,2505 r n−1 r n⋅i € Rata− AmmortamentoRettifica =190.000⋅5⋅ n =237.975 anno r −1 [ ] [ ] [ ] r n⋅i € Rata− AmmortamentoForno =40.000⋅3⋅ n =30.060 anno r −1 r n⋅i € Rata− Ammortamento CDL= 50.000140.000⋅4 ⋅ n =152.805 anno r −1 Totale costo impianti = 237.975 + 30.070 + 152.805 = 420.840 [€/anno] Costo operatore Macchina = 33.200 * 3 = 99.600 [operatori/anno] (Forno) Costo operatore attrezzista = 36.200 * 5 = 181.000 [operatori/anno] (Rettifica) Costo operatore Tool Room = 36.200 * 5 = 181.000 [operatori/anno] (Centro di Lavoro) Imponiamo inoltre per ipotesi: • 3 operatori carrellisti (1 ogni turno) → 33.200 * 3 = 99.600 • 3 responsabili di turno (1 ogni turno) → 43.300 * 3 = 129.900 [€/anno] • 1 responsabile di unità produttiva → 52.100 [€/anno] • 2 impiegati di ufficio produzione → 33.200 * 2 = 66.400 [€/anno] Totale costo MOD = 99.600 + 181.000 + 181.000 + 99.600 + 129.900 + 52.100 + 66.400 = 809.600 [€/anno] Totale altri costi = 139.430 + 55.891 + 40.000 + 180.000 + 6.800 + 4.000 = 426.121 [€/anno] A. Acquaderni, A. Azami, A. Gennari 192 a.a. 2010-2011 Totale costo Energia = 16 h * 600 kW * 0,072 €/kWh + 980.000 kg/anno * 0,298 €/kg = 292.731 [€/anno] → Costo annuale totale = 420.840 + 809.600 + 426.121 + 292.731 = 1.949.292 [€/anno] Se sommassimo tutti i prodotti (8.700 + 10.560 + 9.800 + 12.400 = 41.460 pz/anno) otterremmo un'incidenza qualitativa dei costi totali sul singolo prodotto pari a: 1.949.292 / 41.460 = 47,02 [€/pz] Valore che non include l'incidenza del costo dei materiali. A. Acquaderni, A. Azami, A. Gennari 193 a.a. 2010-2011 Esercizio dimensionamento risorse e livellamento produzione – 2 Un'azienda produce 4 tipologie di prodotto finito (A, B, C, D) assemblando diversi componenti tra i quali 3 di questi (X, Y, Z) vengono realizzati per produzione interna su una risorsa stand-alone (M1) che richiede set-up. I dati di assemblaggio e di produzione e la distinta base relativa ai soli componenti di produzione interna sono riportati nelle tabelle. Si lavora su 1 turno di 8 h/gg con due pause di 10 minuti. La macchina M 1 e l’operatore addetto al carico/scarico e al set up lavora su 3 turni/gg di 8 h/turno, con due pause di 10 minuti per turno. Si considerino 20 giorni lavorativi al mese e 220 giorni/anno. Prodotto finito Domanda mensile = Dm [pz/mese] Componenti lavorati su M1 Quantità per assemblaggio = Qa A 3600 X 1 B 5400 Y 1 C 7200 Z 2 D 1800 X Domanda mensile e distinta base Componenti Quantità = Dm * Qa Dd = Domanda giornaliera 1 TMac [min/pz] TOp [min/pz] TLav = TMac + Top TSetup [min/pz] [min/setup] X 3600 + 1800 = 5400 5400/20 = 270 4,3 1,5 4,3 + 1,5 = 5,8 10 Y 5400 270 9,4 1,5 10,9 12 Z 14400 720 5,8 2 7,8 Tempi di lavoro, di servizio e di setup (TOp non compreso in TMac) 15 Si chiede di: 1. Calcolare il Takt Time della linea di assemblaggio [ ] [ ] [ ] sec turno sec TT = = pz pz Domanda cliente turno Tempo disponibile Nel nostro caso: Tdisp = 8*3600 – 2*10*60 = 27.600 [s/turno] Domanda mensile totale = 5.400 + 5.400 + 14.400 = 25.200 [pz/mese] Domanda al turno = 25.200 / (20 * 3) = 420 [pz/turno] → Takt Time = 27.600 / 420 = 65,7 [s/pz] 2. Individuare un possibile livellamento della linea di assemblaggio, indicando la sequenza di prodotti ed il numero di sequenze giornaliere da realizzare Un possibile livellamento potrebbe prevedere il soddisfacimento della domanda del cliente ogni giorno → 1 lotto al giorno, pari alla domanda giornaliera del cliente, per ogni prodotto → 1 sola sequenza al giorno del tipo SUx → X → SUY → Y → SUZ → Z ⌈ N ° macchine = ⌉⌈ ⌉⌈ T richiesto T T setup 2.235.640 = macchina = =⌈ 7,06 ⌉=8 macchine T disponibile T disponibile 3⋅8⋅220⋅60 A. Acquaderni, A. Azami, A. Gennari 194 ⌉ a.a. 2010-2011 Secondo l'ipotesi di livellamento di cui sopra Trichiesto = {5,8 [min/pz] * 270 [pz/gg] + 10 [min/gg] + 10,9 [min/pz] * 270 [pz/gg] + 12 [min/gg] + 7,8 [min/pz] * 720 [pz/gg] + 15 [min/gg]} * 220 [gg/anno] = 2.235.640 [min/anno] Tdisponibile = 3 * 8 * 60 * 220 = 316.800 [min/anno] 3. Con riferimento alla risorsa M1 definire una politica di lotto (corrispondente al massimo livellamento della produzione) che consenta il raggiungimento delle quantità annue da realizzare minimizzando le dimensioni dei lotti dei diversi prodotti e contestualmente il numero di macchine da prevedere Un'altra politica di lotto che minimizzi il numero di macchinari e massimizzi partendo da questo fattore il numero di sequenze eseguibili (con orizzonte temporale di 1 anno) prevede il seguente procedimento: ⌈ N ° macchine = ⌉⌈ ⌉⌈ T richiesto T 2.227.500 = Lavorazione = =⌈ 7,031 ⌉ =8 macchine T disponibile T disponibile 3⋅8⋅220⋅60 ⌉ Abbiamo considerato dunque come tempo richiesto solo il tempo di truciolo ed il tempo operatore in quanto distribuiremo i setup nel tempo in più che avanzerà avendo acquisito 8 macchine anzi che 7,03 infatti: Tdisponibile = {8 [macchine] * 316.800 [min/anno]} - T richiesto = 2.534.400 – 2.227.500 = 306.900 [min/anno] in cui posso distribuire i setup A questo tempo in via cautelativa sottraggo un 20% in quanto i macchinari non possono lavorare al 100%, inoltre parte del downtime verrà utilizzato per coprire guasti e fare manutenzione → 255.750 [min/anno] Una sequenza che possiamo stabilire è X → Y → Z → 1 setup per ciascun componente → ciascuna sequenza prevederà 10 + 12 + 15 = 37 [min/sequenza] per il setup. Il numero massimo di setup eseguibili in un anno sarà dato da: 255.750 / 37 = 6.912,16 → 6.912 sequenze → questo numero è elevato per le piccole quantità da produrre che abbiamo (soprattutto per X e Y) → decido di impostare un One Piece Flow → 1 pezzo prodotto per ogni setup (nonostante non si abbia un rapporto ottimale T produzione / Tsetup) → avremo 5.400 sequenze del tipo: SUx → 1*X → SUY → 1*Y → SUZ → 3*Z in cui produco più Z perché la domanda è 2,67 volte maggiore di quella degli altri → produco 3 pz ogni sequenza di Z e mi fermerò prima nell'anno. → 10 + 1*5,8 + 12 + 1*10,9 + 15 + 3*7,8 = 77 [min/sequenza] X e Y faranno 5.400 sequenze mentre Z ne farà solo 4.800 all'anno 4. Facoltativo: calcolare il numero di operatori necessari per il servizio alle risorse di tipo M1 e il coefficiente di utilizzo delle macchine M1 e dell’operatore N ° OperatoriM = 1 T Setup T Op 1,510⋅5.4001,512⋅5.4002⋅315⋅4.800 235.800 = = T disponibile 60⋅8⋅220 105.600 ⌈ ⌉ → Risultano 2,23 [operatori/gg] → 3 con un coefficiente di utilizzazione di 2,23/3 = 74 % Le risorse di tipo M1 invece risultano impiegate al 7,03/8 = 88 % A. Acquaderni, A. Azami, A. Gennari 195 a.a. 2010-2011 Esercizio Cellular Manufacturing e clustering - 1 Data la matrice di incidenza e la matrice di similarità parzialmente completata: Matrice di incidenza: P1 P2 P3 P4 P5 P6 P7 P8 P9 M1 1 0 1 1 1 0 1 0 1 M2 1 1 1 0 1 1 0 1 0 M3 0 1 0 1 1 0 1 0 1 Matrice di Similarità: M1 M2 M3 M4 0,45 0,56 0,67 M5 0,39 0,11 0,13 M4 M5 M1 M2 M3 0,1 1. Calcolare gli indici di similarità di Jaccard tra tutte le coppie di macchine e costruire la relativa matrice di similarità S ij = a abc a = n° parti lavorate su entrambe le macchine b = n° di parti lavorate solo sulla macchina i c = n° di parti lavorate solo sulla macchina j M1 – M2 → a = 3, b = 3, c = 3 → S12 = 1/3 = 0,33 M1 – M3 → a = 4, b = 2, c = 1 → S13 = 4/7 = 0,57 M2 – M3 → a = 2, b = 4, c = 3 → S23 = 2/9 = 0,22 Utilizzando un coefficiente general purpose risulterà una matrice simmetrica → M1 M2 M3 M4 M5 M1 M2 0,33 M3 0,57 0,22 M4 0,45 0,56 0,67 M5 0,39 0,11 0,13 0,1 2. Costruire un dendogramma applicando un algoritmo a scelta tra SLINK e CLINK → scegliamo CLINK 1° raggruppamento M3 – M4 con un valore di 0,67 → A. Acquaderni, A. Azami, A. Gennari 196 a.a. 2010-2011 M1 M2 M3-M4 M5 M1 M2 0,33 M3-M4 0,45 0,22 M5 0,39 0,11 0,1 Per inserire gli indici di similarità tra il cluster appena creato e le macchine mancanti si considera il minimo tra i coefficienti che legano gli elementi del cluster alla macchina di riferimento. → 0,45 è il valore minimo tra i coefficienti 0,57 e 0,45 che legano M1 rispettivamente a M3 e a M4 → 0,22 è il valore minimo tra i coefficienti 0,22 e 0,56 che legano M2 rispettivamente a M3 e a M4 → 0,45 è il valore minimo tra i coefficienti 0,57 e 0,45 che legano M1 rispettivamente a M3 e a M4 → 0,1 è il valore minimo tra i coefficienti 0,13 e 0,1 che legano M5 rispettivamente a M3 e a M4. 2° raggruppamento cluster (M3 – M4) + M1 con un valore di 0,45 → M1 – M3 - M4 M2 M5 M1 – M3 - M4 M2 0,22 M5 0,1 0,11 → 0,22 è il valore minimo tra i coefficienti 0,33 e 0,22 che legano M1 rispettivamente a M1 e al cluster (M3 - M4) → 0,1 è il valore minimo tra i coefficienti 0,39 e 0,1 che legano M5 rispettivamente a M1 e al cluster (M3 - M4) 3° raggruppamento cluster (M1 – M3 – M4) + M2 con un valore di 0,22 → M1 – M2 - M3 - M4 M5 M1 – M2 - M3 - M4 M5 0,1 → 0,1 è il valore minimo tra i coefficienti 0,11 e 0,1 che legano M5 rispettivamente a M2 e al cluster (M1 - M3 - M4) → Costruiamo il dendogramma: M3 M4 M2 M1 M5 0,67 0,45 A. Acquaderni, A. Azami, A. Gennari 0,22 197 0,1 a.a. 2010-2011 3. Utilizzando un altro indice di similarità a scelta ( → Relative Matching) creare una nuova matrice di similarità ed applicare a partire da questa un 3° algoritmo di clustering alternativo a CLINK e SLINK (→ UPGMA) → Scegliamo di applicare il coefficiente di Relative Matching S ij = a2 a⋅d abcd 2 a⋅d Ricordando che: 1. se b = 0 e c = o, allora Sij → 1 2. se a → 0 e d → 0, allora Sij → 0 3. se a = 0 allora Sij = 0 4. se a = M (dove M = n° di parti totali), allora Sij = 1 5. se (a+d) → M con a ≠ 0, allora Sij → 1 M1 – M2 → a = 3, b = 3, c = 3, d = 0 → S12 = 1/3 = 0,33 M1 – M3 → a = 4, b = 2, c = 1, d = 2 → S13 = (4 + √8) / (9 + √8) = 0,58 M2 – M3 → a = 2, b = 4, c = 3, d = 0 → S23 = 2/9 = 0,22 M1 M2 M3 M4 M5 M1 M2 0,33 M3 0,58 0,22 M4 0,45 0,56 0,67 M5 0,39 0,11 0,13 0,1 Ora applichiamo l'algoritmo di clustering UPGMA → r s 1 S rs = ⋅∑ ∑ S [ X i , X j ] r⋅s i=1 j =1 dove: r = numero di elementi appartenenti al cluster R; s = numero di elementi appartenenti al cluster S; Xri = generico elemento del cluster R; Xsj = generico elemento del cluster S; 1° raggruppamento M3 – M4 con un valore di 0,67 → M1 M2 M3-M4 M5 M1 M2 0,33 M3-M4 0,52 0,39 M5 0,39 0,11 0,12 M1, M3 – M4 → S1, 34 = (0,58 * 1 + 0,45 * 1) / 2 = 0,52 M2, M3 – M4 → S2, 34 = (0,56 * 1 + 0,22 * 1) / 2 = 0,39 A. Acquaderni, A. Azami, A. Gennari 198 a.a. 2010-2011 M5, M3 – M4 → S5, 34 = (0,13 * 1 + 0,1 * 1) / 2 = 0,11 2° raggruppamento cluster (M3 – M4) + M1 con un valore di 0,52 → M1 – M3 - M4 M2 M5 M1 – M3 - M4 M2 0,37 M5 0,21 0,11 S2, 134 = (0,39 * 2 + 0,33 * 1) / 3 = 0,37 S5, 134 = (0,12 * 2 + 0,39 * 1) / 3 = 0,21 3° raggruppamento cluster (M1 - M3 – M4) + M2 con un valore di 0,37 → M1 – M2 - M3 - M4 M5 M1 – M2 - M3 - M4 M5 0,19 S5, 1234 = (0,21 * 3 + 0,11 * 1) / 4 = 0,19 4. Determinare l’effetto del taglio del dendogramma ottenuto considerando la matrice di similarità risultante al punto 3. In particolare si considerino i tagli in corrispondenza della similarità 0.48 e successivamente del 50° percentile identificato sul numero delle aggregazioni possibili tra le macchine → Costruiamo il dendogramma: M3 M4 M1 M2 M5 0,67 0,52 0,37 0,19 Taglio al valore di similarità di 0,48 → (M1 – M3 – M4) e M2 ed M5 in altri 2 cluster separati. Se tagliamo al 50° percentile per il n° di aggregazioni ottengo lo stesso valore. VT% ∈ ] Simil {estremosup(%p + n°nodi)}; Simil {estremoinf(%p * n°nodi)} ] A. Acquaderni, A. Azami, A. Gennari 199 a.a. 2010-2011 Esercizio Cellular Manufacturing e clustering – 2 Prodotto Ciclo Produttivo Tempi di lavoro Volume produttivo X M1 – M3 – M4 - M2 3–4–6-2 230 Y M3 – M4 – M5 - M2 6–7–3-2 420 Z M1 – M2 – M1 – M3 - M5 2–4–6–8-3 100 W M3 – M1 - M3 7–4-6 200 K M4 – M1 – M3 – M4 - M5 3–5–6–4-2 320 M1 M2 M1 M2 M3 0,179 0,299 M4 M5 0,673 0,544 0,521 0,232 0,444 0,722 0,333 M3 0,440 M4 0,578 0,154 0,623 M5 0,345 0,312 0,722 0,891 0,221 1. Completare la matrice di similarità asimmetrica attraverso il coefficiente di similarità di Gupta e Seiffodini n ∑ S ij = k =1 n ∑ k=1 [ [ ] nk ij k X k⋅t ∑ Z ko ⋅mk o=1 ] nk X k⋅t ijk ∑ Z koY k ⋅m k o=1 [Il primo termine fa riferimento al tempo di processamento, il secondo alla sequenza] dove: i = macchina i-esima; j = macchina j-esima; k = indice delle parti → k = 1,...,n; n = numero di parti da lavorare; tk = tempo di processamento in cui la parte è lavorata sulle 2 macchine; [ [∑ nk min t ijk = o ki nij ∑ t ; ∑ t okj o=1 o=1 nk max o=1 nij t ;∑ t o ki o=1 o kj ] ] ≤1 Il valore tkij si avvicinerà tanto più a 1 quanto più i tempi sulle due macchine i e j saranno comparabili. o = numero di visite; nk = n° delle volte in cui la parte k visita i e j in sequenza; mk = volume produttivo della parte k: moltiplica ciascun termine della sommatoria, è l’informazione sul volume. Dà peso al flusso intercellulare e di qualità maggiore; A. Acquaderni, A. Azami, A. Gennari 200 a.a. 2010-2011 Xk = 1 se la parte k è lavorata sia da macchine i che da macchine j; 0 altrimenti; Zko = 1 se la parte k visita i e j in sequenza (ordine di visita e consecutivi) durante la visita o; o altrimenti; Yk = 1 se la parte k visita o (XOR = i o j, una o l’altra, tutte e 2 non vanno bene) la macchina i o (XOR) la macchina j; 0 altrimenti; t 13 X= min [3 ; 4] min [26 ; 8] min [4 ; 13] min[ 4 ; 6] =0,75 t 13 =1 t 13 =0,308 t 13 =0,833 Z= W= K= max[ 3 ; 4] max[26 ; 8] max[4 ; 13] max[5 ; 6] S 13= 1⋅0,751⋅2300⋅00⋅4201⋅11⋅1001⋅0,3081⋅2001⋅0,8331⋅320 1⋅0,7510⋅2301⋅4201⋅110⋅1001⋅0,30810⋅2001⋅0,83310⋅320 → S 13=0,775 S 31= 1⋅0,75⋅2300⋅00⋅4201⋅1⋅1001⋅0,3081⋅2001⋅0,833⋅320 =0,656 1⋅0,750⋅2301⋅4201⋅10⋅1001⋅0,30810⋅2001⋅0,8330⋅320 M1 M1 M2 M3 M4 M5 0,179 0,775 0,673 0,544 0,333 0,521 0,232 0,444 0,722 M2 0,299 M3 0,656 0,440 M4 0,578 0,154 0,623 M5 0,345 0,312 0,722 0,891 0,221 2. Applicare l'algoritmo basato sul Nearest neighbour method ( → SLINK) e costruire il dendogramma corrispondente 1° raggruppamento M4 – M5 con un valore di 0,891 M1 M1 M2 M3 M4 - M5 0,179 0,775 0,673 0,333 0,521 M2 0,299 M3 0,656 0,440 M4 - M5 0,578 0,312 0,722 0,722 → 0,578 è il valore massimo tra i coefficienti 0,578 e 0,345 che legano M1 rispettivamente a M4 e a M5 → 0,673 è il valore massimo tra i coefficienti 0,673 e 0,544 che legano rispettivamente M4 ed M5 a M1 → Si procede similmente per gli altri casi 2° raggruppamento M1 – M3 con un valore di 0,775 M1 - M3 A. Acquaderni, A. Azami, A. Gennari M2 201 M4 - M5 a.a. 2010-2011 M1 - M3 0,440 M2 0,333 M4 - M5 0,722 0,722 0,521 0,312 3° raggruppamento cluster (M1 – M3) con cluster (M4 – M5) con un valore di 0,722 M1 – M3 – M4 - M5 M1 – M3 – M4 - M5 M2 M2 0,440 0,521 4° raggruppamento cluster (M1 – M3 – M4 – M5) con M2 con un valore di 0,521 → Dendogramma: M1 M3 M4 M5 M2 0,891 0,775 0,722 0,521 3. Confrontare i valori di taglio 0,3 0,7 e quello individuato in corrispondenza del 75° percentile del numero di aggregazioni. Commentare le diverse soluzioni individuabili e definire le possibili clusterizzazioni delle macchine (M1 – M2 – M3 – M4 - M5) ottenibili nei tre casi. • • • Se tagliamo a 0,3 otteniamo un unico cluster con tutte le macchine Se tagliamo a 0,7 otteniamo i 2 cluster (M1 – M3 – M4 – M5) e M2 VT% ∈ ] Simil {estremosup(%p * n°nodi)}; Simil {estremoinf(%p * n°nodi)} ] → 75° percentile → ∈ ] Simil {estremosup(0,75 * 4)}; Simil {estremoinf(0,75 * 4)} ] → VT% ∈ ] Simil {estremosup(3)}; Simil {estremoinf(3)} ] → taglio al 3° nodo (compreso) ed ottengo un risultato identico a quello del caso precedente. A. Acquaderni, A. Azami, A. Gennari 202 a.a. 2010-2011 Esercizio Cellular Manufacturing e clustering – 3 Si hanno 7 parti (P1 - P7) da lavorare su 7 macchine (M 1 - M7), si hanno i cicli di lavoro delle parti, riportati nella prima tabella, e sono fornite le celle di lavoro (C 1 - C3) ottenute da un processo di clusterizzazione, riportate nella seconda tabella. Parti Ciclo di lavoro P1 M4 – M3 – M5 (100 pz; 2 – 3 – 2 min) P2 M6 – M1 – M3 – M7 (50 pz; 1 – 4 – 3 – 5 min) P3 M3 – M2 – M5 – M4 (46 pz; 4 – 3 – 6 – 8 min) P4 M2 – M4 – M6 – M1 – M4 (38 pz; 2 – 6 – 4 – 3 – 1 min) P5 M1 – M7 – M1 – M5 (56 pz; 4 – 6 – 2 – 1 min) P6 M1 – M6 – M3 (80 pz; 3 – 5 – 9 min) P7 M2 – M5 – M2 – M7 (70 pz; 5 – 7 – 4 – 6 min) Celle Macchine C1 M1 – M7 – M6 C2 M5 – M3 C3 M2 – M 4 1. Definire l’assegnazione Parti – Macchine Ricordiamo che per la determinazione delle euristiche e dunque per assegnare le parti alle macchine si considera innanzitutto il numero di movimenti intracellulari → si assegna la parte alla cella con cui ha massimo n° di flussi intracellulari, in caso di parità si assegna alla cella in cui la parte subisce il maggior numero di operazioni ed in caso di parità si assegna la parte alla cella nella quale subisce il tempo di processamento più lungo. P1 → n°MovIntracel: C1 = 0, C2 = 1, C3 = 0 → Assegnata a C2 P2 → n°MovIntracel: C1 = 1, C2 = 0, C3 = 0 → Assegnata a C1 P3 → n°MovIntracel: C1 = 0, C2 = 0, C3 = 0 → Parità → n°Operazioni: C1 = 0, C2 = 2, C3 = 2 → Parità → Tprocessamento: C2 = 4 + 6, C3 = 3 + 8 → Assegnata a C3 P4 → n°MovIntracel: C1 = 1, C2 = 0, C3 = 1 → Parità → n°Operazioni: C1 = 2, C3 = 3 → Assegnata a C3 P5 → n°MovIntracel: C1 = 2, C2 = 0, C3 = 0 → Assegnata a C1 P6 → n°MovIntracel: C1 = 1, C2 = 0, C3 = 0 → Assegnata a C1 P7 → n°MovIntracel: C1 = 0, C2 = 0, C3 = 0 → Parità → n°Operazioni: C1 = 1, C2 = 1, C3 = 2 → Assegnata a C3 A. Acquaderni, A. Azami, A. Gennari 203 a.a. 2010-2011 2. Costruire la corrispondente matrice diagonalizzata C1 C2 C3 P2 P5 P6 M1 1 1 1 M7 1 1 0 M6 1 0 1 M5 M3 P1 P4 P7 1 1 1 1 1 P3 1 1 1 1 1 M2 M4 1 1 1 1 1 1 1 0 N° di 1 in zone A = 14; N° di elementi in zone A = 17; N° di 1 in zone B = 10; N° di elementi in zone B = 32; 3. Valutare l’efficienza della matrice così ottenuta attraverso il calcolo degli indici di performance riportati nella terza tabella Problem Density=PD= n ° di 1 in zone Ae B 1410 = =0,490 n° di elementi in A e B 49 Inside Cells Density= ID= n ° di1 in zona A 14 = =0,824 n ° di elementi in A 17 Outside Cells Density=OD= n ° di 1 in zona B =0,312 n ° di elementi in B Number of Exceptional Elements=EE=n ° di 1 fuori diagonale , cioè in B=10 Ratio of Exception=RE= n ° di1 in zona B 10 = =0,417 n ° di 1 in AB 1410 Ratio of non 0 elements in cells=REC = n° di 1 1410 = =1,412 n ° di elementi in A 17 Più complesso è il percorso per determinare l'efficienza del raggruppamento: Grouping Efficiency=GE=q⋅ C ed ∑ M c⋅P c c=1 [ 1−q⋅ 1− e0 C M⋅P−∑ M c⋅P c c=1 ] dove il primo fattore rappresenta l’utilizzo delle celle (il denominatore rappresenta l’area della zona A), mentre il secondo fattore rappresenta i movimenti intercellulari (il denominatore indica l’area della zona B), e i parametri sono: ed = n° di “1” nella zona A = 14 e0 = n° di “1” nella zona B = 10 M = n° di macchine = 7 P = n° di parti = 7 A. Acquaderni, A. Azami, A. Gennari 204 a.a. 2010-2011 Area Totale Matrice = M * P = n° di elementi in A+B = 7 * 7 = 49 C = n° di celle = 3 Mc = n° di macchine appartenenti alla cella C Pc = n° di parti assegnate alla cella C C ∑ M c⋅P c q= c=1 M⋅P = → 1−q =1−0,347=0,653 3⋅32⋅12⋅3 17 = =0,347 7⋅7 49 Dai calcoli dunque risulta: [ ] 14 10 GE=0,347⋅ 0,653⋅ 1− =0,734 3⋅32⋅12⋅3 49−3⋅32⋅12⋅3 Ora resta da calcolare il Quality Index: C M [ P ∑ ∑ Y mc⋅ ∑ 1−Z pc ⋅X mp⋅V p⋅T mp QI =Quality Index=1− c=1 m=1 M p=1 P ∑ ∑ X mp⋅V p⋅T mp ] =1− ICW PW m =1 p=1 Ymc = 1 solo se la macchina M appartiene alla cella C 0 altrimenti Zpc = 1 se la parte P appartiene alla cella C 0 altrimenti Ora rimangono solo le parti fuori dalla cella che esistono solo se c’è una lavorazione che deve essere lavorata da un’altra macchina → Xmp = 1 se la parte P deve essere lavorata dalla macchina M 0 altrimenti A denominatore abbiamo il valore numerico di volume per tempo di tutti gli “1” che devo gestire nelle celle di lavoro, a numeratore invece solo gli “1” relativi ai flussi intercellulari. → Per comodità separo il calcolo di numeratore e denominatore: Numeratore: Cella 1 (M1, M7, M6) → P4 in M1 ed M6 e P7 in M7 → 38 * (6 + 4) + 70 * 6 = 800 [min] Cella 2 (M5, M3) → P5 in M5, P2 in M3, P6 in M3 e P3 in M3 ed in M5, P7 in M5 → 56 * 1 + 50 * 3 + 80 * 9 + 46 * (4 + 6) + 70 * 7 = = 1.876 [min] Cella 3 (M2, M4) → P1 in M4 → 100 * 2 = 200 [min] → Totale Numeratore = 800 + 1.876 + 200 = 2.876 [min] Denominatore: 100 * (2 + 3 + 2) + 50 * (1 + 4 + 3 + 5) + 46 * (4 + 3 + 6 + 8) + 38 * (2 + 6 + 4 + 3 + 1) + 56 * (4 + 2 + 6 + 1) + 80 * (3 + 5 + 9) + 70 * (5 + 7 + 4 + 6) = 6.552 [min] A. Acquaderni, A. Azami, A. Gennari 205 a.a. 2010-2011 Riassumendo dunque: QI =1− ICW 2.876 =1− =0,439 PW 6.552 ICW = Carico di Lavoro Intercellulare PW = Carico di Lavoro Totale In conclusione: Indice Valore PD 0,490 ID 0,824 OD 0,312 EE 10 RE 0,417 REC 1,412 GE 0,734 QI 0,439 A. Acquaderni, A. Azami, A. Gennari 206 a.a. 2010-2011 Esercizio Analisi dei Flussi L’azienda Gamma ha dimensionato il layout del suo nuovo reparto lavorazioni meccaniche, in cui dovranno essere inserite 4 tipologie di risorse (m 1, m2, m3, m4), precedentemente dimensionate e si trova ora ad eseguire l’analisi dei flussi funzionale al dimensionamento dei veicoli e all’analisi delle prestazioni. L’azienda lavora 1 turno al giorno di 7,5 ore per 220 giorni/anno e si ipotizza che un carrello elevatore possa trasportare 1 UDC pallettizzata alla volta. Il problema riporta i dati relativi a: matrice delle distanze, individuata dalla rete di percorsi tra i flow control point, elenco delle risorse con le rispettive aree dedicate al solo stoccaggio, dati di produzione e dati relativi alle prestazioni del sistema di material handling. Dati di produzione (cicli e produttività + Viaggi/gg) Prodotto Ciclo di lavoro Dd = Domanda giornaliera [pz/gg] Pezzi/Pallet → Viaggi/gg = Dd / (Pz/Pallet) P1 m1 - m4 - m2 - m1 65 10 7 P2 m3 - m4 - m2 - m1 90 14 7 P3 m2 - m3 - m1 - m4 - m3 45 10 5 P4 m1 - m4 - m2 - m1 - m3 100 12 9 Matrice delle distanze [m] m1 m1 m2 m3 m4 mIN mOUT 65 15 60 70 70 80 65 135 135 45 85 50 130 95 m2 65 m3 15 80 m4 60 65 45 mIN 70 135 85 130 mOUT 70 135 50 95 60 60 Caratteristiche del Sistema di Material Handling Carrello Elevatore Velocità a regime 2,5 [m/s] Accelerazione 0,1 [m/s2] Decelerazione 0,1 [m/s2] Disponibilità 94% Tempi di carico e scarico 1,7 [min/pallet] Capacità pallet 1 Costo 0,02 [€/metro percorso] Pallet Lunghezza 1 [m] Larghezza 0,8 [m] A. Acquaderni, A. Azami, A. Gennari 207 a.a. 2010-2011 Si chiede di: 1. Costruire la matrice dei flussi e individuare i viaggi di ribilanciamento scarichi Iniziamo calcolando il numero di viaggi che ogni prodotto dovrà fare (vedi prima tabella). In seguito calcoliamo la From - To Chart considerando anche le zone fittizie m IN ed mOUT. Tabella dei flussi (From To Chart) m1 m2 m1 m2 7+7+9 m3 5 m4 mIN 9 7+5+9 mOUT Tot 7+7 44 5 28 7 m4 mIN m3 5+9 26 7+7+9 5 28 5 7 28 7+9 mOUT 0 Tot 44 28 26 28 0 28 154 Abbiamo verificato dalle somme totali la differenza tra i flussi in ingresso e uscita, e vediamo che il numero di viaggi scarichi da mOUT a mIN è pari a 28. Se invece non considerassimo le zone di m IN ed mOUT otterremo un diverso bilanciamento per ogni macchina. m1 m2 m1 m2 23 m3 5 +2 28 +2 = 30 m4 Tot 9 21 30 5 5 m4 Tot m3 7 23 5 23 + 5 =28 19 A. Acquaderni, A. Azami, A. Gennari 28 208 12 +7 =19 28 28 98+7=105 a.a. 2010-2011 2. Relativamente alla risorsa m3 calcolare le aree occupate da ciascun prodotto Dai dati avevamo: 1 UdC = 1 * 0,8 = 0,8 m2 Considerando m3, andiamo a vedere quali parti la utilizzano → P2, P3, P4. Calcoliamo l’area richiesta dalla macchina i (i = 3) per il prodotto k (k = 2, 3, 4) → Aik = ∑ f ijk f kji ⋅a k j 2 P2 → Am3P2 = [(7+7) [viaggi/gg] * 0,8] / 2 = 5,6 m2 P3 → Am3P3 = [(5 + 5 + 5 + 5) * 0,8] / 2 = 8 m2 P4 → Am3P4 = [(9 + 9) * 0,8] / 2 = 7,2 m2 [Abbiamo considerato sempre i viaggi andata/ritorno → 7 + 7, 5 + 5, 9 + 9] Ai = Σk Aik = 5,6 + 8 + 7,2 = 20,8 m2 Il totale dell’area stoccaggio della macchina 3 occupata è 20,8 m 2 L’Indice di Saturazione sarà SIi = Ai/ADi = 20,8/40 = 0,52 → 52% Dove ADi = Area occupata dai 2 torni = 2*20 = 40 m2 3. L’indicatore di flusso e l’indice di saturazione delle aree di stoccaggio, commentando i risultati ottenuti Tabella delle Risorse e delle Aree di stoccaggio Tipo macchina N° Area disp. [m2] ADi Tot [m2] Ai [m2] SI FI m1 (Centro di Lavoro) 4 45 180 35,2 0,196 0,240 m2 (Rettifica multistep) 3 35 105 22,4 0,213 0,267 m3 (Tornio) 2 20 40 16,8 0,42 0,650 m4 (Robot sedi e guide valvole) 4 10 40 22,4 0,56 0,700 mIN 1 60 60 22,4 0,373 0,467 mOUT 1 60 60 22.4 0,373 0,467 k Dove: j ∑ f ijk∑ f kji FI i= j j 2⋅AD i Per comodità utilizziamo l’intero superiore di Aik, ad esempio useremo 23 m2 anziché 22,4 m2. Come si può osservare dai risultati abbiamo ottenuto un livello medio saturazione/rotazione delle aree molto basso (in quasi tutti i casi sotto il 50%). A. Acquaderni, A. Azami, A. Gennari 209 di a.a. 2010-2011 4. Relativamente al prodotto 2 calcolare la distanza percorsa, il tempo di movimentazione, il numero di viaggi e il costo di movimentazione Ipotizziamo un ciclo in cui i carrelli si trovano già in m IN, trascurando quindi i viaggi scarichi. P2 → mIN - m3 - m4 - m2 - m1 - mOUT Distanza percorsa: 85 * 7 + 45 * 7 + 65 * 7 + 65 * 7 + 70 * 7 = 2.310 [m] Tempo movimentazione: Per calcolare il tempo di percorrenza si potrebbe fare distanza/velocità + t c/s ma in realtà devo considerare accelerazione e decelerazione → v = a * t → t = v/a = 2,5/0,1 = 25 s per arrivare alla velocità di regime pari a 2,5 m/s → in 25 s percorrerà uno spazio pari a x = ½ a*t2 = 31,25 [m] Poiché la decelerazione è uguale all’accelerazione avrò percorso in totale 62,5 m per ogni tratta solo in accelerazione e decelerazione. • • • • • Per il tratto da mIN a m3 il carrello dunque percorrerà a regime uno spazio pari a 85 62,5 = 22,5 [m] impiegando un tempo pari a t = x/v = 22,5/2,5 = 9 [s]. Il tempo totale impiegato da questa tratta è TmIN-m3 = (25 + 9 + 25) * 7 = 413 [s/gg] Per il tratto m3 - m4 si ha un problema dato dal fatto che la distanza totale è minore della distanza richiesta per arrivare a regime di velocità → dividiamo in 2 il tratto e sappiamo che fino a metà il carrello accelera e dalla metà alla fine decelera. 45/2 = ½ *a*t2 → t = 21,21 s → Tm3-m4 = (21,21 +21,21) * 7 = 297 [s/gg] Per il tratto da m4 a m2 il carrello percorre 62,5 [m] in accelerazione e decelerazione e 2,5 [m] a regime impiegando un tempo di 2,5/2,5 = 1 [s] → T m4-m2 = (25 + 1 + 25) * 7 = 357 [s/gg] Per il tratto da m2 a m1 vale lo stesso che per il tratto da m 4 a m2 → il carrello percorre 62,5 [m] in accelerazione e decelerazione e 2,5 [m] a regime impiegando un tempo di 2,5/2,5 = 1 [s] → Tm2-m1 = (25 + 1 + 25) * 7 = 357 [s/gg] Per il tratto da m1 a mOUT il carrello percorre 62,5 [m] in accelerazione e decelerazione e 7,5 [m] a regime impiegando un tempo di 7,5/2,5 = 3 [s] → T m1-mOUT = (25 + 3 + 25) * 7 = 371 [s/gg] Ammontare del tempo di movimentazione dei viaggi carichi per la parte 2: (413 + 297 + 357 + 357 + 371) = 1.795 [s/gg] = 29,91 [min/gg]. A questi vanno sommati i tempi di carico e scarico (questo calcolo lo possiamo effettuare separatamente essendo il prodotto 2 trasportato in 7 pallet/gg = 7 viaggi/gg tra tutti i macchinari, altrimenti sommerei i tempi di carico/scarico in ogni singola tratta → Tc/s = 5 [tratte] * 7 [viaggi (pallet) /gg] * 1,7 [min/pallet] = 59,5 [min/gg] Ora dobbiamo calcolare il tempo di movimentazione relativo ai viaggi scarichi per P 2 → Il carrello non fa in tempo ad arrivare a regime per cui ripetiamo la procedura utilizzata nel caso del viaggio da m 3 a m4 → dmOUT-mIN /2 = 60/2 = 30 [m] → 30 = ½ a * t 2 → t = 24,5 [s] → T'mOUT-mIN = (24,5 + 24,5) * fmOUT-mIN = 49 * 7 = 343 [s/gg]. A. Acquaderni, A. Azami, A. Gennari 210 a.a. 2010-2011 Per arrivare ad una valutazione economica bisogna calcolare la distanza totale percorsa → k i d = d P2= ∑ f ij⋅d ij∑ f ji⋅d ij jk jk N k [ 8545656570⋅760⋅7 m =30,33 90 pezzo⋅giorno ] → Costo unitario CP2 = €d * dP2 = 0,02 * 30,33 = 0,607 [€/(pz*gg)] → Costo annuale di movimentazione del pezzo P2 = Ctot = CP2 * 220 = 133,54 [€/pz] [Per il calcolo del n° di veicoli da acquistare dovremmo sommare tutti i tempi richiesti per la movimentazione delle varie parti P e dividere questo risultato per il tempo disponibile reale (7,5 [h/gg] * 60 [min/h] * 0,94 [coefficiente di disponibilità]) ed arrotondare il numero ottenuto all’intero superiore]. Numero di viaggi: 7 * 5 + 7 * 1 = 42 [Viaggi carichi + Viaggi scarichi] A. Acquaderni, A. Azami, A. Gennari 211 a.a. 2010-2011 Esercizio Gestione Integrata delle Scorte - 1 D = 1.250 [pz/gg] P = 3.500 [pz/gg] A2 = costo fax = 1 + 124 = 125 [€/spedizione] h2 = costo giacenza presso il buyer = 12 [€/(pz*gg)] h1 = costo giacenza presso il vendor = 5 [€/(pz*gg)] A1 = costo setup dell'ordine = n° operatori * paga oraria * tempo richiesto = 2 [op/setup] * 100 [€/h] * 1,5 [h/op] = 300 [€/setup] 1. Sapendo che, da un'analisi delle giacenze, il modello ottimale risulta quello a spedizioni costanti (→ Lu), determinare n° di spedizioni ottimale (n) e quantità per ogni spedizione (q), poi determinare il costo di giacenza ed il costo complessivo di questa politica q *Lu = A1n⋅A2 ⋅ [ h1⋅ D n D P− D h2 −h1 n⋅ P 2P 2 ] [ ] D D⋅n D⋅q P− D q C q=A1⋅ A2⋅ h1⋅ ⋅q⋅n h2 −h1 ⋅ n⋅q n⋅q P 2P 2 → Ora secondo un processo iterativo imponiamo vari n (n° di spedizioni) per ottenere diverse dimensioni di spedizione q che comportano diversi costi complessivi C(q) → il n° di spedizioni n* che comporta il minor costo sarà il n° ottimale da scegliere → N° spedizioni q* [pz/spedizione] Q [pz/lotto] C(q*) [€/anno] 1 278 278 3.827 2 202 404 3.419 3 88 264 4.085 4 ... ... ... Notiamo che tra il secondo ed il terzo valore per il n° di spedizioni il costo torna a crescere → il n° ottimale secondo Lu sarà 2 spedizioni. 2. Calcolare i tempi di produzione ed i tempi di consumo di un lotto Il tempo di produzione è T1 da t1 a t2 mentre i tempi di consumo saranno tutti T2 → A. Acquaderni, A. Azami, A. Gennari 212 a.a. 2010-2011 T1 = q/P = 202/3.500 = 0,0577 [gg] = 0,46 [h] T2 = q/D = 202/1.250 = 0,1616 [gg] = 1,29 [h] (con l'ipotesi di 8 h/gg) 3. Calcolare la giacenza media di buyer e vendor G MediaVendor= q⋅D q P− D q 202⋅1.250 202 3.500−1.250 202 ⋅ − = ⋅ − =36 [ pz ] P 2 P 2 3.500 2 3.500 2 q 202 G MediaBuyer = = =101 [ pz ] 2 2 4. Graficare l'andamento delle giacenze di buyer e vendor nel tempo, nel caso ottimo individuato al punto 1, alla luce dei valori effettivi di q e Q e delle giacenze individuate 5. Facoltativo: considerando i dati di partenza, indicare come dovrebbe essere modificato il costo di mantenimento a scorta presso il produttore di detersivi affinché il modello di lotto economico congiunto migliore risulti essere quello di Goyal. Sta chiedendo quale sia quell'h 1 che renda conveniente il modello di Goyal rispetto al modello di Lu → pongo uguali le due formule di costo e ricavo h 1 dal risultato. n D −1 q⋅ 1⋅h1⋅h2 C q= A1n⋅A2 ⋅ ⋅ n q −1 2⋅1 dove λ = P/D = 2,8, mentre manteniamo inalterati gli altri dati come P, D, A1, A2, h2, q, n. 2 1.250 2,8−1 202⋅2,8 1⋅ h12,8⋅12 € C 202=3002⋅125⋅ ⋅ 2 =3.419 202 2,8 −1 2⋅2,8⋅2,81 anno [ ] h *1= [ ] 1.250 2,8−1 3.419−3002⋅125⋅ ⋅ ⋅2⋅2,8⋅2,81 202 2,82−1 2 202⋅2,8 1 −2,8⋅12=−3,5 [ € pz⋅giorno ] Un valore conveniente dovrebbe essere 0 < Valore conveniente < h 1*; essendo h1* < 0 il modello di Goyal nel nostro caso non conviene mai. A. Acquaderni, A. Azami, A. Gennari 213 a.a. 2010-2011 Esercizio Gestione Integrata delle Scorte - 2 Vendor: P = 3.340 [pz/gg] A1 = 26 [€/spedizione] + 0,5 [h/spedizione] * 4 [operatori] * 160 [€/(h*operatore)] = 346 [€/spedizione] h1 = 12 [€/(pz*gg)] Buyer: D = 1.400 [pz/gg] A2 = 6 [€/spedizione] h2 = 16 [€/(pz*gg)] I 2 attori stanno valutando la modalità di spedizione più conveniente per entrambi → nel caso scelgano di applicare il modello del Consignment Stock: 1. Calcolare il numero di spedizioni ottimali (n), la dimensione del lotto Q e i relativi valori di giacenza media presso il fornitore e di giacenza massima presso il buyer Secondo il modello del conto deposito vale la formula per determinare la quantità q da spedire in ogni lotto: q= D A1n⋅A2 ⋅ n [ h2⋅ ] n⋅ P−D D D −h2 −h1 ⋅ 2P P 2P Ogni quantità q determinerà un costo C(q) dato da: C q= A1n⋅A2 ⋅ n⋅q⋅ P− D q⋅D h2−h1 ⋅q⋅D D h 2⋅ − n⋅q 2P P 2P [ ] Per determinare il n° di spedizioni ottimale n, procediamo in maniera iterativa ponendo diverse “n” e calcolando in base ad “n” un “q” e quindi un “C(q)” → sceglieremo come alternativa ottimale quella che permette di avere un costo complessivo minore. n q* [pz/spedizione] Q [pz/lotto] C(q*) [€/gg] 1 217 217 4552,72 2 129 258 3898,49 3 93 279 3668,7 4 73 292 3559,19 5 61 305 3501,11 6 52 312 3469,02 7 45 315 3452,23 8 41 328 3446,43 9 37 333 3446,16 10 33 330 3449,49 A. Acquaderni, A. Azami, A. Gennari 214 a.a. 2010-2011 Vista la similarità fra i risultati ottenuti con 8 e 9 spedizioni, scegliamo di impostare 8 spedizioni di lotti da 41 prodotti ciascuno per un costo complessivo di € 3.446,43, in quanto preferiamo effettuare una spedizione in meno pur pagando un’inefficienza di costo di 27 centesimi infatti in questo modo ci cauteliamo da eventuali congestioni o problemi la cui probabilità di accadimento aumenta all’aumentare del n° di spedizioni. q D G MediaVendor= ⋅ 2 P q⋅D G MaxBuyer =n⋅q− n−1⋅q ' =n⋅q− n−1⋅ P [ 1 1 q⋅D G MediaBuyer = ⋅G MaxBuyer = ⋅ n⋅q−n−1⋅ 2 2 P ] Nel caso di n = 8 [spedizioni/gg] GMediaVendor = 41 * 1.400 / (2 * 3.340) = 8,59 → 9 [pz/gg] GMaxBuyer = 8 * 41 – 7 * 41 * 1.400 / 3.340 = 207,7 → 208 [pz/gg] GMediaBuyer = GMaxBuyer / 2 = 104 [pz/gg] 2. Calcolare il tempo necessario al vendor per la produzione di un lotto Q e il tempo richiesto al buyer per il consumo di un intero lotto TB = tempo di consumo del buyer = Q/D = 328/1.400 = 0,234 [gg] = 1,874 [h] TV = tempo di produzione del vendor = Q/P = 328/3.340 = 0,098 [gg] = 0,786 [h] (Considerando per ipotesi un turno da 8 h/gg) 3. Graficare l’andamento delle giacenze in corrispondenza del valore ottimale di spedizioni ricavato al punto 1, con i corrispondenti valori di tempo e di stock calcolati in precedenza e l’andamento dei costi al variare di n Giacenza [pz] Tempo [h] TV = 0,786 [h] TB = 1,874 [h] A. Acquaderni, A. Azami, A. Gennari 215 a.a. 2010-2011 4. Facoltativo: valutare la convenienza economica di applicare il modello a spedizioni costanti a parità di spedizioni, considerando in tal caso un incremento del costo di emissioni ordini di 8 [€/ordine] e un incremento del costo di mantenimento in giacenza di 2 [€/(unità * giorno)] q *Lu = A1n⋅A2 ⋅ [ h1⋅ D n D P− D h2 −h1 n⋅ P 2P 2 ] [ ] D D⋅n D⋅q P− D q C q=A1⋅ A2⋅ h1⋅ ⋅q⋅n h2 −h1 ⋅ n⋅q n⋅q P 2P 2 Dobbiamo dunque ricalcolare C(q) secondo la formula di Lu considerando: A2’ = 6 + 8 = 14 [€] h2’ = 16 + 2 = 18 [€/(pz*gg)] h1’ = 12 + 2 = 14 [€/(pz*gg)] → nel caso di 8 spedizioni: q*Lu = 45 [pz/spedizione] C (q*Lu) = 3.598,90 [€/gg] Anche se il modello di Lu ci indica una soluzione ottima per n = 7 spedizioni, possiamo constatare che anche con 9 spedizioni, a causa dell’incremento dei costi di giacenza e di emissione ordini, con € 3.613,69 il modello di Lu risulta meno conveniente rispetto ai € 3.478,02 previsto con il consignment stock. A. Acquaderni, A. Azami, A. Gennari 216 a.a. 2010-2011 Esercizio Flexible Order Picking - 1 Un'azienda sta valutando la convenienza ad allocare una famiglia di 8 prodotti (P 1, … ,P8) nel proprio magazzino gestito mediante Flexible Order Picking. In particolare l’azienda intende confrontare il metodo di allocazione per classi con il metodo di allocazione per correlazione. Tra i dati si riportano le giacenze medie mensili relative agli 8 prodotti considerati, gli ordini giornalieri relativi agli stessi prodotti e il risultato della clusterizzazione degli 8 prodotti. Si ipotizzi di allocare i prodotti in magazzino al livello 0 e all’interno di una UDC di dimensioni 800 x 1.000 x 1.400 (h) mm e di utilizzare un’allocazione di lato all’interno dei moduli base. Dato lo schema rappresentante la pianta del magazzino caratterizzato da moduli base di dimensioni 4.000 x 2.700 mm, e considerando che l’operatore di picking utilizza un contenitore di dimensioni 800 x 1.200 x 1.300 (h) mm per eseguire il prelievo: Codice Prodotto Giacenza media mensile [m3] P1 23 P2 46 P3 38 P4 24 P5 45 P6 32 P7 77 P8 52 TOT 337 [m3] Ordini giornalieri 1. Individuare una possibile allocazione per classi, utilizzando il metodo di assegnazione per strisce parametriche. Indicare per ciascuna classe il numero di campate e l’area occupate e schematizzare in pianta l’allocazione ottenuta. Si consideri un volume massimo per la classe A pari a 100 m3 2.700 4.000 Considerando un Modulo Base (MB) delle dimensioni di 4.000 x 2.700 [mm] conviene una disposizione del pallet di punta (nonostante il testo suggerisca disposizione di lato) → nel lato corto (2.700 mm) si affacciano sul corridoio 3 Udc per lato → 6 Udc per ogni MB. Totale giacenze = 337 m3 + 10% margine di sicurezza → 337 * 1,1 = 370,7 m3 necessari. Volume 1 Udc = 0,8 * 1 * 1,4 = 1,12 m3 N° MB necessari = 370,7 / (1,12 * 6) = 55,16 → 56 MB → Area Totale richiesta = 56 * (2,7 * 4) = 604,8 m2 Dobbiamo valutare le dimensioni del magazzino → il fattore di forma → poniamo un fattore di forma P/L = 0,5 → L = 2P. A. Acquaderni, A. Azami, A. Gennari 217 a.a. 2010-2011 L * P = 604,8 m2 → 2P * P = 604,8 m2 → P = 17,39 m N°Campate = P/2,7 m = 17,39/2,7 = 6,44 → 7 MB PReale = 7 * 2,7 = 18,9 m L = 2 * P = 2 * 17,39 = 34,78 m N°Corridoi = 34,78 / 4 = 8,695 → 9 corridoi LReale = 9 * 4 = 36 m LReale * PReale = 36 * 18,9 = 680,4 m2 che è maggiore dei 604,8 m2 strettamente necessari. Andiamo verso un'allocazione per classi → dobbiamo calcolare il COI → Popularity frequenza di prelievo COI Cube Order Index = [ ] 1 UdT [ ] 3 Giacenza Media m UdT = [ ] 1 m3 Per questo ci servono le Popularity dei vari prodotti: Codice Prodotto Giacenza media mensile [m3] Popularity giornaliera Popularity mensile COI [1/m3] Ordine COI P1 23 2 40 1,74 4° P2 46 4 80 1,74 5° P3 38 4 80 2,11 2° P4 24 5 100 4,17 1° P5 45 3 60 1,33 6° P6 32 3 60 1,87 3° P7 77 2 40 0,52 8° P8 52 2 40 0,77 7° 25 500 3 TOT 337 [m ] Prodotti Giacenza media Riordinati mensile [m3] Popularity mensile % Giacenza % Cumulata Giacenza % Popularity % Cumulata Popularity P4 24 100 7,12 7,12 20 20 P3 38 80 11,28 18,4 16 36 P6 32 60 9,5 27,9 12 48 P1 23 40 6,82 34,72 8 56 P2 46 80 13,65 48,37 16 72 P5 45 60 13,35 61,72 12 84 P8 52 40 15,43 77,15 8 92 P7 77 40 22,85 100 8 100 Ora vogliamo dividere le classi secondo un Pareto basato sulla giacenza cumulata: • Classe A → fino al 18,4 % → P4, P3 • Classe B → fino al 48,4 % → P6, P1, P2 • Classe C → fino al 100 % → P5, P8, P7 A. Acquaderni, A. Azami, A. Gennari 218 a.a. 2010-2011 Ora dobbiamo calcolare lo spazio occupato dalle varie classi ricordandoci che il n° di corridoi occupati = n° di MB occupati = Giacenza classe / volume di 1 MB ( = 1,12 * 6 = 6,72) e n° di campate occupate = n° di MB occupati / n° corridoi. Classi Giacenza media totale classe [m3] N° MB = n° Corridoi N° Campate Area [m2] (n° MB * 2,7 * 4) A (P4 - P3) 62 9,22 → 10 10/9 = 1,11 10 * 10,8 = 108 B (P6 - P1 - P2) 101 15,03 → 16 16/9 = 1,78 16 * 10,8 = 172,8 C (P5 - P8 - P7) 174 25,9 → 26 26/9 = 2,89 26 * 10,8 = 280,8 Ora vediamo graficamente l'allocazione delle classi nelle campate (l'allocazione dei prodotti all'interno della classe di appartenenza è casuale, prodotti simili saranno però accostati tra loro). C B A I/O Come si può notare, l'aver arrotondato per eccesso il n° di corridoi ed il n° di campate ha portato ad una sovrabbondanza di spazio, si ha addirittura un corridoio intero che potrà essere eliminato o mantenuto a seconda delle politiche di impresa e dell'incertezza del mercato. 2. Eseguire l’allocazione a magazzino dei cluster forniti in tabella, attraverso il criterio Cluster-COI Based, utilizzando il metodo di assegnazione per strisce parametriche. Indicare per ciascun cluster il numero di campate e l’area occupata e schematizzare in pianta il risultato ottenuto Cluster Prodotti C1 P1, P 2 C2 P6, P7, P8 C3 P5 C4 P 3, P 4 Ora calcoliamo il COI dei clusters per determinare la priorità di inserimento dei cluster nel layout. Il COI di un cluster è dato da ΣPopularity / ΣGiacenze degli elementi del cluster: A. Acquaderni, A. Azami, A. Gennari 219 a.a. 2010-2011 Clusters COI [1/m3] Priorità C1 (P1, P2) (40 + 80) /(23 + 46) = 1,74 2° C2 (P6, P7, P8) 140 / 161 = 0,87 4° C3 (P5) 1,33 3° C4 (P3, P4) 180 / 62 = 2,90 1° Ora riordiniamo i clusters in base al COI decrescente, calcoliamo il n° di moduli base necessari e l'area occupata: Clusters Giacenza media totale classe [m3] N° MB = n° Corridoi Area [m2] (n° MB * 2,7 * 4) C4 (P3, P4) 62 9,22 → 10 108 C1 (P1, P2) 69 10,26 → 11 118,8 C3 (P5) 45 6,69 → 7 75,6 C2 (P6, P7, P8) 161 23,96 → 24 259,2 Infine vediamo in via grafica la disposizione dei cluster all'interno del layout: C2 C3 C1 C4 3. Confrontare i due metodi di allocazione individuando quello migliore dal punto di vista dei costi di movimentazione per l’evasione degli ordini. In tal senso si consideri un costo unitario di movimentazione pari a 0,02€/m (vedi esercizio pagina successiva) 4. Facoltativo: considerare l’allocazione per correlazione con lista di priorità con criterio Cluster Based e verificare la differenza di costo di movimentazione per tale configurazione rispetto a quelle precedenti A. Acquaderni, A. Azami, A. Gennari 220 a.a. 2010-2011 Esercizio Flexible Order Picking - 2 Un'azienda si trova a riprogettare l’area di stoccaggio destinata a 4 prodotti (A, B, C, D) in funzione della necessità di introdurre la politica di Flexible Order Picking per il prelievo dei suddetti prodotti. In tabella 1 si riportano le giacenze medie in [m 3] relative al un orizzonte prefissato di un mese. Siano noti inoltre gli ordini relativi ad 1 giorno di lavoro (che si considerano rappresentativi degli ordini mensili), con le rispettive quantità richieste per ogni riga d’ordine, riportati in tabella 2. Si chiede di progettare il magazzino di picking, di tipo picker to product, con fattore di forma pari a 0,5 e in cui la merce è collocata al livello 0 all’interno di unità di carico di dimensioni 800 x 1.000 x 1.400 mm (h) con moduli base di dimensione 2.700 x 4.000, con 2 pallet allocati di lato. La nuova area di stoccaggio deve garantire di contenere le giacenza media totale, utilizzando il metodo di allocazione per correlazione, utilizzando l’indice di similarità SFC e la lista di priorità Cluster-coi based. La assegnazione dei prodotti sia svolta secondo la politica zig-zag, con politica di instradamento policy return. Si considerino 20 giorni lavorativi (4 settimane lavorative) al mese. Codice Prodotto Giacenza media mensile [m3] A 120 B 95 C 70 D 59 TOT 344 1. Dimensionare la nuova area di stoccaggio 2.700 4.000 Considerando un Modulo Base (MB) delle dimensioni di 4.000 x 2.700 [mm] disposizione del pallet di lato → nel lato corto (2.700 mm) si affacciano sul corridoio 2 Udc per lato → 4 Udc per ogni MB. Totale giacenze = 344 m3 (ipotizzo di non dover considerare un 10% di margine di sicurezza in quanto già incluso nelle giacenze fornite) Volume 1 Udc = 0,8 * 1 * 1,4 = 1,12 m3 N° MB necessari = 344 / (1,12 * 4) = 76,8 → 77 MB → Area Totale richiesta = 77 * (2,7 * 4) = 831,6 m2 Dobbiamo valutare le dimensioni del magazzino → il fattore di forma → poniamo un fattore di forma P/L = 0,5 → L = 2P. L * P = 831,6 m2 → 2P * P = 831,6 m2 → P = 20,39 m N°Campate = P/2,7 m = 20,39/2,7 = 7,55 → 8 MB PReale = 8 * 2,7 = 21,6 m N°Corridoi = 77 / 8 = 9,625 → 10 corridoi A. Acquaderni, A. Azami, A. Gennari 221 a.a. 2010-2011 LReale = 10 * 4 = 40 m LReale * PReale = 40 * 21,6 = 864 m2 che è maggiore dei 831,6 m2 strettamente necessari. 2. Determinare una possibile allocazione della merce basata sul metodo della correlazione Calcoliamo la popularity mensile e la movimentazione di ogni prodotto per poter calcolare l'indice di rotazione TURN (e quindi l'indice SFC) Movimentazione TURN = IR= Codice Prodotto Giacenza media mensile [m3] [ ] [ ] m3 UdT m3 Giacenza Media UdT Popularity Giornaliera Popularity mensile Movimentazione [m3/gg] TURN A 120 5 100 1240 10,3 B 95 5 100 1440 15,2 C 70 5 100 1640 23,4 D 59 7 140 1720 29,2 Ora dobbiamo calcolare per ogni accoppiamento l'indice SFC: SFC = min [TURN i ; TURN j ] ⋅ 1 max[TURN i ; TURN j ] a ⋅bc 4 a a = n° di ordini in cui compaiono sia i che j b = n° di ordini in cui compare solo i c = n° di ordini in cui compare solo j SFCAB = {3/[3 + 1/4 * (2 + 2)]} * min{10,3 ; 15,2}/max{10,3 ; 15,2} = 0,51 SFCAC = (3/4) * min{10,3 ; 23,4}/max{10,3 ; 23,4} = 0,33 SFCAD = (4/5) * min{10,3 ; 29,2}/max{10,3 ; 29,2} = 0,282 SFCBC = (3/4) * min{15,2 ; 23,4}/max{15,2 ; 23,4} = 0,49 SFCBD = (4/5) * min{15,2 ; 29,2}/max{15,2 ; 29,2} = 0,42 SFCCD = (4/5) * min{23,4 ; 29,2}/max{23,4 ; 29,2} = 0,64 → Ora costruiamo una matrice con gli SFC appena trovati A B C D A B 0,51 C 0,33 0,49 D 0,28 0,42 0,64 Ora iniziamo a raggruppare i vari prodotti in cluster secondo un algoritmo SLINK A. Acquaderni, A. Azami, A. Gennari 222 a.a. 2010-2011 1° raggruppamento: C – D con un valore di 0,64 A B C-D A B 0,51 C-D 0,33 0,49 2° raggruppamento: A – B con 0,51 A-B C-D A-B C-D 0,49 3° raggruppamento → tutti i prodotti A – B – C – D con un valore di 0,49 n° nodi = 3 Decidiamo di tagliare al 45° percentile → 3*0,45 = 1,35 → ]1 ; 2] → tagliamo dopo il 2° raggruppamento → 2 cluster (A – B) e (C – D) Clusters COI A-B 200/215 = 0,93 C-D 240/129 = 1,86 3. Individuare il numero di corridoi e l’area occupata da ciascun cluster Per determinare il n° di MB si deve dividere la giacenza del cluster per volume utile di ciascun MB (1,12 * 4 = 4,48) Clusters Giacenza media totale classe [m3] N° MB = n° Corridoi Area [m2] (n° MB * 2,7 * 4) A-B 215 47,99 → 48 518,4 C-D 129 28,8 → 29 313,2 4. Rappresentare lo schema dell’area di stoccaggio Iniziamo distribuire nel magazzino secondo un modello a zig – zag a partire dal cluster C – D che è quello con il COI più alto. A-D C-D A. Acquaderni, A. Azami, A. Gennari 223 a.a. 2010-2011 Come si può notare dal grafico abbiamo lasciato un vano in più per ogni cluster in quanto reputiamo che la flessibilità conferita da questa decisione porti un beneficio maggiore del costo sostenuto per percorrere 2,7 m in più ogni tanto; inoltre se volessimo dividere i prodotti all'interno del cluster ed assegnarli a vani interi questa soluzione permette di riempire il Modulo Base precedentemente vuoto senza cambiare configurazione. 5. Facoltativo: determinare la distanza totale mensile percorsa del carrello e il corrispondente costo di movimentazione considerando un costo unitario di 0,02 €/m Cluster C – D: • C → 70 m3 → 58 % di 129 m3 → 16 MB • D → 14 MB Cluster A – B: • A → 120 m3 → 55 % di 215 m3 → 27 MB • B → 48 – 26,5 = 21 MB Ora grafichiamo la disposizione dei vari prodotti: C D A I/O B 3m Ordine 1: A → C → D → B • IN → A = 3 + 2 + 2,7*4 = 15,8 • A → C = 2,7*4 + 4*4 + 2 + 2,7 * 4 = 39,6 • C → D = 2,7 * 4 + 2*4 + 3,5*2,7 = 28,25 • D → B = 2,7 * 4,5 + 5*4 + 2 + 4*2,7 =42,25 • B → OUT = 2,7*4 + 4*3,5 + 3 = 27,8 Distanza totale Ordine 1 = 153,7 [m/gg] = 3.074 [m/mese] Costo Ordine 1 = 0,02 * 3.074 = 61,48 [€/mese] Si procede similmente per tutti gli altri ordini. A. Acquaderni, A. Azami, A. Gennari 224 a.a. 2010-2011 Esercizio Logistica Distributiva Scrivere in esplicito il modello di programmazione lineare (funzione obiettivo e vincoli) della rete distributiva illustrata di seguito. Si considerino 5 aree geografiche (Supply country) a servizio di altrettante 5 regioni di domanda (Demand Region). Considerando una rete monoprodotto (Beta), nelle aree produttive si possono installare stabilimenti produttivi di diversa capacità a servizio della produzione dell’articolo Beta. E’ possibile optare per l’installazione di impianti produttivi ad “alta capacità” piuttosto che a “bassa capacità”. La funzione obiettivo del modello di programmazione contabilizzi tutti i costi di produzione e trasporto (fissi e variabili) nella rete oggetto della pianificazione. Nelle tabelle si hanno i costi unitari di produzione e trasporto dal generico stato di produzione alla generica regione di domanda la domanda di Beta prevista presso le regioni di domanda (dati sempre riferiti ad un milione di pezzi) e le capacità produttive. Regioni di produzione Regioni di domanda [k€/1.000.000 unità] N. America S. America Europa Asia Africa N. America 81 92 101 130 115 S. America 117 77 108 98 100 Europa 102 105 95 119 111 Asia 115 125 90 59 74 Africa 142 105 71 Domanda [1.000.000 unità/anno] 100 103 Costi unitari di produzione e trasporto Regioni di domanda [1.000.000 unità/anno] N. America S. America Europa Asia Africa Beta 12 8 14 16 7 Alfa 4 10 16 9 12 Gamma 6 7 15 10 21 Domanda annua Regioni di produzione Costi fissi [k€/anno] Capacità inferiore [mln unità/anno] Costi fissi [k€/anno] Capacità superiore [mln unità/anno] N. America 6000 10 9000 20 S. America 4500 10 6750 20 Europa 6500 10 9750 20 Asia 4100 10 6150 20 Africa 4000 10 6000 20 Capacità produttive e costi fissi relativi ad impianti ad alta e bassa capacità produttiva Applichiamo dunque un modello di pianificazione della rete logistica per Consegna Diretta, senza magazzini intermedi (Monoprodotto, Monoperiodo, Monolivello) F.O.: MIN [ n q n m ∑ ∑ f iz⋅y iz∑ ∑ c ij⋅x ij i=1 z=1 i=1 j =1 ] dove: fiz = costi fissi di apertura/installazione di un impianto di tipo z (z = 1, 2 nel nostro caso) A. Acquaderni, A. Azami, A. Gennari 225 a.a. 2010-2011 nella regione i-esima (i = 1 (NA), 2 (SA), 3 (EU), 4 (AS), 5 (AF)) yiz = 1 se apro un impianto di tipo z nella zona i-esima 0 altrimenti cij = costo variabile di produzione e trasporto dall'impianto i al cliente j (j = 1, 2, 3, 4, 5) xij = unità prodotte e trasportate dall'area/impianto i al cliente j Vincoli: • Soddisfazione della domanda dei clienti → Σni=1 xij = Dj con (j = 1, 2, … , 5) • Capacità produttiva degli impianti → Σmj=1 xij ≤ Σqz=1 PCiz * yiz con (i = 1, 2, … , 5) • yiz deve essere una variabile binaria → yiz ∈ {0; 1} con (i = 1, 2, … , 5; z = 1, 2) • xij ≥ 0 con (i = 1, 2, … , 5; j = 1, 2, … , 5) [∑ ∑ 5 F.O.: MIN 2 i=1 z=1 5 5 f iz⋅y iz ∑ ∑ c ij⋅x ij i=1 j =1 ] → MIN [(6000y11 + 4500y21 + 6500y31 + 4100y41 + 4000y51 + 9000y12 + 6750y22 + 9750y32 + 6150y42 + 6000y52) + (81x11 + 92x12 + 101x13 +130x14 + 115x15 + 117x21 + 77x22 + 108x23 + 98x24 + 100x25 + ...) ] Vincoli: • x11 + x21 + … + x51 = 12 ; x12 + … + x52 = 8; x13 + … + x53 = 14 ; x14 + … + x54 = 16 ; x15 + … + x55 = 7 • x11 + x12 + … + x15 ≤ 10y11 + 20y12 ; x21 + … + x25 ≤ 10y21 + 20y22 ; x31 + … + x35 ≤ 10y31 + 20y32 ; x41 + … + x45 ≤ 10y41 + 20y42 ; x51 + … + x55 ≤ 10y51 + 20y52 ; • yiz ∈ {0; 1} con i = 1, …, 5 • xij ≥ 0 con i = 1, …, 5 e j = 1, …, 5 Si chiede ora di riproporre le seguenti varianti al modello di programmazione lineare, ripartendo sempre dal modello iniziale (considerando cioè le seguenti ipotesi): 1. Si ammetta 1 solo stabilimento produttivo (low capacity o hight capacity) per ciascun supply country Il modello è identico al precedente ma si aggiunge un vincolo: Σ2z=1 yiz ≤ 1 2. Si consideri che debba essere aperto almeno un impianto in Europa Il modello rimane sempre lo stesso ma si aggiunge un vincolo del tipo Σ2z=1 y3z ≥ 1 3. Si consideri come varia il modello nel caso in cui la rete distributiva sia dedicata anche ai prodotti Alfa e Gamma e fare considerazioni sulla solvibilità del modello in questo caso e sulle possibili soluzioni Aggiungendo anche i prodotti Alfa e Gamma si supera la capacità produttiva possibile anche per gli stabilimenti a capacità superiore ed il modello diventa così insolvibile A. Acquaderni, A. Azami, A. Gennari 226 a.a. 2010-2011 4. Facoltativo: considerare come varia il modello se si decide di introdurre due centri distributivi intermedi, uno localizzato in N. America e uno in Europa (considerare i dati nelle tabelle sottostanti) Regioni di distribuzione Regioni di domanda [k€/1.000.000 unità] N. America S. America Europa Asia Africa N. America 69 50 60 98 110 Europa 98 120 94 86 100 Costi unitari di produzione e trasporto Regioni di Distribuzione Costi fissi [k€/anno] Capacità inferiore [mln unità/anno] Costi fissi [k€/anno] Capacità superiore [mln unità/anno] N. America 4000 15 8600 30 Europa 5700 15 7000 30 Capacità produttive e costi fissi relativi ad impianti ad alta e bassa capacità produttiva Regioni di produzione Regioni dei Centri di Distribuzione [k€/1.000.000 unità] N. America Europa N. America 80 130 S. America 110 150 Europa 160 60 Asia 120 125 Africa 180 Costi unitari di produzione e trasporto 90 Siamo in caso di rete logistica monoprodotto, monoperiodo, multilivello → [∑ n F.O. : MIN i =1 t l n n t t m f i⋅yi ∑ f e⋅y e ∑ ∑ x hi⋅c hi ∑ ∑ xie⋅c ie ∑ ∑ x ej⋅c ej e=1 h=1 i=1 i=1 e=1 e=1 j=1 ] Vincoli: xhi ≥ 0 xie ≥ 0 con yi ∈ {0 ; 1} xej ≥ 0 Vincoli di primo tipo sono: Σni=1 xhi ≤ Sh vincolo di capacità del fornitore t Σ e=1 xie ≤ Ki vincolo dell’impianto produttivo m Σ j=1 xej ≤ We vincolo del CEDI t Σ e=1 xej = Dj vincolo di rispetto della domanda Σlh=1 xhi ≥ Σte=1 xie [∀ i] Σni=1 xie ≥ Σmj=1 xej [∀ e] vincoli di flusso rispetto agli impianti produttivi e di distribuzione (quello che entra nell’impianto produttivo deve essere maggiore o uguale a quello che esce) A. Acquaderni, A. Azami, A. Gennari 227 a.a. 2010-2011 dove: l = Aree in cui i fornitori sono localizzati → h = 1, …, l n = aree potenziali per l’apertura di impianti → i = 1, ... , n t = aree potenziali dove poter aprire i magazzini → e = 1, ... , t m = aree dei clienti → j = 1, … , m Sh = capacità di fornitura Ki = capacità produttiva dell’impianto i-esimo (l’equivalente del PC iz di prima) We = capacità di stoccaggio fi = Costo fisso di apertura dell’impianto i-esimo fe = costo fisso dell’apertura di un magazzino/CEDI chi = costo di fornitura e di trasporto dal fornitore al produttore cie = costo unitario di produzione e trasporto da impianto di produzione a CEDI cej = costo di stoccaggio e trasporto dai CEDI al cliente xhi = quantità trasferita dal fornitore h all’impianto produttivo i-esimo xie = quantità trasferita dal produttore i al CEDI e-esimo xej = quantità trasferita dal CEDI e-esimo al cliente j-esimo yi = 1 se apro l’impianto nell’area i-esima 0 altrimenti ye = 1 se apro il CEDI nell’area e-esima 0 altrimenti Un modello del genere può essere risolto attraverso diversi strumenti software o con risolutori di excel ma anche “manualmente” si può giungere ad una soluzione...volendo... A. Acquaderni, A. Azami, A. Gennari 228 a.a. 2010-2011
Documenti analoghi
Scarico - UniversiBO - Università di Bologna
L’incremento della varietà, da 20 anni a questa parte, e di conseguenza l’esigenza di
produzione industriale di tale varietà, ha avuto un’importanza ed una crescita notevole.
Questo è un importante...