Alma Mater Studiorum – Università degli studi di Bologna 15 marzo 2017 Alma Mater Studiorum – Università degli studi di Bologna SCUOLA DI INGEGNERIA E ARCHITETTURA DIPARTIMENTO di Ingegneria Industriale CORSO DI LAUREA in Ingegneria Gestionale TESI DI LAUREA in Impianti Industriali Bilanciamento di una linea di assemblaggio two-sided utilizzando un algoritmo genetico CANDIDATO: RELATORE: Lorenzo Govoni Mauro Gamberi CORRELATORI: Alberto Regattieri Francesco Pilati Sessione di laurea III 15 marzo 2017
Bilanciamento di una linea di assemblaggio 15 marzo 2017 Bilanciamento di una linea di assemblaggio Bilanciare una linea di assemblaggio significa assegnare tutte le operazioni di assemblaggio (tasks) alle varie stazioni di lavoro con il rispetto di: Vincolo di occorrenza: ogni task è assegnato solo ad una stazione; Vincolo di tempo ciclo: garantisce il rispetto del tempo macchina; Vincolo di precedenza: le operazioni sono organizzate secondo il diagramma delle precedenze. Esso mostra l’ordine di esecuzione dei tasks che deve essere rispettato per assemblare correttamente il prodotto. Richiede un elevato investimento in termini economici 15 marzo 2017
Classificazione Assembly Line Balancing Problem (ALBP) Prodotto assemblato: modello singolo, modello misto, multi modello; Tempo di processamento del task: deterministico o stocastico; Per caratteristiche flusso di lavoro: paced, un-paced; Obiettivi: mono-obiettivo, multi-obiettivo; Layout: rettilineo, a forma di U, parallelo, a due postazioni. 15 marzo 2017
Two-Sided Assembly Line Balancing Problem (TALBP) Introdotta nel 1993 da Bartholdi; Si utilizza per prodotti ingombranti, di grandi dimensioni (automobili, autobus, automezzi); I tasks sono svolti su uno stesso prodotto in parallelo e in entrambe le posizioni della linea (sinistra e destra). 15 marzo 2017
15 marzo 2017 Vincoli TALBP Vincolo di sincronizzazione: permette di svolgere tasks sincroni nella stessa mated-station in stazioni opposte; Vincolo di sequenza: garantisce la sequenza e schedulazione dei tasks alle varie stazioni; Vincolo di posizionamento del task: includono i vincoli di posizionamento positivi e negativi; Vincoli collegati alle stazioni di lavoro: alcune stazioni richiedono particolari utensili e attrezzature per l’assemblaggio; Limite di posizione: indicano la posizione cui i tasks saranno assegnati (destra o sinistra); Limiti dell’operatore: considera l’esperienza dell’operatore. Alcuni tasks richiedono differenti livelli di abilità e di esperienza a seconda della complessità dell’operazione. 15 marzo 2017
Confronto con la linea a una postazione Vantaggi TALBP Linea di assemblaggio più corta (richiede meno spazio); Riduce il costo di strumenti e attrezzature; Riduce il tempo di attraversamento; Maggior facilità di gestione dei materiali. Svantaggi TALBP Progettazione della linea più complessa; Maggior numero di vincoli da rispettare per il buon funzionamento; Più difficoltà ad ottenere il miglior bilanciamento con elevate operazioni da eseguire. 15 marzo 2017
Metodologie di risoluzione TALBP I problemi di bilanciamento di una linea di assemblaggio sono problemi NP-Hard; Necessitano di sistemi di calcolo per trovare soluzione al problema; Per la risoluzione si utilizzano algoritmi esatti o algoritmi euristici (algoritmi metaeuristici negli ultimi anni di maggior interesse tra gli autori). 15 marzo 2017
Algoritmo Genetico: schema generale Codifica delle soluzioni Tecnica di ottimizzazione combinatoria basata sulla ricerca, sulla selezione naturale e sui principi della genetica. L’algoritmo genetico simula l'evoluzione di una popolazione di individui, che rappresentano soluzioni candidate di uno specifico problema, favorendo la sopravvivenza e la riproduzione dei migliori Genera popolazione iniziale Calcolo della funzione di fitness Selezione Parentale Crossover e mutazione Ripeti fino alla condizione di arresto Valuta fitness nuove soluzioni generate Rinnova la popolazione Restituisci migliore soluzione 15 marzo 2017
Algoritmo Genetico creato per risolvere TALBP 15 marzo 2017 Algoritmo Genetico creato per risolvere TALBP Obiettivo: Minimizzare il numero di stazioni accoppiate Codifica: per permutazione. Ogni gene rappresenta un’operazione di assemblaggio. Il cromosoma rappresenta la sequenza di tasks assegnati alle varie stazioni; Popolazione iniziale: tramite algoritmo; Funzione di fitness: efficienza della linea E= 𝑖=1 𝑛 𝑡 𝑖 𝑚∗𝑐 ; Selezione Parentale: selezione a Roulette; Crossover: variante dell’Order Crossover; Mutazione: variante dello Scamble Mutation; Condizione di stop: 1000 generazioni per problemi di piccola dimensione; tempo definito dall’utente per problemi di grande dimensione. 15 marzo 2017
Operatori genetici utilizzati 15 marzo 2017 Operatori genetici utilizzati Crossover. Punti di crossover scelti 1 e 3: Parent 1 ( 6 2 5 3 4 1 ) Offspring 1: ( 6 5 2 3 4 1 ) Parent 2 ( 5 1 3 2 4 6 ) Offspring 2: ( 5 3 1 2 4 6 ) I geni che sono all’esterno dei punti di crossover vengono copiati nei rispettivi figli, nella stessa posizione; I geni che sono all’interno dei punti di crossover sono inseriti secondo l’ordine che essi hanno nell’altro genitore. Mutazione. Scelto casualmente un punto random per effettuare la mutazione: I geni sopra tale punto sono copiati nel cromosoma figlio; I geni sotto tale punto vengono generati rispettando i vincoli del problema.
Risultati ottenuti dall’Algoritmo Genetico 15 marzo 2017 Risultati ottenuti dall’Algoritmo Genetico Algoritmo genetico codificato in Visual Basic Application (VBA e macro). 4 problemi TALB di piccola dimensione risolti: P9, P12, P16, P24 tasks. L’82,5% dei test ha generato il bilanciamento ottimale dei problemi. 3 problemi TALB di grande dimensione risolti: P65, P148, P205 tasks. Il 33,3% dei test ha generato il bilanciamento ottimale dei problemi. Conclusione: l’algoritmo proposto garantisce al 100% dei casi una buona soluzione, con al massimo una stazione accoppiata e due stazioni in più. 15 marzo 2017
GRAZIE PER L’ATTENZIONE!!!