Sei sulla pagina 1di 37

Lezione 11 – 10/11/20

Basic Factory Dinamics


Finora siamo partiti dalla previsione della domanda da cui abbiamo fatto il piano aggregato di
produzione, I'MPS quindi 'MRP, essendo l'obiettivo del corso quello di gestire i processi
industriali dunque come mandare avanti lo stabilimento. La variabilità del processo esso che
fine hanno fatto? Diamo per scontato quando facciamo il piano, che quello che programmiamo è
quello che c'è in produzione, ma nella realtà questo non succede mai: il piano di produzione
è solo un'idea, un'indicazione di ciò che bisogna fare: all'atto pratico ci dovremo fronteggiare
con lo stabilimento che non farà i pezzi che gli avrò detto, che non manterrà le promesse fatte.
Quindi a partire dal giorno dopo bisogna riarrangiare il piano di produzione. Questo è normale
e non si può evitare per il momento, anche se con l'industria 4.0 le cose potrebbero cambiare (è
più una speranza che una promessa). Finita la programmazione aggregata, passiamo allo shop
flow (cioè alla linea produttiva vera e propria), alla parte dove il piano (la schedulazione) prende
vita, dove gli ordini programmati vengono prodotti.

La seguente trattazione seguirà questo schema:

Throughput – Wip - Cycle time: qui faremo riferimento alla legge di litte;
- nel best case si analizza la linea nelle condizioni migliori possibili (teoriche);

- nel worst case si analizza la linea nella situazione teorica peggiore;

- nel practical worst-case si analizza la situazione pratica peggiore: se il mio impianto


funziona in queste condizioni ho dei seri problemi operativi;

Internal benchmarking (può uscire all’esame): tipologia di esercizio reale che devo fare nella
posizione di manager: dai dati della linea dovremo concludere se sta lavorando bene e come

1
migliorare il suo funzionamento. Il lean manager (o il reponsabile della produzione) sta iniziando a
capire l’importanza di conoscere tali strumenti e come gestire la linea in modo opportuno.

Labor-constrained system (sistema vincolato dalla forza lavoro): il problema è la disponibilità


della macchina, disinteressandoci dell’operaio che ci lavora, sebbene quest’ultimo abbia il suo ritmo
di lavoro, problemi fisiologici ecc.. Dovremo tenerne in considerazione perché ci abbassa la
produttività e in determinate stazioni questo ci causa problemi (eventualmente raddoppiare gli
operai,…)

Definizioni e parametri:

 Throughput (TH): è l’output medio del processo produttivo (può essere calcolato di una
macchina, di una linea, di una stazione..) per unità di tempo (ad esempio, parti/ore o parti/minuti
ecc.. l’importante è essere coerenti con l’unità di misura); questo corrisponde al rapporto tra il
numero di pezzi usciti e Δt in cui sono stati prodotti. Dunque, il TH è una misura di velocità e
più allarghiamo il Δt su cui calcolo il throughput, più è stabile la misurazione.

 WIP (Work in process o work in progress): rappresenta quelle componenti inventariali che ho
in movimentazione, ossia quei job che ho tra l’inizio e la fine della linea produttiva; (è un job,
quindi non più un ordine, ma un processamento poiché ha iniziato la lavorazione)

 Cycle time (CT): tempo di attraversamento, è il tempo medio del rilascio di un job all’inizio
della linea, fin quando esce dalla stessa (anche detto: avarage time (medio), flow time (di
scorrimento di flusso), throughput time o sojorn time)

Il cycle time può essere unico per ogni pezzo, oppure nel produrre sempre lo stesso oggetto
posso avere lungo la linea tempi diversi di cycle time.

 Lead time, service level, e fill rate: il lead time è il tempo promesso per la realizzazione di
quella parte (time allotted for production of a part). Il lead time serve ai piani alti, da
responsabili della produzione dovremo dichiararlo. Con il lead time funzionano l’MPS e l’MRP.
Da qui viene il problema dei sistemi MRP: essi ragionano sul lead time dichiarato, da
responsabili di produzione tenderemo a dichiarare un numero maggiore di ore rispetto a quelle
che effettivamente servono per stare maggiormente in sicurezza. Qualora non riuscissimo a
soddisfare il lead time (tempo promesso), introduciamo il service level.

2
 Livello di servizio (service level): la probabilità (che ci aspettiamo) di avere un cycle time≤lead
time; . Il livello di servizio, benché sia stato
calcolato sul tempo, diventa una misura per dire quanto bravi siamo stati rispetto alla nostra
promessa. Avere un ritardo nel lead time, si traduce in un livello di servizio davvero basso.

Il lead time viene fatto dai piani manageriali (piani alti), mentre il cycle time è compito
dell’ingegnere di produzione; in genere, questi due reparti non si trovano mai e ognuno “tira
l’acqua al proprio mulino” (vogliono ottenere bonus di produzione). In particolare, ai piani alti
si vogliono avere lead time più bassi al fine di promettere più ordini, mentre ai piani bassi si
vogliono lead time più alti per lavorare con un certo margine di sicurezza; questa tendenza a
lavorare con un forte margine di errore porta ad una sindrome, denominata “sindrome del lead
time”.

La sindrome del lead time è un fenomeno scientifico che si verifica nei sistemi MRP (che
cercano di programmare anticipando gli ordini di produzione) per il quale l’impianto si ingolfa,
poiché ho del WIP superfluo che circola nel sistema. Ma come si sceglie il lead time?

 Lead time più lungo: l’ordine arriva prima e lo accantono, ma questo mi crea problemi perché
sto impegnando dello spazio che teoricamente non dovrei avere a disposizione (quindi costi di
stabilimento che non avrei dovuto spendere);
 Lead time più breve: l’ordine arriva in ritardo e non posso avviare la programmazione. Questo è
un problema peggiore, perché nell’attesa potrei anticipare un’altra lavorazione, ma questo
potrebbe recare altri problemi (e sarebbe un disastro).
Tra i due mali, è meglio che l’ordine arrivi prima (è il male minore). Gli ingegneri di
produzione delle linee tendono a dichiarare maggiori lead time per lavorare in sicurezza. Ma
avere lead time più elevati, crea problemi di stoccaggio (quindi di immobilizzo): più aumento i
lead time e maggiori saranno i livelli inventariali, quindi il sistema si ingolfa. Apparentemente,
sembra che tutto vada bene perché le macchine lavorano, ma ho del WIP superfluo (quindi sto
spendendo dei soldi inutili per le immobilizzazioni).

Ad esempio, se ho due linee di produzione A e B, aumentando i lead time viene a crearsi del
buffer tra le linee. Di conseguenza il lead time complessivo (fra l’immissione nella linea A e
l’emissione della linea B) si allunga tantissimo e il processo produttivo risulta troppo variabile!
Da qui la lean production: questa filosofia di produzione sostiene che troppo inventario fa
lavorare male l’impianto, quindi avere una produzione veloce si traduce in livelli inventariali
minimi.

3
Osservazione: è un parametro che viene definito in ambito make-to-order; infatti se la linea
funziona in ambito make-to-stock (ossia a magazzino) non si parla di lead time, ma di fill rate
(rateo di riempimento, molto affine al service level) poiché produco a magazzino e definisco la
frazione di ordini che sono riempiti nel tempo nello stock.
 Utilization (U, utilizzazione): è la frazione di tempo (espressa come valore percentuale) che una
workstation non aspetta per mancanza di parti.
Per workstation (o stazione) s’intende un insieme di macchina, che al limite può essere
composto da una sola.
U include la frazione di tempo in cui la workstation sta lavorando una parte, oppure ha parti che
aspettano ma non è capace di lavorare su quelli per eventuali detrattori (manutenzione, setup,
installazioni ecc..). L’utilizzazione si calcola come

Reateo diarrivo
=
Rateo effettivo di produzione

Al denominatore vanno inseriti tutti i tempi (compresi fallimenti, setup ed altri detrattori), ma
non considera la manutenzione che non possiamo evitare; questo perché l’utilizzazione deve
misurare la mia abilità nell’utilizzare la macchina (livello di sfruttamento della macchina).
Se una macchina ha un’utilizzazione del 100% non è buono, poiché vuol dire che la linea non
sta lavorando bene. Questo perché se avessi delle variabilità nella fase di produzione, la
macchina diventa sovra-satura e diventa il mio collo di bottiglia. (prima si diceva che colui/colei
che decide la mia produzione è la macchina collo di bottiglia).

 Bottleneck rate (rb): il collo di bottiglia di una linea è il rateo di una workstation che ha
