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 1 2 3 4 Lotto i Reparto Aj Mj1 Mj2 Mj3 Mj4 1 2 3 4
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 Lotto i Cellula j Mj1 Mj2 Mj3 Mj4 1 2 3 4
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)
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 Lotto 1 M11 M12 M13 M14 M21 M22 M23 M24 M31 M32 M33 Lotto 2
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 della Produttività (Obiettivo del Corso)
Difficoltà della Progettazione della Linea di Fabbricazione 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
Montaggio Sequenziale Manufacturing Systems (Montaggi a Trasferimento) Montaggio Sequenziale Montaggio Stellare
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 M13 M14 M21 M22 M23 M24 M31 M32 M33 Prodotto 2 Prodotto Assiemato 1 Cellula di Montaggio 1 Cellula di Montaggio 2 Cellula di Montaggio 3 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 M1 M2 M3 Lotto 1 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 1 2 3 9 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)) 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 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)) M1 2 1 3 M2 3 2 1 M3 3 1 2 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 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: 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
Open Shop Lista di Job J1 J2 J3 M1 M2 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
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 Lista di Job J1 J2 J3 M1 M2 M3 J1=(M1(1),M3(2),M2(1)) J2=(M1(2),M3(3),M2(1)) J3=(M1(3),M3(2),M2(1))
Complessità Computazionale : N ! Flow Shop Puro senza Sorpasso tra Job Complessità Computazionale : N !
Complessità Computazionale : (N !)M Flow Shop Puro con Sorpasso tra Job 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 J1 J2 J3 M1 M2 M3 J1=(M3(2),M2(1)) J2=(M1(2),M3(3)) 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 J1 J2 J3 M1 M2 M3 Job 1= (M1(2), M3(1), M2(2)) Job 2= (M1(2), M2(1), M3(2)) Job 3= (M2(1), M3(3), M1(3))
Job Shop Complessità Computazionale : (N !)M 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 rj Ij dj Cj flowtime lateness
lateness medio= (compensa ritardi con anticipi) 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 lateness medio= (compensa ritardi con anticipi) tardiness medio= (tiene conto solo dei ritardi) flowtime medio=
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 numero di job in ritardo= Makespan=maxj{Cj}- minj{Ij} Coefficiente Medio di Saturazione delle Risorse=
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)= tempo di set-up= SUi è il tempo complessivo di set-up della macchina i
Presenza di set-up M1 M2 M3 1 2 3 t 12 23
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 Tempo di Set-up Complessivo= 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