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,51,2024,60
⋅4.600
36,

201,2024, 60⋅5.200 ...
[ ]
pz
Albero 3
[ ]
anno
Albero 4
Albero 5

26,512,20⋅1.200 26,5021,3024,

60⋅250 
26,501,2024, 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.47030.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.51530.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
 abc
Nel nostro caso: a = 2, b = 4, c = 4, d = 2
S ij =
2
 244
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
abc
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 =
ad
abcd
→ 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 =
 ad −bc
 ad bc
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 =
a2 a⋅d
abc 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
2abc
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 =
ad
a2bc d
S1,2 = 4/(2+16+2) = 0,2
•
Coefficiente Relative matching (Sarker & Islam)
S ij =
a2 a⋅d
abcd 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 koY 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⋅11⋅100 00⋅50
1⋅0,751⋅10
1⋅0,250⋅500

=0,8726≠S 21
1⋅110⋅100

001⋅50
1⋅0,7510⋅10
  1⋅0,2500⋅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 AB
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 11−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 11−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⋅tijli u j ∑ f kji⋅t jil 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⋅tijli 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 iu 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.27645.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
qq1q2 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⋅ ⋅nh1⋅G v h 2⋅Gb = A1n⋅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= A1n⋅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 n1
= ⋅
→
→
2 1
q⋅n−1
D⋅−1
q  n1
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= A1n⋅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  n1
 ⋅
− ⋅
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 n1
q  n1
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⋅ A1n⋅A2⋅ ⋅ n h1⋅ 
⋅ n − ⋅ n
h 2⋅ ⋅ n =0
q  −1
P
2P  −1 2  −1
2  −1
q

−1
 A1n⋅A2 ⋅D⋅ n
 −1
q *=
n
D P− D  −1 1  n1 h2 n1
h1⋅ 
⋅
− ⋅
 ⋅
P
2P −1 2 1
2 1
[

]
−1
 A1n⋅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
 A1n⋅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  n1
q n1
C  q= A1n⋅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⋅qh 1⋅q⋅1⋅n−1h2 −h1 ⋅q⋅⋅ n1
2 ⋅1
n
n
q⋅h1⋅1 q⋅h 2⋅⋅1 
→=
2 ⋅1
n
D −1 q⋅ 1⋅h1⋅h2 
→ = C  q= A1n⋅A2 ⋅ ⋅ n

q  −1
2⋅1
→ q
*
Goyal

2 D⋅ A1n⋅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 =

 A1n⋅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 =
[
 40025⋅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=40025⋅
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⋅ A1n⋅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⋅ 4050⋅1.000⋅3,2⋅3,22−1
unità
=114
4
spedizione
43,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= A1n⋅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
 A1n⋅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 ⋅bc
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 ⋅bc
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 ⋅bc
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 ⋅bc
a ⋅bc 
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 ⋅33
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⋅1SS 
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 o1
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 o1
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.000140.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,510⋅5.4001,512⋅5.4002⋅315⋅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
abc
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 =
a2 a⋅d
abcd 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 koY 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 [26 ; 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[26 ; 8]
max[4 ; 13]
max[5 ; 6]
S 13=
1⋅0,751⋅2300⋅00⋅4201⋅11⋅1001⋅0,3081⋅2001⋅0,8331⋅320
1⋅0,7510⋅2301⋅4201⋅110⋅1001⋅0,30810⋅2001⋅0,83310⋅320
→ S 13=0,775
S 31=
1⋅0,75⋅2300⋅00⋅4201⋅1⋅1001⋅0,3081⋅2001⋅0,833⋅320
=0,656
1⋅0,750⋅2301⋅4201⋅10⋅1001⋅0,30810⋅2001⋅0,8330⋅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
1410
=
=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 AB 1410
Ratio of non 0 elements in cells=REC =
n° di 1
1410
=
=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⋅32⋅12⋅3 17
= =0,347
7⋅7
49
Dai calcoli dunque risulta:
[
]
14
10
GE=0,347⋅
0,653⋅ 1−
=0,734
3⋅32⋅12⋅3
49−3⋅32⋅12⋅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
[
8545656570⋅760⋅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 =

 A1n⋅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= A1n⋅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⋅ h12,8⋅12
€
C  202=3002⋅125⋅
⋅ 2 
=3.419
202 2,8 −1
2⋅2,8⋅2,81
anno
[ ]
h *1=
[
]
1.250 2,8−1
3.419−3002⋅125⋅
⋅
⋅2⋅2,8⋅2,81
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
 A1n⋅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= A1n⋅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 =

 A1n⋅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 ⋅bc
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