l’utilizzazione più alta nel lungo termine (rb: parti/unità di tempo, è come il throughput; mentre
il TH può essere calcolato ovunque, il rateo può essere calcolato solo sulla macchina). Per lungo
termine intendiamo che le interruzioni vengono calcolate in media nell’orizzonte temporale in
esame.
Se la linea che stiamo considerando consiste in una linea a flusso, in cui ogni stazione è visitata
solo una volta e non ci sono perdite, l’arrival rate (tasso di arrivo) di ogni workstation è lo
stesso. Quindi le workstation con la più alta utilizzazione sono tutte, per cui in una linea
bilanciata ne prendo una sola per il calcolo del bottleneck rate.

4
Inoltre, quella workstation che ha l’utilizzazione più alta coincide con quella che ha la capacità a
lungo termine più alta. (la workstation più veloce avrà l’arrival rate e l’utilizzazione più elevata;
per questo è importante definire l’rb in termini di utilizzazione come abbiamo fatto).

 Row process time (T0): è il tempo grezzo di processamento della linea, ed è la somma mediata
a lungo termine dei tempi di processamento di ogni workstation della linea.
Alternativamente, possiamo definirlo come il tempo medio impiegato da un singolo job per
attraversare la linea vuota in modo che non abbia tempi di attesa in stazioni (è come se fosse un
cycle time minimo). E’ un tempo di lavorazione deupaperato dei tempi di attesa in coda.
Se la linea non è vuota e il mondo non è perfetto, il cycle time sarà per forza più alto del T 0,
perché troverà coda a causa della lavorazione che la macchina successiva sta terminando.
E’ importante perché è il tempo minimo che posso promettere (è impossibile promettere un lead
time inferiore al T0).

 Critical WIP (W0): è il livello di WIP minimo che dovremmo avere in una linea produttiva;
corrisponde al livello di WIP che si calcola per una linea priva di variabilità (linea perfetta), a
cui corrisponde il massimo TH(ovvero rb) ed il minimo CT(ovvero T 0): per questi motivi
lavorare ad un WIP inferiore a W0 è da stupidi. Per calcolarlo:

Osserviamo che non è stata fatta l’ipotesi di linea bilanciata. Una linea è bilanciata quando le
macchine che compongono la linea hanno tutte lo stesso tempo medio di lavorazione.
L’unica ipotesi fatta è quella di linea perfetta (senza variabilità), vuol dire che le macchine non
si rompono mai, la macchina è sempre disponibile ed i tempi di lavorazioni sono proprio quelli.
W0 si calcola nel caso la linea non abbia variabilità, tuttavia anche nel caso si avessero
variabilità conviene valutarlo per avere un valore di riferimento.

Il WIP critico può essere calcolato indipendentemente dal fatto che la linea sia bilanciata (basta che
non vi siano variabilità). Tuttavia, se la linea è bilanciata (tutte le macchine hanno un tempo di
processamento medio uguale per le lavorazioni), il W0 = numero di macchine.
In una linea sbilanciata il WIP critico non è più pari al numero di macchine perché alcune stazioni
non saranno completamente utilizzate. Quindi mettiamo il valore legato alla stazione collo di
bottiglia: in un mondo perfetto l’importante è garantire che il collo di bottiglia sia sempre
occupato affinché la linea funzioni nelle migliori condizioni possibili.

5
Inoltre, nel caso di linea sbilanciata, la possibilità di mettere un numero di macchine tale da
bilanciare la linea (facendo una sorta di minimo comune multiplo fra i numeri di macchine) non è
sempre garantita, infatti:

- Partendo da una configurazione prefissata, supponiamo che venga comunicato al reparto


gestionale di dover incrementare la produttività. Bisogna fare un’attenta valutazione dei
cost, perché spesso la stazione collo di bottiglia è il processo più costoso.

- Non è sempre vero che miglioriamo il funzionamento di una linea (quindi le prestazioni del
sistema) aumentando il numero di macchine del collo di bottiglia. In alcuni casi è
conveniente suggerire quale macchina raddoppiare, che non necessariamente è il collo di
bottiglia (la cui utilizzazione molto spesso non è del 100%, nel caso di variabilità nulla).
Quello che faremo sarà aumentare il numero di macchine vicine al bottleneck in maniera da
spingere ad utilizzarlo sempre, con la finalità di aumentare il TH dell’impianto (lo vedremo
in seguito).
In conclusione, per aumentare il TH non bisogna aumentare necessariamente il numero di
macchine, ma serve far riferimento al BEST CASE.
________________________________________________________________________________
Esempio (1) – Penny Fab Uno (PF1) (linea bilanciata)
La Penny Fab Uno consta di una semplice linea produttiva, pensata per produrre monete da un
centesimo (penny) che saranno utilizzate solo il 4 luglio; la linea consiste di quattro macchine in
sequenza che usano un processo molto conosciuto e stabile (la prima macchina taglia la moneta; la
seconda timbra la faccia di Lincoln su un lato e il Memorial sul retro; la terza posiziona il bordo sul
penny; la quarta pulisce le sbavature). Valgono le ipotesi:
 Ogni macchina ci mette esattamente due ore per fare ogni operazione (linea bilanciata)
 La linea lavora 24 ore al giorno, quindi non ci sono pause ecc.. (mondo perfetto)
 Il prodotto ha subito mercato, quindi viene venduto subito (domanda illimitata)
Poiché il mercato assorbe qualsiasi cosa che io produca, mi basta massimizzare il throughput.

Siccome nella linea non ci sono perdite accessorie, il bottleneck è definito come la workstation più
lenta. Inoltre, poiché la linea è bilanciata (le workstation sono tutte colli di bottiglia) possiamo
calcolare lo stesso valore di rb per tutte le macchine (è la prima cosa da fare quando la linea è
bilanciata)

In questo caso:

6
- poichè la capacità è la stessa per ogni macchina e si fa 1 penny
ogni due ore (quindi rb è ½ ; attenzione che rb non è detto che sia per forza minore di 1, ma
rb può avere un qualunque numero; ad esempio, se una macchina facesse 10 penny ogni
mezz’ora avrei rb=10/0.5=20 penny/ora).

- T0 = 8 ore. Si sommano i tempi di processamento (2 ore ciascuna) delle 4 workstation.

- Il WIP critico penny. Questo significa che linea raggiunge, poiché


siamo in un mondo perfetto, un throughput di 0.5 penny/ora, un cycle time di 8 ore ed un
WIP critico di 4.

In questo esempio, è necessario introdurre 4 WIP contemporaneamente per avere una linea che
funzioni al suo massimo rendimento. Intuitivamente, se ne aggiungiamo un altro (quinto) non
abbiamo nessuna miglioria, poiché il TH non aumenta ma aumenta il CT (ed è negativo).
Dualmente, se metto meno macchine ne perdo in TH e non miglioro il CT (non diminuisce).
Notiamo che essendo la linea è bilanciata W0 = numero di macchine;

Esempio (2) – Penny Fab Due (PF2) (linea sbilanciata)


Il Penny Fab Due è costituito da una linea sbilanciata, ma il mondo è ancora perfetto.
Si producono ancora i penny con le quattro fasi, ma le stazioni di lavoro (o workstation) sono
costituite da un numero diverso di macchine e diversi tempi di processamento ciascuna.

Ad es, per la terza lavorazione ho 6 macchine (che possono lavorare in contemporanea, parallelo),
tale lavorazione dura 10 ore (quando la lavorazione è più lenta intuitivamente aumento il numero di
macchine)
 La capacità rb di ogni workstation costituite da più macchine identiche in parallelo; si calcola
facendo il numero di macchine diviso il tempo di processamento (oppure la capacità della
singola macchina moltiplicata per il numero di macchine).

ad es. questa è la capacità della stazione 3

7
Nell’esercizio in questione la risorsa collo di bottiglia è la stazione 2, poiché lì ho il collo di
bottiglia con rb2 = 0.4 penny per hour. Questa linea non supererà mai questo rb, pur aumentando il
WIP. Quindi, il bottleneck non sta né sulla strazione più lenta, né in quella che ha meno macchine.

 Il T0 (raw process time) è ancora pari alla somma dei tempi di processamento (è il tempo di
attraversamento che avrei se la linea fosse perfetta e vuota; infatti tutte le ipotesi fatte nel caso
precedente permangono, cambia solo il fatto che la linea è sbilanciata). Si noti che l’aggiunta di
macchine in una stazione non riduce il T0, poiché un penny può essere elaborato da una sola
macchina alla volta.
T0 = 2 + 5 + 10 + 3 = 20 hours

 Indipendentemente dal fatto che la linea abbia stazioni singole o multiple, il livello di WIP
critico è sempre definito come:

