Informatica nella Produzione Industriale
Testo di Riferimento: ”Gestione della Produzione
Industriale”, A.Brandolesi, A.Pozzetti, A.Sianesi,
Hoepli, 1995.
Obiettivi:
Definizione di Processo Industriale e sua Classificazione
Problematiche nella Gestione di un Processo Industriale
Metodi di Ottimizzazione della Produzione Industriale
Strategie Algoritmiche: Soluzioni Complete ed Euristiche.
Sistemi Produttivi
Classificazione in base alla domanda e alla
produzione:
produzioni unitarie su commesse singole (variabilità dei
cicli di produzione)
produzioni a lotti su commesse ripetitive (alternanza dei
cicli di produzione)
produzioni continue su previsione
Classificazioni in base alla natura intrinseca del
prodotto:
produzioni per processo (ciclo tecnologico obbligato)
produzioni manifatturiere (Manufacturing Systems):
Fabbricazione e Montaggio (ciclo tecnologico non obbligato)
Manufacturing Systems
(Fabbricazioni)
Fabbricazioni per Reparti o Job Shop
Fabbricazioni per Cellule
Fabbricazioni per Linea di Prodotto
Manufacturing Systems
(Fabbricazioni di tipo Job Shop)
Un pezzo o un lotto viene lavorato da Reparti di
lavorazione spostandosi (tramite un sistema di
trasporto o pallet) in accordo ad un preciso ciclo
tecnologico (routing).
Ciacun Reparto aggrega macchine omogenee per tipo
di lavorazione. Dunque esso offre una determinata
“capacità tecnologica”
Il Job Shop è un sistema produttivo che mette a
disposizione “capacità tecnologiche”
la capacità produttiva dell’impianto si realizza
quando viene specificato il routing
Manufacturing Systems
(Fabbricazioni di tipo Job Shop)
Lotto i
A2
A1
3
1
Mj1
A4
A3
1
4
Mj2
Lotto i
4
Mj4
Mj3
Reparto Aj
2
3
2
Manufacturing Systems
(Fabbricazioni per Cellula)
Ciascun pezzo o lotto viene completamente lavorato
da cellule di macchine (Gruppo Tecnologico)
Ogni cellula aggrega macchine di natura diversa
adibite alle lavorazioni necessarie per ottenere il
particolare prodotto finito.
Manufacturing Systems
(Fabbricazioni per Cellula)
Lotto i
A2
A1
Mj1
A4
A3
1
Mj2
Lotto i
4
Mj4
Mj3
Cellula j
3
2
Manufacturing Systems
(Fabbricazioni per Line di Prodotto)
La fabbricazione per linea di prodotto è una sistema
produttivo costituito da un insieme di macchine
progettate per realizzare rigidamente una sequenza
fissata di lavorazioni.
Tutti i pezzi o lotti subiscono la stessa sequenza di
processamento
La fabbricazione per linea di prodotto è un sistema
produttivo che mette a disposizione una “capacità
produttiva”
La capacità tecnologica è incorporata nell’impianto e
mirata alla produzione di un solo prodotto.
Manufacturing Systems
(Fabbricazioni per Line di Prodotto)
Lotto i
M1
M2
M3
M4
Confronto tra le Soluzioni Estreme della
Fabbricazione
Job Shop
Vantaggi
Svantaggi
Alta Flessibilità
Elevati Tempi di Produzione
Elevata Elasticità (e.g.Guasti)
Elevato WIP
Scarsa Obsolescenza
Scarso Sfruttamento delle Risorse
Rapido Avvio di Nuove Produzioni
Scarsa Prevedibilità dei Tempi di Consegna
Difficoltà della Gestione (vedi lucido seguente)
Linea di Produzione
Vantaggi
Svantaggi
Ridotti Tempi di Produzione
Notevole Rigidità
Ridotto WIP
Investimenti Elevati
Elevato Sfruttamento delle Risorse
Rischi di Obsolescenza
Buona Prevedibilità dei Tempi di Consegna
Vulnerabilità ai Guasti
Elevato Tempo di Avvio di Nuove Produzioni
Difficoltà della Progettazione (vedi lucido seguente)
Difficoltà della Gestione della Produzione del
Job Shop
M11
M12
M21
M22
M31
M14
M13
M24
M23
M33
Lotto 1
Lotto 2
Lotto 2
M32
Lotto 1
Difficoltà della Gestione della Produzione del
Job Shop
Problemi Principali:
Scelta tra più Risorse (Macchine) disponibili per la
lavorazione dei Lotti
Loading: Scelta dei lotti da inoltrare nell’impianto e scelta
della sequenze di inoltro dei lotti nell’impianto
Dispatching/Sequencing: Scelta della sequenza di
Lavorazione dei Lotti sulle Singole Macchine
Minimizzazione di diversi parametri prestazionali quali il
tempo di trasferimento e i tempi di Set-Up delle Macchine
Soluzioni:
Esperienza Umana
Soluzioni Algoritmiche per l’Ottimizzazione
Produttività (Obiettivo del Corso)
della
Difficoltà della Progettazione della Linea di
Fabbricazione
Lotto i
M1
M2
M3
M4
T1
T2
T3
T4
Tempo di Lavorazione = T1+T2+T3+T4
Problemi Principali nella Progettazione:
Bilanciamento del Carico di Lavoro
Elevata Disponibilità delle Risorse (Meccanismi di
Tolleranza ai Guasti)
Analisi dei rischi di mercato ai quali si va incontro
dotandosi di una certa capacità produttiva per uno
specifico prodotto.
Flexible Manufacturing Systems
Introduzione del Controllo Numerico (Calcolatore)
nella gestione della produzione di tipo Manifatturiera
relativamente alla fase di fabbricazione:
Sistema di Trasporto Automatico
Controllo della Produzione
Basato principalmente sul modello “Job Shop”
Vantaggi:
Migliore allocazione delle risorse disponibili
Ottimizzazione di parametri prestazionali
Manufacturing Systems
(Montaggi)
Montaggi a Posto Fisso: L’assemblaggio viene
realizzato in una locazione fissa da uno o più
operatori (o macchine).
Montaggio a Trasferimento: L’assemblaggio viene
realizzato progressivamente da più stazioni di lavoro,
collegate da sistemi di trasporto (automatici):
Montaggio Sequenziale
Montaggio Stellare
Manufacturing Systems
(Montaggi a Trasferimento)
Montaggio Sequenziale
M1
M2
M3
M4
Montaggio Stellare
M1
M2
M5
M3
M4
Manufacturing Systems
(Montaggi)
Problematiche Attuali:
Linee di Montaggio assai rigide
Risorse disponibili usate solo per il montaggio di un
numero limitato di tipologie di prodotti
Soluzione: FAS (Flexible Assembly System)
Caratteristiche Principali di un FAS:
Cellule di Montaggio in grado di realizzare una vasta
gamma di assiemaggi con modesti tempi di riattrezzaggio
Il Montaggio completo di un prodotto viene realizzato
tramite l’attraversamento di un set di cellule di
assiemaggio (uso di movimentazione automatica)
Manufacturing Systems
(Flexible Assembly System)
Prodotto 1
M11
M12
M21
M22
M31
M14
M13
M24
M23
M33
Prodotto 2
Cellula di Montaggio 1
Cellula di Montaggio 2
M32
Cellula di Montaggio 3
Prodotto
Prodotto
Assiemato 1 Assiemato 2
Gestione della Produzione Industriale
Tre Fasi in Successione:
Progettazione e Realizzazione del Sistema Produttivo
Messa a Punto dei cicli di lavorazione, delle attrezzature,
delle procedure di collaudo e di controllo della qualità, etc.
PROGRAMMAZIONE DELLA PRODUZIONE:
Formulazione e gestione dei piani di produzione, ovvero utilizzo
delle risorse del sistema produttivo predisposte nelle fasi
precedenti per la realizzazione dei prodotti desiderati.
La Programmazione della Produzione si articola in tre periodi:
Programmazione di Lungo Periodo
Programmazione Aggregata
Programmazione di Breve Periodo
Gestione della Produzione Industriale
Programmazione della Produzione
Programmazione di Lungo Periodo
Input: target di fatturato
Output:
“Quanto” si dovrà produrre
“Quante” e “Quali” Risorse Produttive (manodopera,
materie prime, etc.) sono necessarie
Nota: le risorse legate all’impianto industriale non
possono essere variate
Periodo di Riferimento: Anno o più Anni
Gestione della Produzione Industriale
Programmazione della Produzione
Programmazione Aggregata della Produzione
Input: disponibilità delle risorse decise nella fase
precedente
Output: Piano Principale di Produzione (MPS), in termini
di “Quanto” si dovrà produrre in ogni Periodo di
Riferimento dell’Orizzonte Considerato
Periodo di Riferimento: Mese
Orizzonte Considerato: Anno o Semestre
Gestione della Produzione Industriale
Programmazione della Produzione
Programmazione di Breve Periodo della Produzione
Input: Piano Principale di Produzione (MPS)
Output: Decisioni basate sulla Schedulazione di Processi
Loading e/o Dispatching e/o Sequencing
Periodo di Riferimento: Giorno o Turno
La Programmazione di Breve Periodo della Produzione
può anche mancare (Just In Time - JIT)
Programmazione di Breve Periodo
Caratteristica Principale:
Ordini di Produzione a “Monte” del Sistema Produttivo,
contenuti nel Master Production Schedule (MPS)
Modello “Push”
Uso della Programmazione di Breve Periodo per la
Schedulazione dei Lotti, per decidere (ad esempio) il:
Loading
Dispatching/Sequencing
al fine di influire su (ad esempio):
Tempi di Consegna di Ciascun Lotto (MakeSpan)
Produttività (Numero di Lotti Prodotti/Time)
Accumuli durante la Produzione (WIP)
Utilizzazione delle Macchine
Programmazione di Breve Periodo
Esempio: 3 Lotti da produrre (risultato MPS)
Obiettivo: Minimizzare i tempi di completamento
Lotto 1
M1
M2
M3
Lotto 3
Lotto 1
Lotto 2
Lotto 2
Lotto 3
Routing Tecnologico:
Lotto 1= (M1, M3, M2)
Lotto 2= (M1, M2, M3)
Lotto 3= (M2, M3, M1)
Tempi di Produzione:
Lotto 1 = (M1(2), M3(1), M2(2))
Lotto 2 = (M1(2), M2(1), M3(2))
Lotto 3 = (M2(1), M3(3), M1(3))
Esempi di Risultati Forniti
dalla Programmazione di Breve Periodo
M1
1
M2
3
M3
2
3
2
1
Routing Tecnologico:
Lotto 1= (M1, M3, M2)
Lotto 2= (M1, M2, M3)
Lotto 3= (M2, M3, M1)
3
1
Tempi di Produzione:
Lotto 1 = (M1(2), M3(1), M2(2))
Lotto 2 = (M1(2), M2(1), M3(2))
Lotto 3 = (M2(1), M3(3), M1(3))
2
9
Diagramma di Gantt
Soluzione di Dispatching/Sequencing:
Tempi di Completamento:
Lotto 1 = 7
Lotto 2 = 8
Lotto 3 = 9
Esempi di Risultati Forniti
dalla Programmazione di Breve Periodo
M1
M2
M3
2
3
1
Routing Tecnologico:
Lotto 1= (M1, M3, M2)
Lotto 2= (M1, M2, M3)
Lotto 3= (M2, M3, M1)
3
2
1
3
1 2
Tempi di Produzione:
Lotto 1 = (M1(2), M3(1), M2(2))
Lotto 2 = (M1(2), M2(1), M3(2))
Lotto 3 = (M2(1), M3(3), M1(3))
7
Diagramma di Gantt
Soluzione di Dispatching/Sequencing:
Tempi di Completamento:
Lotto 1 = 7
Lotto 2 = 7
Lotto 3 = 7
Ipotesi Adottate nella
Programmazione di Breve Periodo
Le risorse che devono essere utilizzate sono interamente note
e non è possibile decidere variazioni di macchinari e di orario
Il numero di risorse critiche (quelle “contese”) è sempre
unitario ed è generalmente rappresentato dalle macchine
I lotti (o job) sono sempre definiti (routing, data di consegna)
I tempi di trasporto sono trascurabili
Tutti i lotti assegnati devono essere compiuti (nessun
annullamento di ordini)
Ciascuna macchina non può lavorare più di un lotto alla volta
(può non essere valida !)
ogni operazione su un lotto può iniziare solo quando
l’operazione precedente nel routing tecnologico è completata
Modelli più comunemente adottati nella
Programmazione di Breve Periodo
Macchina Singola
Macchine Parallele identiche o differenti
Open Shop
Flow Shop
Job Shop
Modello a Macchina Singola
Lista di Job
J2
J1
J3
Macchina
Capacità di Modellazione
Produzioni di Processo in cui non sia possibile distinguere
differenti fasi di processamento
Produzioni Manifatturiere per Linea, in cui una macchina è
più critica delle altre
tutti i casi in cui l’impianto sia schematizzabile come una
macchina singola
Modello a Macchina Singola
Problema da risolvere: Dispatching/Sequencing
J1(1), J2(2), J3(4)
Minimizzazione della somma dei tempi di completamento
dei Job (tempo medio di completamento):
J1, J2, J3 1+3+7=11 (tempo medio = 3.7)
J2, J3, J1 2+6+7=15 (tempo medio = 5)
Ipotesi che possono essere assunte per i job:
dipendenza o indipendenza tecnologica tra i job
(precedenza tra i job)
preemption
Complessità Computazionale:N!
(N=Numero di Job)
Modello a Macchine Parallele
Capacità di Modellazione
Produzioni riconducibili ad un modello a
macchina singola
Disponibilità di Processamenti ridondanti
Problemi da risolvere:
Macchina
Lista di Job
Dispatching/Sequencing e Allocazione
Ipotesi che possono essere assunte per le
macchine:
macchine perfettamente identiche (tempi di
lavoro uguali)
macchine differenti (tempi di lavorazione di un
job dipendenti dalla macchina)
Ipotesi che possono essere assunte per i job:
dipendenza o indipendenza tecnologica tra i job
(precedenza tra i job)
preemption
Macchina
J2
J1
J3
Macchina
Macchina
Open Shop
M1
Lista di Job
M2
J2
J1
J3
M3
Tutti i job richiedono l’intervento di uno stesso numero di
macchine
Per ogni job non viene imposto un ordine delle operazioni, che
può essere qualsiasi (routing non fisso)
Non esistono vincoli sulla precedenza delle operazioni
I tempi di lavorazione su ogni macchina possono essere differenti
da job a job
Problemi da risolvere: Dispatching/Sequencing in ciascuna
macchina
Flow Shop
Tutti i job richiedono l’intervento di uno stesso
numero di macchine
L’ordine delle operazioni è fisso ed è uguale per tutti
i job (Routing Fisso)
I tempi di lavorazione su ogni macchina possono
essere differenti da job a job
Il flusso di lavorazione è unidirezionale
Problemi da risolvere: Dispatching/Sequencing in
ciascuna macchina
Flow Shop
Differenziazioni di Flow Shop:
flow shop puro: tutti i job richiedono
un’operazione su ogni macchina
flow shop generico: i job possono non utilizzare
qualche macchina, tra quelle appartenenti al
flusso di lavorazione
flow shop con sorpasso tra job: la sequenza di
lavorazione dei job sulle macchine non è la stessa
flow shop senza sorpasso: la sequenza di
lavorazione dei job sulle macchine è la stessa
Flow Shop Puro senza Sorpasso tra Job
Lista di Job
M1
M2
J2
J1
J3
M3
J1=(M1(1),M3(2),M2(1))
J2=(M1(2),M3(3),M2(1))
J3=(M1(3),M3(2),M2(1))
Flow Shop Puro senza Sorpasso tra Job
M1
3
2
1
M2
3
M3
3
1
M1
2
M2
1
10
3
1
1
1
5
1 2
M3
2 1
3
2
2
3
5
9
Complessità Computazionale : N !
Flow Shop Puro con Sorpasso tra Job
M1
3
2
1
M2
1
M3
1
1
M1
5
1 2
1
3
10
12
15
3 1
2
1
2
3
M2
M3
3 2
2
3
5
10
Complessità Computazionale : (N !)M
Flow Shop Generico
L’ordine delle operazioni è fisso ed è uguale per tutti i
job
Qualche macchina lungo il routing può essere saltata da
uno o più job
I tempi di lavorazione su ogni macchina possono essere
differenti da job a job
Lista di Job
M1
M2
J2
J1
J3
J1=(M3(2),M2(1))
J2=(M1(2),M3(3))
M3
J3=(M1(1),M3(2),M2(1))
Job Shop
I job richiedono l’intervento di un differente numero di macchine
L’ordine delle operazioni per ciascun job è fisso ed è differente da
job a job
I tempi di lavorazione su ogni macchina possono essere differenti
da job a job
Il flusso di lavorazione non è unidirezionale
Flow Shop: Caso Particolare di un Job Shop
Lista di Job
M1
M2
Job 1= (M1(2), M3(1), M2(2))
Job 2= (M1(2), M2(1), M3(2))
J2
J1
J3
Job 3= (M2(1), M3(3), M1(3))
M3
Job Shop
M1
1
M2
3
2
1
2
M3
3
1
1
M1
M2
3
2
5
2 1
3
M3
10
3
1
2
3
1
8
1 2
5
7
10
Complessità Computazionale : (N !)M
(N= numero Job, M=numero di macchine)
Differenze tra Problemi Reali e Modelli
Classici nel Job Shop
Esistenza di vincoli particolari tra le operazioni di
alcuni job
Esempio: hold-time
Esistenza di job che richiedono l’uso di una macchina
più di una volta
Presenza di routing tecnologici alternativi
Dati di Input sui quali effettuare
la Programmazione a Breve Termine
Tempi di Lavorazione di ciascun job su ciascuna
macchina
Macchina Singola o Parallele Identiche:
tj = tempo lavorazione job j
Macchine Parallele generiche, Open shop e Flow shop:
tji = tempo di lavorazione job j, macchina i
Job shop:
tjik = tempo di lavorazione dell’operazione k del job j sulla
macchina i
data di possibile inizio produzione job j, rj
data concordata per il completamento job j, dj
Parametri Prestazionali determinati a seguito
dello scheduling e in base ai quali viene
valutata la bontà dello scheduling
Parametri relativi a ciascun job, determinati a seguito
dello scheduling:
data di effettivo inizio produzione job j, Ij (rj)
data di effettivo completamento, Cj
lateness, L j = Cj - d j, negativo se vi è un anticipo sul
completamento
tardiness, T j = max{0,L j}, non considera un eventuale
anticipo sul completamento
flowtime, F j = C j - I j, tempo di attraversamento del job
nel sistema
Parametri Prestazionali determinati a seguito
dello scheduling e in base ai quali viene
valutata la bontà dello scheduling
lateness
rj
dj
Ij
flowtime
Cj
Parametri Prestazionali relativi ad un Set di N
Job determinati a seguito dello scheduling e in
base ai quali viene valutata la bontà dello
scheduling
N
lateness medio=
L
j1
j
N
(compensa ritardi con anticipi)
tardiness medio=
N
T
j1
j
N
(tiene conto solo dei ritardi)
N
flowtime medio=
F
j1
N
j
Parametri Prestazionali relativi ad un Set di N
Job determinati a seguito dello scheduling e in
base ai quali viene valutata la bontà dello
scheduling
(Tj ) 1, se Tj 0
(Tj ), dove
j1
(Tj ) 0, se Tj 0
N
numero di job in ritardo=
Makespan=maxj{Cj}- minj{Ij}
Coefficiente Medio di Saturazione delle Risorse=
M
N
t
i 1 j1
ji
Makespan M
Parametri Prestazionali relativi ad un Set di N
Job determinati a seguito dello scheduling e in
base ai quali viene valutata la bontà dello
scheduling
Work In Process (WIP)=
a min j I j
b
1
WIP( t ) dt , dove b max j C j
Makespan a
WIP( t ) numero di job presenti all' istante t
M
tempo di set-up=
SU
i 1
i
SUi è il tempo complessivo di set-up della macchina i
Presenza di set-up
t123
t1
12
M1
M2
M3
1
3
2
3
1
2
3
1
t312
2
Presenza di set-up
Tipi di set-up:
set-up indipendenti dalla sequenza di lavorazione: è
possibile inglobarli nei tempi di lavorazione
SUi=0
set-up dipendenti dalla coppia di job adiacenti nella
sequenza di lavorazione dei job su ciascuna macchina.
Ad esempio: SU1=t112+t123
M
SU i
Tempo di Set-up Complessivo=
i 1
set-up dipendenti da tutte le lavorazioni “passate” della
macchina
Set-up non computabile
Obiettivi della Schedulazione a Breve Periodo
Minimizzazione Lateness Medio
Minimizzazione Tardiness medio
Minimizzazione Flowtime medio
Minimizzazione del Numero di job in ritardo
Minimizzazione del Makespan
Massimizzazione Coefficiente Medio di Saturazione
delle Risorse, coincide con la Minimizzazione del
Makespan
Minimizzazione del Work In Process (WIP)
Minimizzazione del Tempo di Set-up Complessivo