Nonostante si abbiano 11 macchine, il WIP critico è minore al numero di macchine (8); sembra
strano, ma questo succede perché per il bottleneck rate della stazione 2 è tanto basso che non
conviene riempire le stazioni tre e quattro. In particolare, la stazione 3 ha una produttività non
giustificata, perché ho troppe macchine (6, ho sovradimensionato senza alcun beneficio); mentre
la stazione 2 e 4 hanno rispettivamente due macchine e qui l’errore è meno “madornale”.

In una linea sbilanciata il WIP critico non è più pari al numero di macchine (in questo caso 11)
perché alcune stazioni non saranno completamente utilizzate. Quindi mettiamo il valore legato
alla stazione collo di bottiglia.
________________________________________________________________________________

TH – WIP – CT relationship – Best Case

Il legame fra TH, WIP e CT (legge di little) andremo a valutarlo empiricamente, ma esiste anche
una dimostrazione matematica che non vediamo.

Consideriamo il caso della PF1: linea bilanciata, nessuna variabilità.


Ricordiamo il concetto di linea CONWIP (constant work in process): ragiono in ottica pull, cioè
quando l’ordine esce, questo tira la domanda dall’inizio. In questa declinazione dei sistemi pull,
rispetto ai kanban, non controllo i WIP stazione per stazione, ma controllo i WIP su tutta la linea,

8
ragione per cui il CONWIP è più semplice. In un mondo perfetto è facile vedere come funziona il
CONWIP.
Supponiamo di essere nell’ipotesi di linea a flusso controllata con meccanismo CONWIP, per cui
imporremo un certo WIP: non verrà rilasciato mai un nuovo ordine in produzione se non esce il
WIP già dentro (se stabilisco che il WIP di produzione è 2, stanno solo 2 WIP in lavorazione nella
linea: quando uno esce, l’altro entra).

Cerchiamo di simulare il comportamento della linea in cui il WIP = 1

Questa simulazione indica le 4 macchine (quadratini) ed


il tempo che va avanti. Ogni 2 ore il pezzo si sposta fra
le macchine, e arrivati a t=8 esce ed entra il successivo.
Le misure di performance della linea sono le seguenti
Per il calcolo del TH, poiché il
mondo è perfetto e non ho bisogno
di considerare il ∆t, sarà sempre ¼.
Una linea è controllata bene
quando TH=rb (valore massimo
che posso ottenere).

WIP = 2

All’istante iniziale, il primo job è già entrato, il secondo è in attesa


di farlo. All’istante 2 verde e rosso (due pallini) sono passati alla
stazione successiva istantaneamente. Dopo 2 ore non viene più
rilasciato WIP, dal momento che lo stiamo controllando, verrà
rilasciato solo all’uscita del rosso. Da notare che
il CT è sempre 8; a t=8 entra il
rosso (come prima); a t=10 si
completa il verde ed entra
anch’esso. Il
TH si calcola come la quantità di Jobs

2
che sono usciti diviso il tempo (2 jobs in 8 ore, quindi )
8

9
WIP = 3

WIP = 4 (Best case)

E’ la migliore condizione di funzionamento poiché TH=rb


, qui la linea sfrutta il suo massimo: non ho code tra macchine
(buffer interoperazionali), ma queste le ho solo nel transitorio
iniziale. O

WIP = 5

Con un WIP in più ho sempre il problema delle code. Quini il


cycle time aumenta, poiché un WIP è sempre in coda.

Ricapitolando:

10
Come si può vedere, il TH massimo rb lo si ottiene quando un WIP almeno uguale a W 0 (WIP
CRITICO) viene rilasciato nella linea.

Oltre W0, il TH non aumenta: questo perché sto “appiccicando” il cartellino del CONWIP su un
oggetto che non riesce a partire (ma che conteggio nel cycle time).

Osservazione: da definizione il Cycle Time va conteggiato dal momento in cui inizia la lavorazione
sulla prima macchina; tuttavia stiamo valutando il caso particolare di una linea CONWIP, in cui il
Cycle Time va conteggiato dal momento in cui “appiccico” il cartellino. Per essere coerenti con la
definizione, piuttosto che Cycle Time dovremmo chiamarlo Crossing Time (anche se è un tempo di
attraversamento).

Il WIP va sull’asse delle x, mentre su quello delle y ho il TH da un lato e il CT dall’altro. Sono


riferiti al best case della PF1 (linea bilanciata e nessuna variabilità).

Il nostro best-case può essere pensato come un Ciclo di Carnot per la linea produttiva (le
temperature dei 2 SET danno il massimo rendimento teorico, ma non possiamo giungere al caso
della macchina di Carnot). Non è possibile pretendere più TH del best-case da una linea produttiva
senza agire sui componenti (cambiare la linea). Sebbene tale caso non sia possibile realizzarlo nella
linea produttiva, può essere un banco di confronto (massimo a cui posso tendere).

Possiamo definire la legge sulle prestazioni del best case (best-case performance law): il cycle
time minimo e il throughput massimo per un dato livello di WIP ci viene dato da
11
1 1
(i coefficienti angolari sono rispettivamente e )
rb T 0

Una conclusione che possiamo trarre da questo è che, contrariamente allo slogan popolare,
l’inventario zero non è un obiettivo realistico (poiché dalla fabbrica non uscirebbe nulla). Infatti,
anche in un contesto deterministico (tempi noti e perfettamente rispettati), un valore realistico
“ideale” di WIP è quello del WIPcritico.

Un attento esame dei risultati (ottenuti a monte della best-case performance law) rivela una
relazione interessante e fondamentale conosciuta come la legge di Little, che lega tra loro WIP,
cycle time e throughput:

Osserviamo che questa legge ce la siamo valutata in condizioni ideale (con tempi
deterministicamente noti), però little è andato oltre: ha dimostrato che questa legge vale per tutte le
linee produttive, anche quelle che hanno variabilità. L’unica cosa importante è che la linea sia nello
steady state (a regime). Quanto ci vuole per andare a regime? Ovviamente dipende dalla variabilità
del tempo (legata al numero di macchine, ad esempio). Tanto maggiore è la variabilità (che aumenta
con la lunghezza della linea produttiva), quanto più tempo ci vuole per andare a regime.

Questa relazione è importante per i sistemi a flusso, ma non deve trarre in inganno nella vita
professionale in quanto ricavata dal best case, quindi è un riferimento, vera se il mondo è perfetto o
sul lungo periodo.

Tenere meno WIP non è per forza una cosa negativa: potrebbe capitare che il mercato non
assorba completamente la domanda, quindi non conviene massimizzare il TH, ma è meglio lavorare
ad un WIP differente (inferiore) rispetto a quello del best case. In questo modo risparmio ho 2
vantaggi: (1) non immobilizzo capitale per mettere a terra altro materiale; (2) posso pagare meno
dipendenti; tutto si traduce in un risparmio sui costi.

La legge di little ha un’applicabilità generale e può essere usata per diversi compiti:
12
A. Calcolo della lunghezza della coda media aspettata (ad esempio, quando faccio la fila in
banca, io posso essere assimilato al WIP e il TH è la velocità con cui l’impiegato riesce a
“smammare” un cliente)

Ad es., considerando il caso della PF2 vediamo come con la legge di little possiamo
calcolare il WIP delle singole stazioni:

Ovviamente i numeri con la virgola sono


teorici, bisogna approssimarli agli interi
più grandi o più piccoli (dipende), poiché
non esistono jobs decimali.

Vediamo che la stazione avrà 2 jobs,


proprio come il numero delle macchine.
Questo perché la stazione 2 è la
bottleneck e deve risultare sempre
impegnata. Inoltre, la stazione 3 risulta fortemente sottoutilizzata (come accennato in
precedenza).

Sommando il WIP delle stazioni otteniamo 8, ovvero il WIP critico per l’inter linea, quindi
il livello di WIP necessario per far funzionare la linea al suo rb.

B. Ricavare l’utilizzazione

Calcoliamo l’utilizzazione delle workstation facendo il rapporto tra il WIP calcolato (non fa
differenza parlare di WIP medio o istantaneo) e il numero di macchine della stazione:

Se il mondo è perfetto non ha senso mettere più WIP di quello critico, sarà necessario agire sul
collo di bottiglia (ad es. comprando una macchina in più, ma apportando questa modifica
dovremmo rifare tutti i conti poiché il sistema cambia completamente). In un mondo perfetto

13
non è l’unica strategia applicabile, anche perché spesso il collo di bottiglia è la stazione più
costosa (non è sempre possibile raddoppiarla).

Potrebbe capitare che il mercato non assorba completamente la domanda, quindi conviene
lavorare ad un WIP differente rispetto a quello del best case (inferiore). In questo modo
risparmio in costi (non immobilizzo capitale per altro materiale da mettere a terra: inoltre, posso
pagare meno dipendenti.

C. Ridurre il cycle time

Si ottiene riducendo il WIP, pur ricordando che non è possibile garantire cycle time più bassi

del T0 :

Questa cosa è vera sempre (non solo nel best case); quindi, anche in un mondo non perfetto
avere meno WIP significa avere cycle time più basso.

Inoltre, elevati livelli di WIP spesso nascono i problemi della linea: con WIP elevati
sicuramente lavoriamo sempre (macchine con utilizzazioni elevate), ma abbiamo maggiori costi
poiché aumenta il cycle time (che al giorno d’oggi è quasi più importante del TH). Solitamente
si procede togliendo il buffer fra le macchine e vedo se ho un risparmio sui costi.

La misurazione diretta del tempo ciclo può talvolta essere difficile, poiché implica la
registrazione dei tempi di entrata e uscita di ciascuna parte del sistema. Poiché il throughput e il
WIP vengono regolarmente monitorati (il WIP si misura alla fine della produzione contando i
jobs che escono, divido il numero di jobs per il Δt ed ho anche il TH), potrebbe essere più
semplice utilizzare il rapporto WIP/TH come misura indiretta del cycle time.

D. Suggerire l’inventario da pianificare

Questo ci consente di stabilire il livello di WIP da mettere nel sistema. In molti sistemi, i lavori
sono programmati per finire prima delle scadenze al fine di garantire un alto livello di servizio
al cliente.

Gli anticipi ed i ritardi mi danno fastidio nella produzione (potrei non avere lo spazio per
accogliere quell’ordine nel caso di anticipo, oppure potrei perdere tempo nella produzione a
causa di ritardi). Spesso i clienti rifiutano di accettare consegne anticipate, questo tipo di “lead
time di sicurezza” fa sì che i lavori attendano nell’inventario dei prodotti finiti prima della
produzione. Tuttavia, spesso l’anticipo è il male minore.

14
TH -WIP – CT relationship – WORST CASE (poco interessante)

Andiamo a considerare il comportamento peggiore della linea. Nello specifico, voglio trovare il TH
minimo ed il CT massimo possibile per una linea che ha un certo rb e un certo T0.

Conserviamo l’ipotesi di linea deterministicamente perfetta (tempi noti), ma introduciamo una


situazione in cui si verifichino code. La situazione peggiore possibile è quella in cui nel sistema è
imposto uno sbilanciamento deterministico tra i tempi di processamento del componente.
Nonostante il tempo di lavorazione non cambi, cambia la sua distribuzione sulle macchine.

Per la nostra linea il peggiore caso di funzionamento possibile

Facciamo una forzatura teorica: 4 macchine acquistate, produco 4 componenti diversi ed ho:

- Per il primo componente 8 ore di processamento sulla prima macchina;

- Per il secondo componente 8 ore di processamento sulla seconda macchina;

- Per il terzo componente 8 ore di processamento sulla terza macchina;

- Per il quarto componente 8 ore di processamento sulla quarta macchina;

Cioè ogni componente ha sempre 8 ore di lavorazione, le macchine sono sempre 4, ma ho


situazione di sbilanciamento completa: infatti abbiamo un job che fa tutte le 8 ore di
processamento su una macchina e nessuna su tutte le altre (ho sempre code nell’impianto).

Considerando la linea del best case, lavorando sul WIP critico di 4 jobs, possiamo introdurre il
più grande sbilanciamento mantenendo lo stesso tempo medio di processamento nel seguente
modo:

In questo modo abbiamo ancora rb = 0.5 job e T0 = 8 ore, quindi W0 = 4 job.

La differenza rispetto al best case è che i tre jobs con tempi di processamenti 0 sono costretti ad
attendere 8 ore in ciascuna stazione.

CT =

TH =

15
Da cui ricaviamo la worst-case performance law. Il caso peggiore di CT e di TH per avere un
particolare livello di WIP w è dato dalle seguenti relazioni:

Perché è importante conoscere sia il best-case che il worst-case?

Queste sono le due situazioni limite: sono utili poiché possiamo vedere dove lavora il nostro
impianto, ossia quanto vicino al best-case o al worst-case.

Per valutare entrambi i casi, ci calcoliamo l’rb ed il T0 della nostra linea (se T0 varia, ne considero
un valore medio). Questo può essere fatto sempre. Ottenuti rb e T 0 valuto il WIPcritico. Una volta
che ho W0, TH e CT ci possiamo disegnare le curve di riferimento sia nei casi di worst-case che
best-case e confrontarli con i risultati
effettivi della linea.

L’importanza di conosce il le due


situazioni limite ci consente di poter
migliorare individuare il margine di
miglioramento (nella foto è la freccia
rossa) della mia linea.

Tracciare queste curve è fondamentale


per conosce le caratteristiche del nostro processo, soprattutto se il processo produttivo è a flusso:
solitamente per il TH si lavora sotto la curva del best-case, mentre per il CT si lavora sopra. Se non
è così sto sbagliando qualcosa.

Un processo si dice a flusso se i cartellini di lavorazione della linea seguono tutti lo stesso percorso,
quindi prevedono che le lavorazioni siano una dopo l’altra (in serie); è per reparti se ho dei cartellini
diversi per ogni oggetto.

16
TH -WIP – CT relationship – PRACTICAL WORST CASE (caso interessante)
A differenza del worst-case questo caso è interessante: mentre per il worst-case ho una situazione
irrealistica, il practical worst-case è il caso peggiore ma reso pratico. Questo vuol dire che sto
assumendo delle ipotesi verosimili, cioè vediamo le condizioni peggiori di variabilità (nel worst-
case ho uno sbilanciamento completo, qui invece ho massima variabilità). In questo caso:

- Togliamo l’ipotesi di mondo perfetto

- Ipotizziamo di avere molta variabilità (la variabilità di una macchina è la massima possibile)

Quindi consideriamo fenomeni randomici (rotture, manutenzioni, malfunzionamenti, tempi di setup,


ecc..) che prima avevamo dato per scontato ma non esistenti (mondo perfetto). Fenomeni random,
come tempi di processamento casuali (che variano per ogni macchina), produco code dinamiche.

Quando viene introdotta la casualità si formano delle code che possono muoversi. Questo
fenomeno crea grossi problemi: ad esempio, se la macchina x è il collo di bottiglia e si svuota per
via della variabilità (macchina che non lavora), la mia produttività scende al di sotto del collo di
bottiglia e diventa molto bassa.

Consideriamo la stessa situazione del caso precedente, ossia linea formata da 4 macchine. Non
cambieremo niente, quindi diremo che i tempi di lavorazione sono sempre 2ore per macchina (linea
bilanciata). L’unica ipotesi che toglieremo è quella di mondo perfetto: cioè al posto di dire che ho
sempre 2 ore di lavorazione per ogni macchina, questo tempo può variare ed è presa
randomicamente (quindi 2ore rappresentano solo un tempo medio di lavorazione).

Il WIP è diverso da prima: nel best-case avevo un vettore di sistema del tipo (1,1,1,1), poiché
avevo 1 job su tutte e 4 le workstation ed il WIP per ogni stazione era unitario. Per il practical-worst
case, invece, facciamo l’esempio con 3 jobs (WIP=3) e 4 stazioni. Enumeriamo i possibili stati del
nostro sistema:

Lo stato del sistema è un vettore che mi dice il WIP per ogni


workstation.

17
Gli stati nel riquadro rosso sono stati compatibili con l’ipotesi di worst-case (stati 1-2-3-4). Quelli
nel riquadro nero, invece, sono stati compatibili con l’ipotesi di best-case (stati 17-18-19-20). Tutti
gli altri sono stati compatibili con l’ipotesi di massima variabilità (practical worst-case).

Facciamo l’ipotesi che tutti di stati equiprobabili (questa ipotesi viene fatta perché stiamo
definendo un sistema per il quale vogliamo la massima variabilità possibile).

Vogliamo trovare il modo matematico di giustificare che tutti e tre gli stati siano ugualmente
probabili, ma affinché sono richieste tre condizioni principali:

1. La linea deve essere bilanciata.

Intendiamo che tutte le stazioni (e non macchine, perché potrei avere macchine bilanciate e
stazioni sbilanciate) abbiano un tempo medio di processamento di 2h. Se così non fosse, non
avrei stati equiprobabili e potrebbero verificarsi code prima della stazione collo di bottiglia.

2. Tutte le stazioni devono essere composte da macchine singole.

Questa ipotesi si può anche omettere, ma il conti risulterebbero più complessi. Ciò che conta
che la stazione sia mediamente bilanciata.

3. I tempi di processamento devono essere casuali e devono avvenire secondo la distribuzione


esponenziale.

Oltre alla distribuzione uniforme, l’esponenziale è l’unica distribuzione continua con la


proprietà di non avere memoria (proprietà di memoryless). Ciò significa che se il tempo di
processamento su una macchina viene distribuito in modo esponenziale, la conoscenza di
quanto tempo è stata in lavorazione quella parte non offre informazioni su quando sarà finito il
processo. Pertanto, se i tempi di processamento sono distribuiti in modo esponenziale, non è
necessario sapere da quanto tempo è in corso un processo per definire completamente lo stato
del sistema (sapere da quanto tempo è iniziato il processamento, non mi dice niente in più su
come evolverà il sistema, poiché i tempi sono così variabili che pure se lo sapessi non
cambierebbe niente).

Per rendere gli stati equiprobabili ci serve una distribuzione che non abbia memoria del passato:
la conoscenza del passato non mi dice niente sul futuro. (ad esempio, posso estrarre
continuamente numeri da una distribuzione esponenziale e questi saranno fra di loro
perfettamente scorrelati: non posso fare alcuna previsione dei valori successivi, ma posso solo

18
dire che la media delle estrazioni è quella stabilita all’inizio; ad es. se ho una distr. esponenziale
a media 4, può uscirmi 1 oppure 10, l’importante che la media sia 4).

Lezione 12 – 12/11/20

Riprendiamo il discorso della Basic Factory Dinamics della lezione precedente, sottolineando la
differenza tra il Lead Time e Cycle Time:

 Lead time: è un tempo di attraversamento dell’impianto, promesso.

 Cycle time: è il tempo reale che il prodotto impiega dall’inizio della prima lavorazione fino
alla fine dell’ultima. Il CT inizia quando l’ordine viene trasformato in lavorazione, ossia da
quando inizia la lavorazione sulla prima macchina. A rigor di logica bisogna escludere le
code a monte della prima macchina nel calcolo del cycle time.

Nella lezione precedente abbiamo fatto l’ipotesi di stati equiprobabili, sottolineando che implicava
tre condizioni. In particolare la condizione 3. è importante perché ci consente di assumere che ogni
stato di processamento è indipendente dal momento in cui è iniziato tale processamento.

Parlando di probabilità è opportuno fare dei cenni di statistica:

Distribuzione Normale (o di Gauss) ovvero a “campana”

19
I grafici si leggono sull’asse delle x, poiché indica i possibili valori che può assumere la variabile
che

deve essere estratta dalla distribuzione normale.

- La curva a sinistra è la PDF – (probability density function); sulla y è indicata (tipo) una
“percentuale di frequenza”. (Per capirne il senso, se faccio delle estrazioni a caso è molto più
probabile che l’estrazione ricada nell’intorno di t=200 poiché lì ho i valori più alti di densità di
probabilità).

- La curva a destra è la CDF – (cumulated distribution function); sulle y c’è la funzione cumulata.
Ciò significa che se voglio sapere la probabilità di avere un valore di ascissa inferiore ad una
particolare x*, basta leggere in corrispondenza di quella ascissa che valore assume il grafico.
Quella sarà la probabilità di trovarne un numero inferiore a quello a cui corrisponde la curva (va
da 0 a 1, ma non toccherà mai 1 poiché è asintotico).

Queste sono la PDF e la CDF di una normale standard. La normale standard non gode della
proprietà di memoryless, perché anche se le estrazioni sono indipendenti, esse tendono a centrare la
media (questo mi da delle informazioni aggiuntive circa la conoscenza dell’inizio del processo;
quanto detto è dimostrato statisticamente).

Questo distribuzione ci serve perché il tempo di processamento fornito al simulatore è dello stesso
tipo di una distribuzione normale.

Distribuzione Esponenziale

20
Confrontando i grafici, notiamo che sia la distribuzione Esponenziale che quella Normale hanno la
stessa media (200). Da qui capiamo perché la distribuzione esponenziale gode della proprietà di
memoryless: la normale ha un’alta probabilità di centrare la media (ossia numeri vicino a 200,
poiché la f(t) in quell’intorno assume valori di probabilità pari al 60/70% ); la distr. Esponenziale,
invece, ha quasi la stessa probabilità di centrare la media o qualsiasi altro valore.

Ha senso simulare un processo con una distribuzione esponenziale? No, perché in industria
avere un processo con medie di processamento esponenziale è un problema grave: avrei una
variabilità elevatissima (avrei una macchina è impegnata alle volte 1 ora ed altre 4, quando la media
ad.es è 2).

Per questo utilizziamo questa distribuzione per il practical-worst-case, poiché ci chiediamo come
funziona un impianto in piena crisi, cioè con la massima variabilità possibile.

Se il mio impianto lavora peggio del practical-worst-case quanto sto inguatato? TANTO.
Quindi è bene analizzare questa situazione, al fine di lavorare quanto più lontano possibile da essa.

Analisi del modello: cerchiamo di ricavare la legge di CT e TH nell’ipotesi di practical worst-case.

Adesso abbandoniamo l’ipotesi di avere 4 macchine, ma consideriamo le nuove ipotesi:

- Consideriamo una linea generica formata da N singole macchie (stazioni di 1 macchina).

- Ogni stazione ha un tempo (t) di processamento esponenzialmente distribuito

- Riusciamo ad avere una linea che sia controllata nel WIP, quindi stiamo lavorando con una linea
CONWIP (stessa ipotesi fatta per le altre linee)

 raw processing time (esclusi i tempi di trasporto, come facciamo sempre)

 bottleneck rate

dove N è il numero di stazione e t è la media del tempo di processamento. Questo è un valore medio
del raw processing time T0 dato che non siamo più nelle ipotesi di mondo perfetto. Posso dire che
rb=1/t dove t è sempre il tempo medio di processamento ed al numeratore ho 1 perché sto
ipotizzando di avere una macchina per ogni stazione (al numeratore ho il numero di stazione).

21
Vogliamo determinare il tempo medio che un job impiega per attraversare una stazione.

Attraversare include tempo di processamento e tempi di attesa in coda.

Il sistema è una rete chiusa, e poiché vive nel pratical worst-case (per via delle proprietà della
memoryless), tutti gli stati sono equiprobabili. Se tutto ciò è vero posso usare il valore medio.

La Mean Value Analysis (MVA), in queste ipotesi ci dice che il generico job ogni volta che entra
nella stazione si aspetterà di trovare in media davanti a se gli altri (w-1) jobs equamente divisi per le
restanti N stazioni. Se io sono il decimo job (ad esempio) che sta entrando su di una linea di 10
WIP, mi aspetterò che gli altri 9 siano equamente distribuiti sulle restanti N macchine.
Abbandonando il mondo perfetto ora parleremo sempre di “mediamente”, “probabilmente”.

Se il sistema non fosse equiprobabile non potrei determinare un’equazione per studiarlo, ma posso
solo dire dove probabilmente lavorerà. L’intento del practical-worst-case è quello di fornire
un’indicazione su come gestire una linea vera. In linea di massima riusciremo sempre a gestire una
linea a flusso seguendo il practical-worst-case, ma non è detto che riesca ad avvicinarmi al best-
case. Ovviamente questi non sono modelli “veri”, ma sono utili per dare un giudizio ad una linea
reale.

Si osserva che se la linea non è a regime non posso fare nessun tipo di analisi, lo studio del
transitorio è argomento di ricerca molto problematico, essendo che non si conosce la dinamica con
cui evolve, non si riesce a modellarlo.

Quindi nella generica stazione mi aspetto di trovare mediamente un numero di job pari a

Per cui il tempo medio che “io job” spendo nella stazione per aspettare è dato da

= Tempo medio per attraversare una stazione

= numero dei job che ho mediamente avanti e mi aspetto di trovare (equamente distribuiti)

t = tempo medio per processare un job (tempo medio “di me stesso” per
processarmi)

= tempo coda; tempo che i “job che ho davanti” impiegano per completare il processamento

22
Da qui capiamo perchè ci serve una distribuzione esponenziale: stiamo totalmente ignorando il
fatto che dei (w-1)/N jobs, 1 abbia già potuto iniziale la lavorazione (quello che ci precede, ad
esempio). Grazie alla proprietà di memoryless, anche se sapessi il punto della lavorazione in cui si
trova il job che mi precede, non avrei nessuna informazione sugli altri (perché sarebbe potuto essere
un numero qualunque; non mi interessa perché sto facendo un ragionamento medio).

Sarebbe stato diverso con una distr. Normale perché avrei potuto calcolare una probabilità su ciò
che ci resta da fare.

 A questo punto possiamo calcolare il tempo medio di attraversamento di tutta la linea


produttiva (ribadiamo che stiamo includendo i tempi di processamento ed tempi di attesa in
coda) devo moltiplicare quello del singolo job per le N stazioni

w = è il WIP con cui sta funzionando la


linea

 Applicando la Legge di Little, è possibile identificare il throughput

con W0 = T0*rb

Abbiamo ottenuto le practical worst-case performance law (PWC) per un generico livello di WIP
w:

Osserviamo che il CT è una retta, poiché è semplicemente proporzionale al w; il TH, invece, poiché
ha w sia al numeratore che al denominatore ha l’andamento di un ramo di parabola.

TUTTE LE LEGGI RICAVATE (BC, WC e PWC) VALGONO SOLO A REGIME

BC E WC sono un po' come le temperature nel ciclo termico di carnot: i limiti entro i quali operare

23
Riassumendo, il PWC fa riferimento ad una linea con le seguenti caratteristiche:

- Linea Bilanciata
- Macchina singola per ogni stazione
- Tempi di processamento con distribuzione esponenziale (memoryless)
Queste sono le tre condizioni (peggiori) che massimizzano gli effetti randomici della linea.
Standardizzando i processi, ossia diminuendo la variabilità del sistema, si migliorano le
performance di linea (CT più bassi e TH più elevati).

Dalle relazione del PWC è possibile estrarre i grafici

Perché le linee lavorano con wip alti? Lavorare con wip alti aiuta a nascondere le inefficienze di
processo: infatti (graficamente) per wip alti il PWC si allontana dal WC e si avvicina al BC. Quindi,
mettere molto materiale a terra ci dà migliori performance per la linea. Ma a che prezzo? Sul TH
guadagno ma sul CT ne perdo, poiché il CT all’aumentare del wip sale. Quindi sono meno reattivo
sul mercato e meno competitivo. La soluzione è fare un trade-off.

Questi grafici ci aiutano a confrontare la nostra linea con i tre casi studiati e a capire come
possiamo intervenire. In particolare, stiamo facendo riferimento alla PF2 la confrontiamo con BC,
WC e PWC.

 Partiamo disegnare il grafico del TH: basta conoscere W0 ed rb per il BC e 1/T0 per il WC.

24
Una volta tracciati WC e BC possiamo rappresentare il PWC: per farlo basta considerare la formula
del THPWC e studiare la funzione. Siccome è molto laborioso, conviene procedere per tentativi
(porre w=1 e vedo quanto fa il TH PWC; dopo lo faccio con w=2, w=3, w=4 ecc.. fatto per qualche
punto ho capito l’andamento e continuo a mano).

Osserviamo il PWC della PF2 sarebbe una linea inventata, in cui ogni stazione è bilanciata e lavora
al collo di bottiglia 0.4. Invece, nella PF2 vera e propria (rimuovendo le hp di mondo perfetto e
generando i tempi di processamento da un’esponenziale) con lo sbilanciamento indotto si
raggiungono (a parità di WIP) TH più alti del PWC. Aver sbilanciato le macchine mi consente di
registrare performance più vicine al best-case (sono nella good region).

Come traccio la PF2? Non conosco l’equazione, come posso individuarla? Ad oggi non esiste un
modo analitico per ricavarla. L’unico modo che ho per ricavare la curva di una linea sbilanciata è
simularla all’infinito (ad es. lancio una simulazione con wip=6 e la faccio correre per circa 1 anno,
a quel punto posso assumere che più meno è arrivato a regime e traccio il puntino; lo faccio anche
con w=8, w=10, ecc..).

Come traccio il PWC della PF2? Non abbiamo alcun tipo di problema, basta usare la formula del
THPWC e vedere come varia con w.

Il PWC divide la nostra regione in due zone: Bad region e Good region.

Voglio che per la nostra linea produttiva si trovi nella regione buona: per farlo individuo T0 rb e W0,
traccio i due casi limite (BC e WC), ed infine traccio il PWC. In questo modo riesco a capire in che
regione sto lavorando: se lavoro sotto, vuol dire che la linea non funziona bene; se lavoro sopra, la
linea sta funzionando al meglio.

“Posso produrre più del best-case?” Non posso farlo, per superare il TH del BC dovrei comprare
una nuova macchina.

“Posso migliorare le mie condizioni operative?” Se sto sotto o sopra il PWC ho sempre un
margine (dal punto considerato alla curva) sul quale posso
intervenire per ridurre le variabili. In generale, pendere
macchine con media più alta e con variabilità molto stressa
è meglio che fare il contrario. (meglio avere una macchina
che in media ha tempi di 3.5 ma con variabilità ridotta,

25
piuttosto che avere i tempi medi di 3 ma con variabilità da 1 a 5). Questo perché il nemico numero
1 è la variabilità di processo non considerata.

Se lavoro nella Bad ragion è meglio recuperare quanto prima possibile il gap con il PWC, perché è
facile e non c’è bisogno di mettere mano alle macchine. Una volta giunto al PWC decido dove
intervenire per giungere nella Good region (ad es. compro della macchine con tempi meno
variabili; oppure istruisco gli operatori per renderli più specializzati).

 Per disegnare il CT i discorsi sono analoghi a quelli fatti per il TH.

Sbilanciare la linea introducendo una over-capacity nella stessa stazione, ci permette di


incrementare il TH anche se rb rimane lo stesso.

Nel caso avessi variabilità, l’utilizzo di macchine disposte in parallelo nella stazione riduce gli
effetti randomici ed incrementa il TH a parità di WIP. Questo perché aumenta l’affidabilità del
sistema.

Ridurre la variabilità di processo, ridurrebbe la variabilità del nostro attraversamento quindi


aumenta il TH. Quindi la colpa delle performance inferiori al best-case sono gli effetti variabili.

Azioni da prendere per aumentare il TH:

In una linea che opera con WIP controllato e con variabilità, il TH può essere incrementato in 2
modi:

1. Incrementare il bottleneck rate rb : metto mano alla tasca ed intervengo sulla stazione collo di
bottiglia (ad esempio raddoppiando le macchine o acquistando delle macchine più veloci). In
questo caso la linea performa meglio perché la curva del BC (best case) si alza (poiché avrà rb
più alto) ed anche quella del PWC (practical worst-case).

In conclusione ho delle rette più alte, ma (di contro) ho messo mano al portafoglio.

2. La seconda strada, quando non è possibile fare la prima, è quella di aumentare lo


sbilanciamento della linea (nel BC non succede), cioè introduciamo della over-capacity nella
linea: ciò ci aiuta ad avere TH più elevati anche se anche se rb rimane lo stesso.

Nel PWC se sbilanciamo la linea sembra che stiamo producendo meglio rispetto al caso
bilanciato: questo perché in una linea molto variabile non è più il collo di bottiglia a comandare,
ma le macchine affette da variabilità. (ad es.) per via della variabilità potrebbero arrivare dei
carichi inaspettati su macchina 1 e 2, quindi il collo di bottiglia resta vuoto; quindi vedo un TH
ancora inferiore rispetto a quello del collo di bottiglia (le performance scendono, poiché rb non
lavora). Quando c’è variabilità il collo di bottiglia può rimanere senza un pezzo da fare (in
26
starvation) e quindi perderei in termini di TH. Poiché l’obiettivo è quello di tenere impegnato
quanto più possibile il collo di bottiglia (così da poter tendere al best-case e quindi incrementare
il TH) andiamo ad incrementare la produttività delle macchine vicino al collo di bottiglia: si
aggiunge una over-capacity (sbilanciando quindi la linea) a monte e a valle del collo di bottiglia
per farlo lavorare sempre e al massimo.

La strada 1 ha sempre quasi sempre senso: talvolta questo tipo di intervento non è sempre
possibile poiché spesso le macchine della stazione collo di bottiglia sono molto grandi, costose e
complicate da gestire (es. acciaieria).

La strada 2 è tanto più vera quanto più è alta la variabilità della linea e più piccolo è il WIP:
con wip molto alti non ha senso poiché il collo di bottiglia lavorerebbe sempre, quindi non andrei in
starvation e predisporre una over-capacity sarebbe inutile (costi inutili). Percorrere la strada 2 vuol
dire avvicinarsi alla condizione sbilanciata (ossia quella della PF2), ma dai grafici vediamo che per
WIP alti avrei CT elevati, quindi si lavora con un WIP piccolo che ci permetta di avere CT bassi
(quindi migliori performance).

Consideriamo una linea a flusso formata da 4 stazioni con una singola macchina (stile PF1).
Ipotizziamo che la linea sia sbilanciata, per cui abbiamo tre macchine che hanno un tempo di
processamento medio di 10 minuti e l’ultima (collo di bottiglia) di 15 minuti (avere il collo di
bottiglia alla fine è già un vantaggio). Siamo nelle ipotesi di non avere un “mondo perfetto” (c’è
variabilità), quindi supponiamo di essere in grado di portare anche la quarta stazione a lavorare 10
minuti (stiamo bilanciando la linea) e vediamo cosa succede graficamente.

La linea continua rappresenta il TH del BC quando la linea rea sbilanciata (3 macchine a 10min e la
quarta a 15min).

Vediamo la prima strada: posso incrementare la produttività


(rb) acquistando una nuova macchina al posto del collo di
bottiglia. Possiamo osservare che la curva del PWC (ossia
quella con i markers) quando la linea era sbilanciata tendeva
di più al BC, mentre dopo aver effettuato la modifica si tiene
più lontana dal nuovo BC (linea tratteggiata). Questo perché
nel caso in cui avevamo un collo di bottiglia si tendeva a
massimizzare il funzionamento di quest’ultimo e il PWC si
avvicinava molto. Ora, invece, una volta incrementata la

27
produttività, lavoriamo nelle nuove ipotesi di PWC: il TH risulta aumentato rispetto a prima, ma
non è certo l’incremento che speravamo (guardando il BC). Tecnicamente questa soluzione non ci
permette di sfruttare al massimo la linea, ma bisogna fare una valutazione economica per
convalidare o meno questa scelta.

Questa strada, se economicamente e tecnicamente fattibile, è quella che mi da il maggiore


incremento con il minor sforzo possibile. Tuttavia, qualora fosse difficile duplicare il processo
della stazione collo di bottiglia (per i costi, o per le difficoltà operative) conviene intervenire sulla
seconda strada

Vediamo ora la seconda strada: in questo caso anziché


muovermi sul bottleneck rate mi muovo sulle stazioni
vicine al collo di bottiglia, cioè faccio in modo che le altre
3 stazioni lavorino ora a 5 minuti ed il collo di bottiglia
resti 15.

In questo caso il BC non cambia (poiché il collo di


bottiglia è sempre lo stesso), ma cambia sua pendenza
iniziale poiché T0 sta diminuendo (adesso la somma dei
tempi è 5+5+5+15=30; prima era 10+10+10+15=45); il
tratto costante del BC non cambia poiché è condizionata
solo dal collo di bottiglia (che è costante).

Percorrendo questa strada, il PWC tende più velocemente al BC (anzi, ci arriviamo quasi), perché
siamo arrivati in un punto in cui tutta la coda si concentra davanti a collo di bottiglia (sto
intervenendo solo a monte, poiché il collo di bottiglia è l’ultima stazione).

Bisogna ricordare che tutto quello che ci siamo detti vale per una linea a flusso, flow job, quando
ci troveremo in un reparto job shop quello che abbiamo visto perde valenza, non vale più. Per
produzioni NON a flusso non esistono dei modelli, ma bisogna lavorare con delle simulazioni. C’è
da dire che il job shop è l’ambiente più difficile da governare, è una metodologia di produzione
solo se ho un mix produttivo vasto, ma appena il rateo produttivo consente bisogna passare il
prima possibile in un layout a celle e se possibile a flusso. Tuttavia, una linea a flusso può anche
realizzare un ix produttivo basto, ma bisogna saper condensare in celle a flusso quei componenti
che hanno un ciclo di lavorazione che visita le stesse macchine nello stesso ordine.

28
Internal Benchmarking

(potrebbe essere esercizio d’esame)

Supponiamo di voler valutare il comportamento di un generico flusso produttivo. Supponiamo di


avere i dati di una compagnia che produce i circuiti stampati (PCB), in tabella vediamo i valori
medi di lavoro dei processi che costituiscono la lavorazione (dati di produzione).

Sono dati i seguenti valori:

Sono dati il rateo di processamento ed il tempo (medio) di processamento. Il tempo medio è un


valore importante per modellare la distribuzione esponenziale.

Da questa tabella vediamo che il collo di bottiglia è il Sizing (è il più lento). Il TH di questa linea
chiaramente non può essere più di 126.5 parti/h. Tuttavia, il TH che si manifesta nella realità è 45
parti/h, ancora più sconcertante è il WIP = 37.000 parti, cioè la linea è ingolfata ed il CT è di 34
giorni (816h a causa del WIP elevato).

29
Vogliamo sapere se il sistema sta funzionando bene, ossia se le prestazioni globali sono efficienti.
Per farlo occorre valutare il BC, il WC ed il PWC.

Prima di tutto valutiamo T0 che è pari a 37.5h (nelle slide il valore di T0 che compare è di 33.1h
causa errore nel calcolo, da ora in poi useremo quest’utlimo valore) che rispetto le 816h del CT
dimostrano quanto sia ingolfata la linea. Il W0 (wip critico) nonostante sia un valore inerente al BC
è utile determinarlo per aver un buon metro di paragone.

; ⇉

Adesso devo vedere quanto i dati sono vicini alla Legge di Litte, in questo modo capisco se sono a
regime oppure ancora nel transitorio inziale. Applicando la legge di Little

Quindi, nonostante la linea è in una


condizione sfavorevole, la legge di little è più o meno verificata e sono a regime (34 sarebbe il CT a
regime di 33.1h). Quindi, le misurazioni globali fatte sono coerenti (non ci sono errori di
misurazione) e se la linea fosse andata avanti per un anno i valori della linea rispetto al totale
sarebbero stati:

Nessuno dei valori calcolati sembra molto buono. Tuttavia, dobbiamo stare attenti a trarre
conclusioni da qualsiasi singola misura. Per esempio, semplicemente sapendo che il WIP è 8,8 volte
il WIP critico non significa di per sé che la linea sta funzionando male. Anche una linea molto
buona richiede un WIP elevato per raggiungere un livello di velocità effettiva vicino al tasso di
collo di bottiglia, ma quando il WIP è alto e la velocità effettiva è bassa, questo è un brutto segno.

Per trarre una conclusione, posso dire che un WIP così alto porta ad avere buffer su tutte le
macchine mascherando le inefficienze, ma non può essere in nessun modo giustificato perché non
mi da neanche un TH maggiore. Ho una linea pachidera, con un WIP alto, TH basso e

CT alto (conseguenza del wip alto).


30
Sinora abbiamo confrontati i nostri parametri con le condizioni di BC, adesso mettiamoci in
condizioni più modeste e confrontiamoli con quelle di PWC.

37000
= . 126.5=113.64 parts /h
4187+37000−1

Osserviamo che la frazione è sempre minore di 1, quindi riduce in % l’r b di


una linea che lavora al massimo della sua variabilità. Quindi confrontare
il valore attuale di TH (45.8) con il TH BC non è molto onesto, per questo viene confrontato con

45.8
THPWC e risulta essere circa il 40% del THPWC ( =0.403¿ .
113.64

Un altro parametro che mi fa capire quanto funziona male la linea è il WIP che dovrei avere nelle ipotesi di
PWC per avere quel TH di 45.8

Tale WIP è addirittura 15 volte inferiore a quello che ho attualmente (2376 rispetto ai 37400 che
dovrei avere). Da qui capiamo che il problema è solo il WIP dato che quel valore di TH va bene.
Avere WIP più alto vuol dire immobilizzare molto più capitale, con rischio di obsolescenza e
perdita in termini economici.

Possiamo concludere che la linea


performa molto peggio di quelle che
sono le sue potenzialità, quindi non è
il caso di suggerire sforzi di tipo
impiantistico ma bisogna andare a
vedere cosa succede in produzione
perché sicuramente ci saranno delle
inefficienze.

31
Come posso intervenire?Per avvicinarmi al BC, ho un margine di miglioramento sia per il TH che
per il WIP. Agire sul TH è difficile poiché dovrei conoscere bene il processo per diminuire le
variabilità; agire sul WIP (riducendolo) è più semplice, poiché basta utilizzare i principi lean
(ordinare le stazioni; ordinare i cartellini; istruire meglio i dipendenti). Ridurre il WIP,
naturalmente, ci porta 2 vantaggi: in primis ci permette di immobilizzare meno capitale, in
“secundis” riduce il CT e quindi sono più competitivo sul mercato.

Labor-constrained systems

Per ora ci siamo concentrati sulle macchine e sui vincoli che esse impongono. Non abbiamo ancora
considerato i vincoli degli operatori (oggetto di studio della teoria del “labor-constrained systems”).
Quindi, fino sinora abbiamo dato per scontato che non appena il pezzo arriva in una stazione il
lavoratore fosse immediatamente pronto per la lavorazione.

Questi tipi di sistemi mostrano un comportamento più complesso rispetto alle linee semplici
considerate finora, dato che il flusso di lavoro è influenzato sia dal numero dalle caratteristiche delle
macchine che dal numero di operai. Studieremo due casi diversi:

1. Studio di capacità ampia (in cui si fa la seconda ipotesi, cioè l’operaio può fare qualsiasi
lavorazione)

2. Studio di capacità vincolata (linea conwip, con lavoro flessibile).

 Ample capacity case (studio di capacità ampia)

Nei casi precedenti non consideravo il vincolo degli operatori, quindi potrebbe essere quella la
causa dei miei problemi. Ora ragioniamo dal punto di vita degli operai e assumeremo che il
lavoratore sia l’unico collo di bottiglia del sistema. Valgono le seguenti ipotesi:

1. L’operatore non è mai bloccato dalle macchine: tutte le workstation sono equipaggiate per
evitare che vi siano fermi per mancanza.

2. Gli operatori possono cambiare le macchine senza problemi: devo assicurarmi che ogni
operatore abbia le competenze per farlo, quindi devo avere un grado di specializz. adeguato.

3. I dipendenti hanno tutti la stessa velocità di lavorazione

32
Per queste 3 ipotesi, posso dire che il lavoratore è in grado di seguire istante per istante tutto il ciclo
di lavorazione. Quindi anziché parlare di WIP parlerò di numero di operai n, l’operaio
cammina con il WIP:

In un sistema come questo, la capacità è definita dal lavoratore piuttosto che dalle macchine.
Ribadiamo che le ipotesi forti della capacità ampia sono:

1. T0 è indipendente dall’operaio (worker) che lo fa;

2. Il lavoratore segue il processo di lavorazione dall’inizio alla fine, non deve mai essere
fermo.

Sotto queste ipotesi, i posti di lavoro vengono rilasciati nel sistema solo quando un lavoratore
diventa disponibile, e poiché non vi è alcun blocco a causa di attrezzature, il tempo di ciclo è
sempre T0.

Se ci sono n worker nella linea che lavorano allo stesso rateo e tempo di processamento (ognuno
mette un lavoro ogni T0 unità di tempo) il TH sarò dato da n/T0.

Poichè l’Ample capacity case è una situazione ideale, qualsiasi cambiamento nelle nostre ipotesi
può solo diminuire la produttività. Quindi possiamo definire la Labor Capacity Low :

è la capacità massima di un linea con un organico di n operatori addestrati a


lavorare in modo incrociato e con tassi di lavoro identici

Questa situazione somiglia al BC. Il THBC era TH=WIP/T0, nel nostro caso al
posto di WIP abbiamo n ovvero l’operaio che ci fa da collo di bottiglia. Quindi intervenendo sul n°
di operatori oppure sul T0 posso aumentare il TH.

In generale, studio il sistema prima con il solo vincolo delle macchine, poi solo con quello dei
lavoratori. Fatto ciò, confronto i due TH:

 Se THLAV > THBC non ho problemi.

33
 Se THLAV < THBC si presenta la seguente
situazione:
Devo tracciare una nuova curva di BC in cui
considero rb = n/T0 ; quindi valuto il WC e il PWC
per questo caso. T0 non cambia, quindi la pendenza
delle rette è la stessa

 Flexible labor (linea conwip con lavoro flessibile)

In una linea CONWIP, il numero di posti di lavoro rilasciati linea supera in genere il numero di
lavoratori.

Se i lavoratori possono passare in stazione diverse attraverso il sistema e il lavoro, le prestazioni del
sistema dipenderanno da come è disposto il flusso dei lavoratori nel sistema (può risultare
complesso, dal momento che ci sono innumerevoli modi in cui il lavoro può essere ripartito
dinamicamente nel sistema).

Vediamo direttamente il caso della PF2

Avevamo l’ipotesi di mondo perfetto (tempi di processamento fissati) e con la legge di little
abbiamo calcolato il WIP per ogni stazione.
Ad esempio, nella stazione 3 ci si aspettamo di avere 4 job in processamento. Quindi, si
potrebbe
decidere di assegnare staticamente 4 operatori alla stazione 3: questa sarebbe una buona scelta
se
il sistema fosse deterministico, ma se vi è un certo livello di variabilità potrebbe accadere che in
alcuni momenti vi siano code e che (in casi estremi) gli operatori siano in una stazione vuota e

34
vengano comunque pagati.
Quindi, se il ciclo di lavorazione lo permette è sempre bene progettare linee a flusso in cui
l’operaio si muova con il WIP perché in questo modo riusciamo ad avvicinarci alla performance
del PWC.

Una possibile regola che in genere si usa, è che appena un operatore resta libero, non torna
direttamente all’inizio, ma si fa tornare indietro volta per volta: torna dietro di un posto e si
ferma
se trova job da lavorare, se questo non succede va ancora indietro.

Faccio così poiché lavorare downstream (a valle) minimizza il CT a partità di TH (vincolato dalla
risorsa, ma questa non viene cambiata). Il CT è minimizzato, poiché se non procedessi in questo
modo
qualora avessi un job che aspetta alla stazione dietro, ma andassi 2 posti dietro, quest’ultimo
resterebbe in attesa.

Il grado di cross-training, la velocità relativa dei lavoratori nelle diverse stazioni, e l’efficienza con
cui i jobs possono essere passati da un lavoratore ad un altro sono variabili importanti per la
definizione della regola adatta. Se non c’è differenza nella velocità dei lavoratori, il TH del sistema
dipende interamente da quanto spesso i jobs sbloccati sono inattivi per mancanza di un lavoratore.
Se questo non succede mai, allora il sistema può operare come una normale linea CONWIP. Se
questo succede frequentemente, si potrebbe assegnare un job ad ogni lavoratore così il sistema
opererà come una linea CONWIP ma con tanti jobs quanti i lavoratori.

Definiamo la CONWIP with Flexible Labor law: in una linea CONWIP con flessibilità molto
spinta con n identici lavoratori e w jobs, se w≥n qualsiasi strategia che non faccia fermare i
lavoratori quando ci sono jobs liberi ci fornirà un livello di throughput TH(w) delimitato da

dove THCW(x) rappresenta il throughput di una linea CONWIP con tutte le macchine occupate di
lavoratori ed x jobs presenti nel sistema.

35
Immaginiamo di avere una linea gestita con il conwip; valuto sia il TH MAX considerando come
vincolo le macchine (rb) che il THMAX considerando i lavoratori come vincolo (n/T0); Il TH della
mia linea è situato centro tra i due.

Questo è vero se i lavoratori sono specializzati e posso switchare tra una stazione e l’altra. Inoltre
questa legge può darci alcune informazioni sul grado di cross-training (lavoro incrociato) in un
sistema.

 Ad esempio, in una linea con lavoratori fissi, dove il numero di lavoratori è almeno pari a W0 e
le prestazioni sono vicine al BC , avere un cross-training ci fornisce davvero pochi vantaggi. Il
motivo è che una performance vicino al BC implica bassa variabilità, quindi saranno pochi i
momenti in cui la capacità di muoversi dei lavoratori crea attività a valore aggiunto. Quindi
varrà che

THCW(n) = THCW (w) circa

 D’altra parte, se in una linea la variabilità è significativa il potenziale miglioramento di


performance dovuto al cross-training può essere sostanziale.

Ad esempio considero una linea che lavora in condizioni di PWC:

Ora immaginiamo di aver addestrato i lavoratori a spostarsi fra le stazioni per sopperire ad
eventuali richieste improvvise di lavoro.

Dalla labor capacity low, sappiamo che questo potrebbe aumentare la capacità effettiva fino a

Se questo succede, la linea si comporta ancora come nel PWC e la curva di TH si sposterà di
conseguenza verso l’alto.

36
Dalla legge CONWIP with flexible labor law, considerando w ≥ n = 17, il TH effettivo si troverà
tra THPWC(17) and THPWC(w).

Quindi, anche se non possiamo dire quanto effettivamente sia grande il miglioramento di
performance, è chiaro che risulterà significativo.

La conclusione è che bilanciando dinamicamente la linea, i lavoratori formati nel cross-training


sono in grado di aumentare la capacità effettiva e ottenere maggiore produttività.

 I sistemi ad alta variabilità tendono a far morire di fame i lavoratori che sono legati alle
stazioni, quindi, permettendo ai lavoratori a seguire i jobs impedisce questo fenomeno ed
aumenta la produttività.

 Stazioni con macchine parallele facilitano il lavoro flessibile, infatti si riduce la frequenza
con cui i lavoratori sono bloccati per mancanza di una macchina.

37

Potrebbero piacerti anche