Sei sulla pagina 1di 73

Problemi di ottimizzazione nel Facility Design

Pierpaolo Caricato 6 dicembre 2002

Indice
1 I problemi di Facility Design 1.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Struttura del lavoro di tesi . . . . . . . . . . . . . . . . . . . . 2 Problemi di Facility Layout 2.1 Systematic Layout Planning . . . . . . . . . . . . . 2.1.1 Misurazione dei ussi (Diagrammi From-To) 2.1.2 Analisi Attivit` a/Relazioni (Diagrammi REL) 2.1.3 Progettazione del layout sico . . . . . . . . 2.2 Modelli matematici per i problemi di FL . . . . . . 2.2.1 QAP . . . . . . . . . . . . . . . . . . . . . . 2.2.2 ABSMODEL . . . . . . . . . . . . . . . . . 3 Problemi di Material Handling 3.1 Topologie per il Material Handling . . . . . . . . 3.2 Stato dellarte nelle congurazioni basate su loop 3.2.1 Sequenziamento dei punti di P/D . . . . . 3.2.2 Localizzazione delle celle . . . . . . . . . . 3.2.3 Progettazione di layout a loop singolo . . . 3.2.4 Progettazione di congurazioni tandem . . 6 6 7 9 10 11 14 15 20 21 21 27 28 28 29 29 29 29

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

4 Single Loop Design Problem (SLDP) 30 4.1 Introduzione e analisi della letteratura . . . . . . . . . . . . . 30 4.2 Formulazione MILP . . . . . . . . . . . . . . . . . . . . . . . . 34 4.3 Branch and cut . . . . . . . . . . . . . . . . . . . . . . . . . . 37 1

INDICE 4.3.1 Tagli aggiuntivi di tipo 1 . . . . . . . 4.3.2 Tagli aggiuntivi di tipo 2 . . . . . . . 4.3.3 Tagli aggiuntivi di tipo 3 . . . . . . . 4.3.4 Tagli aggiuntivi di tipo 4 . . . . . . . 4.3.5 Algoritmo Branch & Cut . . . . . . . Tabu Search per lo SLDP . . . . . . . . . . 4.4.1 Le meta-euristiche Tabu Search . . . 4.4.2 Implementazione del TS nello SLDP Risultati computazionali . . . . . . . . . . . 4.5.1 Gli esperimenti . . . . . . . . . . . . 4.5.2 Taratura del Tabu Search . . . . . . 4.5.3 Risultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 38 38 39 40 41 42 42 55 62 62 63 66 68 71

4.4

4.5

Bibliograa A Layout utilizzati

Elenco delle gure


2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 3.1 4.1 4.2 4.3 4.4 4.5 4.6 Matrici From-To . . . . . . . . . . . . . . . . . . . . . Confronto tra matrici from-to . . . . . . . . . . . . . . Diagramma REL . . . . . . . . . . . . . . . . . . . . . Layout e diagramma REL . . . . . . . . . . . . . . . . Grafo planare . . . . . . . . . . . . . . . . . . . . . . . Gra non-planari . . . . . . . . . . . . . . . . . . . . . Facce di un grafo planare . . . . . . . . . . . . . . . . . Duale di un grafo planare . . . . . . . . . . . . . . . . Diverse rappresentazioni planari . . . . . . . . . . . . . Layout su singola linea . . . . . . . . . . . . . . . . . . Facility ben approssimabili . . . . . . . . . . . . . . . . Facility poco approssimabili . . . . . . . . . . . . . . . Parametri e variabili decisionali nel FL su singola linea Esempio di layout a linea singola . . . . . . . . . . . . Parametri e variabili decisionali negli ABSMODEL 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 14 15 17 17 18 18 19 20 22 22 23 23 24 25

Congurazioni per la movimentazione dei materiali . . . . . . 28 Flussi tra celle disgiunte . . . . . Flussi tra celle connanti . . . . . Flussi tra vertici di frontiera . . . Andamento della f.o. in un TS . . Esempio d XOR su celle . . . . . Layout non servibile con un unico . . . . . . . . . . . . . . . loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 39 41 44 57 57

ELENCO DELLE FIGURE

A.1 Layout 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 A.2 Layout 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Elenco delle tabelle


2.1 2.2 4.1 4.3 4.4 ABSMODEL 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 24 ABSMODEL 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Formulazione MILP . . . . . . . . . . . . . . . . . . . . . . . . 35 Riepilogo esperimenti . . . . . . . . . . . . . . . . . . . . . . . 64 Risultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Capitolo 1 I problemi di Facility Design


1.1 Introduzione

Per Facility si pu` o generalmente intendere un edicio in cui persone, materiali e macchinari sono ospitati per un determinato scopo - tipicamente la realizzazione di un prodotto o la fornitura di un servizio ([12]). Nel settore manifatturiero, ad esempio, facility possono essere macchinari, workstation, postazioni di lavaggio, zone di riposo, postazioni per le misurazioni e cos` via; nella fornitura di servizi, invece, esempi di facility possono essere uci, corridoi, zone di riposo etc. Una gestione eciente delle facility pu` o permettere di perseguire diversi obiettivi, quali: realizzare un prodotto o fornire un servizio ad un costo pi` u basso; migliorare la qualit` a del prodotto o del servizio; impiegare una minor quantit` a di materie prime. Spesso gli obiettivi da raggiungere sono contrastanti ed ` e fondamentale capire a fondo le complesse problematiche che vi sottostanno per compiere scelte ecaci. Un aspetto fondamentale nella gestione delle facility ` e il posizionamento sico degli stessi. Per posizionamento sico si intende lassegnamento di ogni 6

CAPITOLO 1. I PROBLEMI DI FACILITY DESIGN

facility ad una determinata area. Una disposizione sica che riduca il movimento di personale e materiali, ad esempio, pu` o permettere un miglioramento delle prestazioni del sistema dovuto alla riduzione dei costi sostenuti per la movimentazione dei materiali. I problemi correlati al posizionamento sico delle facility sono inquadrati in letteratura sotto il nome di Facility Layout Problems. Una tipologia specica di facility merita unattenzione particolare a causa dellelevata inuenza che ha sui costi complessivi di gestione: ` e la classe dei sistemi per la movimentazione dei materiali (Material Handling Systems MHS ). Studi sui sistemi manifatturieri hanno mostrato come una percentuale variabile tra il 30 e il 75% del costo di un prodotto sia da attribuire a spese per la movimentazione dei materiali ([21]). I problemi relativi alla movimentazione dei materiali sono noti in letteratura come Material Handling Problems.

1.2

Struttura del lavoro di tesi

Il lavoro di tesi aronta le complesse problematiche relative al FD fornendo un approfondito studio dello stato dellarte; viene quindi proposto un contributo originale e migliorativo dello stato dellarte in un particolare ambito applicativo. La tesi si articola quindi in due parti: analisi delle diverse problematiche inerenti al FD, con approfondita rassegna dello stato dellarte; analisi di uno specico problema e realizzazione di un contributo innovativo sia teorico che applicativo. Primo obiettivo del presente lavoro ` e, dunque, fornire una rassegna dettagliata ed aggiornata delle diverse problematiche inerenti al FD reperibili in letteratura. Tali problematiche sono tradizionalmente classicate in: problemi di Facility Layout - FL problemi di Material Handling - MH

CAPITOLO 1. I PROBLEMI DI FACILITY DESIGN

Il capitolo 2 presenta una vasta e approfondita panoramica sui problemi di FL, mentre il capitolo 3 illustra lo stato dellarte nellambito del MH. La seconda parte della tesi tratta un particolare problema nellambito del MH: la progettazione di un sistema di movimentazione dei materiali basato su veicoli a controllo automatico (Automatic Guided Vehicles - AGV ) disposti su di un circuito unidirezionale (Single Loop Design Problem - SLDP ). Questa particolare congurazione presenta numerosi vantaggi sia in termini di gestione e controllo che in termini economici. Essa ` e stata tradizionalmente trattata in letteratura esclusivamente con metodi euristici ovvero con metodi esatti ma in varianti semplicate. Un recente lavoro ha iniziato ad arontare la problematica nella sua interezza, considerando come obiettivo lottimizzazione dei costi complessivi legati alla movimentazione dei materiali, riuscendo per` o a fornire strumenti validi solo per la progettazione di impianti di piccola dimensione. Il lavoro di tesi si propone di migliorare lo stato dellarte proponendo una trattazione del caso in termini di problema di programmazione lineare mista (Mixed Integer Linear Programming - MILP ) con una formulazione alternativa a quella recentemente introdotta. Viene quindi proposto un approccio risolutivo esatto di tipo Branch and Cut che, sfruttando la nuova formulazione, consente la risoluzione di istanze del problema di medie dimensioni. Viene, quindi, proposto un metodo risolutivo euristico basato sul Tabu Search che permette la risoluzione di istanze del problema di grandi dimensioni. La validit` a delleuristica prodotta viene provata tramite confronto con i risultati ottenuti utilizzando lalgoritmo esatto nei casi di piccola e media dimensione. Inne, leuristica realizzata viene impiegata per determinare una buona soluzione iniziale in un algoritmo branch and cut, che permette di ridurre ulteriormente i tempi computazionali nella risoluzione ottima del problema.

Capitolo 2 Problemi di Facility Layout


I problemi collegati alla progettazione degli impianti manifatturieri non si incontrano esclusivamente in fase di realizzazione di un nuovo impianto produttivo, ma anche quando si ha la necessit` a di espandere o reingegnerizzare strutture gi` a esistenti. Anche ditte che operano in un determinato settore da anni hanno bisogno di rinnovare periodicamente i loro impianti ([18]). La frequenza con cui si sono avuti cambiamenti nei layout aziendali ` e aumentata nelle ultime decadi a causa dei cambiamenti nei product mix che sono accaduti molto pi` u frequentemente negli ultimi anni rispetto al passato. Questo trend ` e stato favorito anche da una maggiore attitudine dei clienti a cambiare le richieste in termini sia di prodotti che di funzionalit` a degli stessi. I problemi di FL in ambito manifatturiero coinvolgono il posizionamento di macchinari, postazioni di lavoro ed altre facility con lo scopo di perseguire i seguenti obiettivi: minimizzare i costi per il trasporto di materie prime, parti, utensili, pezzi semilavorati e prodotti niti tra le facility; agevolare il traco interno; minimizzare i rischi di danni a persone e/o ad ogetti Una distinzione che spesso viene fatta nellambito dei problemi di FL ` e quella tra problemi di Layout Design e problemi di Facility Location, caratterizzan9

CAPITOLO 2. PROBLEMI DI FACILITY LAYOUT

10

do i primi come problemi di progettazione, mentre i secondi come problemi di ottimizzazione: questo comporterebbe limpossibilit` a di ottenere una soluzione ottima nel primo caso. In realt` a, entrambi i tipi di problemi contengono sia elementi progettuali che di ottimizzazione; conseguentemente, nessuna delle due tipologie di problemi pu` o essere interamente classicata in una o nellaltra categoria. Un approccio risolutivo tipico, infatti, comprende due fasi successive: la determinazione di un certo numero di soluzioni ottime, ognuna secondo una determinata serie di parametri; la selezione di una delle soluzioni sulla base di criteri qualitativi, non esprimibili in termini matematici. In letteratura esistono numerosi lavori nel settore del FL. I diversi approcci possono essere distinti in due gruppi: quelli che privilegiano laspetto progettuale e quelli che mettono in risalto, al contrario, laspetto modellistico.

2.1

Systematic Layout Planning

Il Systematic Layout Planning - SLP ` e una delle pi` u diuse metodologie per la progettazione di impianti. La sua introduzione risale agli anni 70 ([17]), ma ` e tuttora alla base di numerosi pacchetti software commerciali per il FL. Uno dei motivi del successo di questa tecnica ` e il suo semplice approccio graduale al problema. Il SLP si articola, infatti, in una sequenza di passi. 1. Determinazione delle aree entro cui vanno posizionate le facility. E la fase pi` u semplice e consiste nellindividuazione delle diverse opzioni possibili per il posizionamento di ciascuna facility. 2. Schema generale del layout. Questa fase consiste nellindividuazione dei ussi di materiali tra le diverse facility, nella determinazione di eventuali vincoli di adiacenza e nel calcolo dello spazio richiesto da ogni facility.

CAPITOLO 2. PROBLEMI DI FACILITY LAYOUT

11

3. Schema di dettaglio del layout. Mentre la fase 2 considera soltanto le facility principali (tipicamente i reparti), ` e compito di questa fase la denizione dei dettagli riguardanti le facility di supporto, quali macchinari specici, strumentazione di supporto, zone di riposo etc. 4. Verica del layout prodotto. Il layout di dettaglio realizzato nella fase 3 deve passare la verica di tutte le gure professionali coinvolte nelutilizzo dello stesso: impiegati, personale di servizio, dirigenti. Viene quindi realizzato e installato il layout denitivo. Le fasi 1 e 4 sono di immediata realizzazione e non richiedono particolari considerazioni teoriche o tecniche. Le fasi 2 e 3 richiedono, invece, una trattazione approfondita per poter ottenere una formalizzazione di due aspetti particolarmente importanti nella progettazione del layout: la quanticazione dei ussi tra le diverse facility; lindividuazione delle relazioni che esistono tra le facility.

2.1.1

Misurazione dei ussi (Diagrammi From-To)

Per prima cosa ` e necessario determinare la quantit` a di materiali che transitano tra i diversi reparti. I dati necessari per questa fase possono essere ricavati da documenti relativi ai processi aziendali quali: fatture relative ai materiali acquistati; cicli di lavorazione; diagramma di produzione/assemblaggio; diagrammi delle precedenze. Dati sui volumi di produzione possono essere ricavati in base alle previsioni di vendita/produzione. Combinando i dati relativi ai processi aziendali con quelli relativi ai volumi di produzione previsti ` e possibile determinare il usso complessivo di materiali tra le diverse facility.

CAPITOLO 2. PROBLEMI DI FACILITY LAYOUT

12

Per rappresentare i ussi previsti tra i reparti si impiega una matrice from-to o matrice dei ussi. La matrice from-to ` e una matrice quadrata con numero di righe (e colonne) pari al numero di facility del problema. Lelemento (i, j ) della matrice rappresenta la quantit` a di materiali previsti dalla facility i alla facility j . In questa fase, non vengono esaminati i ussi di materiali allinterno di una facility, quindi la diagonale della matrice from-to contiene tutti elementi nulli. Per assicurare una corretta normalizzazione dei ussi di materiali vengono utilizzati ussi volume-equivalenti di materiali. Si supponga, ad esempio, che dalla facility 1 alla facility 2 debbano essere movimentati 1000 pezzi di tipo X , mentre dalla facility 3 alla facility 4 ne vadano movimentati 100 di tipo Y ; se i pezzi di tipo Y sono 100 volte pi` u pesanti di quelli di tipo X , allora i corrispondenti elementi nella matrice from-to saranno (1, 2) = 1 e (3, 4) = 10. Per calcolare i ussi volume-equivalenti si pu` o considerare il peso, come nellesempio, ovvero lunit` a di trasporto del materiale, che pu` o essere, ad esempio, un pallet, uno scatolo, un barile, etc. Nel caso in cui la movimentazione di determinati materiali sia pericolosa o necesi attenzioni particolari, il usso volume-equivalente ad essi relativo pu` o essere opportunamente maggiorato in base a questi fattori. Il usso totale tra due facility viene calcolato come la somma dei ussi volume-equivalenti di tutti i materiali tra le due facility. In base ai dati sui processi aziendali, ogni parte da produrre viene esaminata per determinare attraverso quali facility deve transitare. Una stima della quantit` a di parti da realizzare viene invece eettuata sulla base delle previsioni. Si procede quindi alla costruzione della matrice from-to dopo il calcolo dei ussi volumiequivalenti tra ogni coppia di facility. La matrice from-to per un impianto organizzato come singola linea di produzione, ad esempio, avr` a tutti elementi nulli tranne quelli al di sopra della diagonale (Figura 2.1a). Questa struttura (nota come matrice di Hessenberg nella terminologia dellalgebra lineare) si pu` o presentare soltanto se le facility sono ordinate secondo il ciclo di lavorazione. Se non si ha una linea di produzione singola, solitamente si individua per ogni facility un usso predominante e si ordinano le facility in base a valori decrescenti dei ussi

CAPITOLO 2. PROBLEMI DI FACILITY LAYOUT 1 2 3 4 0 X 0 0 0 0 X 0 0 0 0 X 0 0 0 0 a 1 2 3 4 0 0 X 0 0 0 0 X 0 X 0 0 0 0 0 0 c 1 2 0 X 0 0 0 0 0 0 b 1 2 0 X 0 0 X 0 0 0 d 3 4 X X X X 0 X 0 0 3 4 X X 0 X 0 X X 0

13

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

Figura 2.1: Matrici From-To dominanti individuati. I ussi al di sopra della diagonale principale sono ussi ordinati, mentre quelli al di sotto sono ussi di ritorno. La presenza di ussi di ritorno normalmente rende pi` u complicata la progettazione del e un esempio di matrice con soli ussi ordinati, mentre layout. La gura 2.1b ` le gure 2.1c e 2.1d sono esempi di matrici from-to generiche. Per determinare quale tra due ordinamenti delle facility d` a una matrice from-to pi` u appetibile, ` e possibile calcolare il momento della matrice: =
(i,j )

dij fij

in cui: dij ` e la distanza dellelemento (i, j ) dalla diagonale; fij ` e il valore dellelemento (i, j ) nella matrice. Ad esempio, si considerino le due versioni della stessa matrice from-to, corrispondenti a diversi ordinamenti delle facility, riportate in gura 2.2. I momenti relativi sono dati da: a = 2 1 + 5 2 + 1 2 + 4 1 + 2 1 = 20 b = 5 1 + 2 3 + 4 1 + 2 2 + 1 1 = 18

CAPITOLO 2. PROBLEMI DI FACILITY LAYOUT 1 2 3 4 0 2 5 0 0 0 0 1 0 2 0 4 0 0 0 0 a 1 2 3 4 0 5 0 2 0 0 4 2 0 0 0 0 0 0 1 0 b

14

1 2 3 4

1 2 3 4

Figura 2.2: Confronto tra matrici from-to Pertanto, la matrice in gura 2.2b ` e da preferire a quella in gura 2.2a. Il momento di una matrice viene spesso modicato per tener conto dellimportanza dei ussi di ritorno. A questo scopo, spesso, nel calcolo del momento, si d` a un peso maggiore ai ussi di ritorno. Nellesempio considerato, se si moltiplicano i ussi di ritorno per un fattore 10, si ottengono rispettivamente i valori 38 e 27 (confermando la maggiore appetibilit` a della matrice b).

2.1.2

Analisi Attivit` a/Relazioni (Diagrammi REL)

Le matrici dei ussi caratterizzano una parte essenziale del problema di layout; esistono, tuttavia, altri aspetti che possono essere altrettanto importanti ma che non sono quanticabili. Esempi tipici di questi fattori possono essere considerazioni sullestetica e sulla sicurezza, preferenze personali, necessit` a di supervisione e controllo. Queste informazioni qualitative vanno integrate con quelle quantitative fornite dalla matrice dei ussi al ne di dare un giudizio sulla possibilit` a/necessit` a di avere determinate facility vicine tra loro. Uno strumento che si utilizza per questo tipo di analisi sono i diagrammi REL (RELationship charts ). Il diagramma REL rappresenta limportanza che due facility siano adiacenti sulla base di una scala a sei valori: A E I assolutamente necessario; di importanza speciale; importante;

CAPITOLO 2. PROBLEMI DI FACILITY LAYOUT

15

Figura 2.3: Diagramma REL O U X di importanza ordinaria; ininuente; non desiderabile.

E compito dellanalista classicare ogni coppia di facility in base a questa scala di valori. Il diagramma REL viene rappresentato solitamente attraverso una tabella come quella riportata in gura 2.3. Ogni rombo rappresenta la relazione esistente tra due facility: la met` a superiore indica la classicazione in base alla scala introdotta, mentre la parte inferiore ` e usata per fornire la motivazione della classicazione fatta. Viene anche fornita una legenda delle motivazioni.

2.1.3

Progettazione del layout sico

I diagrammi REL possono essere impiegati nella progettazione del layout per determinare le adiacenze tra le diverse facility. Se la movimentazione dei materiali o se le necessit` a di controllo e supervisione sono ritenute strategiche, allora una classicazione elevata di due facility nel diagramma REL porta ad una localizzazione adiacente nel layout sico delle due facility. La forma e le dimensioni delle facility limitano, ovviamente, il numero di facility che

CAPITOLO 2. PROBLEMI DI FACILITY LAYOUT

16

possono essere adiacenti. Uno dei primi passi nella progettazione eettiva del layout consiste proprio nella determinazione delle adiacenze tra le diverse facility. Lapproccio tradizionalmente utilizzato consiste nellapprossimare le facility mediante quadrati. Questi vengono fatti muovere su una griglia e vengono collegati tramite linee il cui spessore rappresenta la classicazione relativa alladiacenza tra le due facility connesse. I quadrati vengono spostati manualmente sulla griglia no a raggiungere un layout ritenuto soddisfacente dal punto di vista delle adiacenze. Ovviamente questo metodo presenta numerosi svantaggi: ` e molto legato allabilit` a del progettista; ` e completamente soggettivo; diventa ingestibile se le facility presenti sono numerose. Un approccio pi` u essibile e quantitativo impiega i diagrammi REL e la teoria dei gra. Ogni facility ` e rappresentata in un grafo come un vertice. Se due facility sono adiacenti, allora i vertici corrispondenti sono collegati da un e costituito dalle facility A, B, C, arco. Nellesempio in gura 2.4, il layout ` D ed E e da una facility esterna F. Associando ad ogni facility un vertice e ad ogni coppia di celle adiacenti larco tra i corrispondenti vertici, si ottiene il diagramma REL associato al layout. Si noti che il diagramma REL in gura 2.4 ` e disegnato in modo che nessun arco del grafo si intersechi. Questa ` e una propriet` a importante del grafo di REL: comunque sia dato un layout, il grafo di REL corrispondente gode di questa propriet` a. I gra in cui gli archi possono essere disegnati in modo da non avere intersezioni prendono il nome di gra planari. Nella progettazione del layout, dunque, si ` e interssati soltanto ai gra planari, in quanto sono gli unici a cui ` e possibile asre un layout. Ogni grafo planare pu` o essere ridisegnato in modo da non avere archi che e riportato un esempio di grafo planare disegnato si intersecano. In gura 2.5 ` con archi che si intersecano e riportato in forma planare.

CAPITOLO 2. PROBLEMI DI FACILITY LAYOUT

17

Figura 2.4: Layout e diagramma REL

Figura 2.5: Grafo planare

CAPITOLO 2. PROBLEMI DI FACILITY LAYOUT

18

Figura 2.6: Gra non-planari

Figura 2.7: Facce di un grafo planare Se un grafo non pu` o essere ridisegnato in forma planare, allora viene denito grafo non-planare. Due esempi di gra non-planari sono riportati in gura 2.6. I due esempi riportati sono gra particolari, denominati rispettivamente K5 e K3,3 ; si pu` o dimostrare che un grafo ` e non-planare se e solo se una versione di uno di questi due gra vi ` e contenuta (teorema di Kurtowski ). Un grafo planare suddivide il piano in un insieme di regioni chiamate facce. Una e solo una di queste facce non ` e limitata e viene detta faccia esteriore. Tutte le altre facce sono delimitate dagli archi del grafo planare. In gura 2.7 ` e riportato il grafo planare della gura 2.4 con laggiunta dellindicazione delle facce da a ad h. Si noti che h ` e la faccia esterna.

CAPITOLO 2. PROBLEMI DI FACILITY LAYOUT

19

Figura 2.8: Duale di un grafo planare Dato un grafo planare G, si denoti con G il suo duale. Il duale di un grafo planare viene denito creando un vertice per ciascuna faccia del grafo di origine; due vertici di G sono collegati da un arco se le corrispondenti e riportato il grafo planare facce in G sono separate da un arco. In gura 2.8 ` della gura 2.4 insieme al suo duale. Il grafo duale G di un grafo planare G ` e a sua volta un grafo planare. E facilmente vericabile che il duale di G ` e G. Si noti anche che il numero di facce di G ` e pari al numero di vertici di G. Poich e ogni vertice di G rappresenta una facility, ogni faccia di G rappresenta una facility: si pu` o quindi usare ogni faccia per rappresentare una facility nel layout. E importante notare che un grafo planare pu` o essere disegnato in maniera planare in diversi modi. A seconda della rappresentazione utiliz, il duale e riportato corrispondente pu` o essere anche molto diverso. In gura 2.9 ` un esempio di due diverse rappresentazioni planari di uno stesso grafo, a cui corrispondono gra duali molto dierenti. Si noti, in particolare, che il vertice che rappresenta la faccia esterna ha, nel primo duale, 5 archi incidenti (vertice di grado 5 secondo la terminologia della teoria dei gra); nel secondo duale, al contrario, nessun vertice ha grado 5. Non ` e, quindi, possibile ottenere un duale dallaltro semplicemente ridisegnando il grafo. Questa peculiarit` a permette di ottenere layout alternativi a partire da un medesimo diagramma

CAPITOLO 2. PROBLEMI DI FACILITY LAYOUT

20

Figura 2.9: Diverse rappresentazioni planari REL. Lutilizzo dei diagrammi REL per progettare il layout ` e uno strumento molto potente. Tuttavia, creare un buon grafo a partire dal diagramma REL ` e un problema di non semplice soluzione. Tra le diverse tecniche euristiche esistenti in letteratura per la soluzione di questo problema, una delle pi` u utilizzate in ambito industriale ` e la tecnica del Deltaedro, descritta in [6].

2.2

Modelli matematici per i problemi di FL

Nella progettazione di un layout ` e necessario tener conto di numerosi aspetti; lobiettivo principale, comunque, consiste nella minimizzazione dei costi relativi al trasporto di pezzi semi-lavorati, prodotti niti, materie prime e utensili. Per poter perseguire questo obiettivo ` e necessario fornire una formulazione matematica del problema, per la cui soluzione ` e poi richiesta limplementazione di un algoritmo risolutivo opportuno.

CAPITOLO 2. PROBLEMI DI FACILITY LAYOUT

21

Dal punto di vista della modellazione matematica, il problema di FL pu` o essere classicato in due distinte tipologie: problema di layout su singola linea; problema di layout multi-linea. Nel problema a singola linea, le facility sono disposte lungo un asse, mentre nei problemi multi-linea sono disposti su di una supercie bidimensionale (non necesariamente su pi` u linee). Un semplice esempio di problema su singola linea pu` o consistere nellassegnamento degli aerei in arrivo ai diversi gate in un aereoporto. Tipicamente, un aereo che arriva in aereoporto trasporta sia passeggeri per i quali laereoporto considerato ` e la destinazione nale, sia passeggeri in transito verso altre destinazioni. Nellarco di poche ore, molti aerei possono atterrare nellaereoporto. E necessario, quindi, minimizzare la distanza complessiva che i passeggeri devono coprire, a piedi, nellaereoporto (al ne, ad esempio, di ridurre i disagi per i passeggeri stessi), cercando di assegnare a gate adiacenti voli con forte interazione.

2.2.1
sddas

QAP

2.2.2

ABSMODEL

ABSMODEL 1 Il modello ABSMODEL 1 sono una formalizzazione del problema di FL su singola-linea tramite un modello non lineare, ma linearizzabile mediante lintroduzione di variabili ausiliarie intere. Vengono fatte le seguenti assunzioni: 1. le facility sono quadrate o rettangolari e la loro forma ` e nota a priori ; 2. le facility devono essere posizionate lungo una linea retta, come illustrato in gura 2.10;

CAPITOLO 2. PROBLEMI DI FACILITY LAYOUT

22

Figura 2.10: Layout su singola linea

Figura 2.11: Facility ben approssimabili 3. lorientamento delle facility ` e ssato a priori ; 4. non ci sono limitazioni sulla forma e sulle dimensioni delledicio che deve contenere le facility. Lipotesi 1 pu` o sembrare particolarmente restrittiva. Occorre, tuttavia, osservare che qualsiasi forma abbia una facility, questa pu` o essere approssimata tramite il pi` u piccolo rettangolo che la contiene. Questa approssimazione pu` o incidere sulla qualit` a della soluzione ottenuta in maniera trascurabile, nei casi come quelli in gura 2.11, o in maniera rilevante, nei casi come quelli riportati in gura 2.12. Fortunatamente, i casi reali in cui le facility assumono forme come quelle in gura 2.12 sono piuttosto rari.

CAPITOLO 2. PROBLEMI DI FACILITY LAYOUT Figura 2.12: Facility poco approssimabili Figura 2.13: Parametri e variabili decisionali nel FL su singola linea

23

Lipotesi 2 ` e alla base di qualsiasi problema di FL su singola linea. Lorientamento di una facility rettangolare indica se ` e il lato lungo oppure il lato corto a dover essere lungo la linea del layout. In molti sistemi manifatturieri, i macchinari devono essre posizionati in modo tale che i punti di carico/scarico si trovino tutti lungo la linea del layout. Poich e questi punti di carico/scarico sono ssi per ciascun macchinario, lipotesi 3 ` e facilmente rispettata. Lapplicabilit` a dellipotesi 4 dipende, chiaramente, dal singolo problema in esame. I parametri che caratterizzano un ABSMODEL 1 sono i seguenti: n cij numero di facility da posizionare; costo per la movimentazione di una unit` a volume-equivalente di materiale di una unit` a di distanza tra la facility i e la facility j ; numero di viaggi tra i e j ; lunghezza del lato della facility i da posizionare sulla linea del layout; distanza minima tra le facility i e j lungo la linea; dimensione orizzontale complessiva del layout.

fij li

dij H

Le variabili decisionali sono le seguenti: xi distanza tra il centro della facility i e la linea di riferimento verticale (VRL - Vertical Reference Line )

Un riepilogo visivo dei parametri e delle variabili decisionali che caratterizzano il problema ` e presentato nella gura 2.13.

CAPITOLO 2. PROBLEMI DI FACILITY LAYOUT

24

n1

min
i=1 j =i+1

cij fij |xi xj |

(2.1)

s.v. |xi xj | 1 (li + lj ) + dij i = 1, 2, . . . , n 1 j = i + 1, . . . , n (2.2) 2 Tabella 2.1: ABSMODEL 1 Figura 2.14: Esempio di layout a linea singola Il modello ABSMODEL 1 ` e riportato in tabella 2.1. La funzione obiettivo ??, da minimizzare, rappresenta il costo complessivo dovuto alle movimentazioni tra le facility. Il set di vincoli ?? assicura la non sovrapposizione delle facility. La non negativit` a delle variabili non ` e indispensabile, ma si pu` o aggiungere come vincolo andando ad inuenzare solamente la posizione del riferimento VRL. In accordo con lipotesi fatta sul non porre limitazioni sullarea complessivamente occupata dalle facility, non ` e presente alcun vincolo che sfrutti il parametro H . Essendo, infatti, posto a minimizzare il costo complessivo dovuto alle movimentazioni, le facility risulteranno il pi` u vicino possibile. Se si vuole, viceversa, imporre comunque un limite, ci` o pu` o essere ottenuto tramite il set di vincoli aggiuntivi ??: 1 1 (2.3) H li xi li i = 1, 2, . . . , n 2 2 Poich e xi si riferisce alla distanza tra il centroide della facility i e il riferimento VRL, il vincolo ?? sar` a soddisfatto anche se la facility si trova allestrema destra o allestrema sinistra del layout. Si esamini la gura 2.14. Si noti che il vincolo ?? assicura che il riferimento VRL coincida col lato sinistro della facility allestrema sinistra del layout. La formulazione degli ABSMODEL 1 non ` e lineare a causa della presenza dei valori assoluti. I problemi di FL su singola linea non sono, quindi, risolvibili con gli algoritmi classici della programmazione lineare. Esistono,

CAPITOLO 2. PROBLEMI DI FACILITY LAYOUT Figura 2.15: Parametri e variabili decisionali negli ABSMODEL 2
n1 n

25

min
i=1 j =i+1

cij fij (|xi xj | + |yi yj |)

(2.4)

s.v. |xi xj | + |yi yj | 1 i = 1, 2, . . . , n 1 j = i + 1, . . . , n xi , yi N i = 1, 2, . . . , n Tabella 2.2: ABSMODEL 2

(2.5) (2.6)

tuttavia, diverse euristiche, implementate anche in software commerciali, che permettono una soluzione sub-ottima ma eciente di questo tipo di problemi. ABSMODEL 2 Le ipotesi alla base dei modelli ABSMODEL 1 obbligano a trattare layout su singola linea. Nel caso in cui il layout da progettare sia del tipo multilinea, con celle quadrate e di uguale dimensione, in alternativa allapproccio QAP introdotto in ??, possono essere impiegati i modelli ABSMODEL 2. Questi modelli estendono la trattazione fatta per gli ABSMODEL 1 considerando le seguenti variabili decisionali: xi distanza orizzontale tra il centro della facility i ed il riferimento verticale (Vertical Reference Line - VRL); distanza verticale tra il centro della facility i ed il riferimento oriztale (Horizontal Reference Line - HRL).

yi

Il riepilogo dei parametri e delle variabili decisionali coinvolti nel problema ` e riportato in gura 2.15. Il modello matematico ` e invece riportato in tabella 2.2. Si suppone che non vi sia spazio vuoto (clearance ) tra le facility e che ogni facility abbia area unitaria, e quindi che i lati di ciascuna facility abbiano lunghezza unitaria. Poich e si suppone che le facility siano tutte quadrate e

CAPITOLO 2. PROBLEMI DI FACILITY LAYOUT

26

con medesime dimensioni, questultima ipotesi non lede la generalit` a della trattazione. I vincoli ?? e ?? assicurano che le facility non si sovrapngano. Il vincolo di integrit` a ?? non ` e imposto per garantire lintegrit` a delle variabili, bens` per evitare la sovrapposizione delle facility. Si consideri, ad esempio, una soluzione ammissibile rilasciando il set di vincoli ?? che abbia i seguenti valori: xi = 0, 5, xj = 0, yi = 0.5 ed yj = 0. Questa soluzione soddisfa i vincoli ??, ma provoca la sovrapposizione delle celle i e j . Imponendo anche i vincoli di interezza, tali situazioni di sovrapposizione vengono evitate. Anche nel caso degli ABSMODEL 2, come negli ABSMODEL 1, considerando H e V rispettivamente come la dimensione orizzontale e verticale massime del layout, ` e possibile introdurre ulteriori vincoli sullarea complessivamente utilizzabile dal layout: H xi 1 i = 1, 2, . . . , n V yi 1 i = 1, 2, . . . , n ABSMODEL 3 Gli ABSMODEL 3 costituiscono la generalizzazione degli ABSMODEL 2 al caso in cui le facility non siano necessariamente quadrate e di uguale dimensione. Negli ABSMODEL 3 si assume che le facility siano di forma rettangolare, aree in generale diverse, orientamento noto a priori. Per le ipotesi fatte su forma e orientamento delle facility, valgono le stesse considerazioni fatte nella sezione sugli ABSMODEL 1.

Capitolo 3 Problemi di Material Handling


La progettazione dei sistemi di movimentazione dei materiali ` e una delle attivit` a principali nellambito pi` u ampio della progettazione di layout per impianti industriali. In [2] viene messo in evidenza quanto sia fondamentale arontare le problematiche relative ai sistemi di movimentazione gi` a nella progettazione del layout. In [24] si stima che, in ambito manifatturiero, una quantit` a variabile tra il 20% ed il 50% dei costi di produzione siano da attribuire alla progettazione del layout e dei sistemi di movimentazione. E, dunque, estremamente importante riuscire ad eettuare ecacemente queste attivit` a al ne di contenere i costi complessivi di produzione. Le problematiche relative al material handling sono state esaminate ampiamente in letteratura: in particolare, si pu` o fare riferimento ai testi [7] per una panoramica dinsieme sui problemi di MH e a [8] per lo stato dellarte nellambito dei sistemi di movimentazione basati su veicoli a guida automatica. Un particolare rilievo ` e dato, sia in letteratura che nellutilizzo aziendale (come riportato in [1]), ai sistemi di movimentazione su loop: quei sistemi, cio` e, in cui i veicoli addetti alla movimentazione dei materiali si muovono lungo una o pi` u traiettorie che formano un anello chiuso sul layout.

27

CAPITOLO 3. PROBLEMI DI MATERIAL HANDLING Figura 3.1: Congurazioni per la movimentazione dei materiali

28

3.1

Topologie per il Material Handling

Esistono diverse congurazioni trattate in letteratura per la movimentazione dei materiali. Le quattro diverse topologie base sono le seguenti: rete convenzionale unidirezionale (gura 3.1a): introdotta da [16], consiste in una rete unidirezionale che copre tutti gli spigoli del layout; loop unidirezionale (gura 3.1b): esaminata in [22], permette una gestione semplicata delle collisioni tra i veicoli, che pu` o risultare comunque complicata se il numero di veicoli richiesti ` e elevato; congurazione tandem (gura 3.1c): introdotta in [5], consiste nella scomposizione della rete di ussi di materiali in pi` u sottoreti, ciascuna servita da un unico veicolo che circola su di un loop, collegate tramite punti di trasbordo; loop segmentato (gura 3.1a): esaminato in [20], consiste in una congurazione loop spezzato su diverse tratte, ognuna servita da un singolo veicolo.

3.2

Stato dellarte nelle congurazioni basate su loop

Tra le diverse congurazioni esistenti, quelle basate su loop sono quelle maggiormente trattate in letteratura, sia a causa del loro ampio utilizzo in ambito industriale sia per la loro dicolt` a di trattazione in fase di progettazione. Le reti convenzionali, infatti, comportano uno sforzo quasi nullo in fase di progettazione, mentre richiedono unattenzione maggiore in fase di gestione, a causa delle dicolt` a legate alle collisioni e quindi allo scheduling dei viag. Le problematiche relative alla progettazione dei sistemi di movimentazione basati su loop sono esaminate e riassunte nelle sezioni che seguono.

CAPITOLO 3. PROBLEMI DI MATERIAL HANDLING

29

3.2.1

Sequenziamento dei punti di P/D

Un problema importante nella progettazione di sistemi di movimentazione dei materiali basati su loop ` e la localizzazione relativa delle stazioni combinate di carico/scarico (o punti di P/D - Pickup/Delivery), assegnati i ussi previsti tra le facility (le matrici from-to esaminate nella sezione 2.1.1). In particolare, in questo tipo di problemi, si assume che tutti i carichi di materiali in ingresso al sistema entrino tramite una stazione specializzata (la stazione 0). Lobiettivo ` e la minimizzazione del numero di volte che ciascun carico transita attraverso la stazione 0 prima di uscire dal sistema. In questo tipo di problemi, la forma, lorientamento e la dimensione delle celle non viene preso in considerazione. Ogni facility ` e rappresentata semplicemente da un nodo. Il problema cos` posto, noto in letteratura come SSP e stato dimostrato - Station Sequencing Problem, ` e stato introdotto in [1] ed ` essere NP-hard in [15]. E stata anche data una formulazione dellSSP come caso particolare del problema di assegnamento quadratico (QAP) in [14], mentre in [23] ` e stata proposta una procedura euristica di post-ottimizzazione basata sugli scambi.

3.2.2 3.2.3 3.2.4

Localizzazione delle celle Progettazione di layout a loop singolo Progettazione di congurazioni tandem

Capitolo 4 Single Loop Design Problem (SLDP)


4.1 Introduzione e analisi della letteratura

Il problema relativo alla progettazione di un sistema di movimentazione dei materiali basato su veicoli a guida automatica (AGV) che compiano una traiettoria ad anello unidirezionale ` e noto in letteratura come Single Loop Design Problem (SLDP). La progettazione dei percorsi guida per gli AGV pu` o essere arontata in diversi modi a seconda delle ipotesi che vengono fatte. In particolare, le principali dierenze si hanno in base a: 1. Cosa si intende progettare: (a) progettazione del layout dellimpianto, dei percorsi guida per gli AGV e posizionamento dei punti di pickup-delivery; (b) progettazione dei percorsi guida per gli AGV e posizionamento dei punti di pickup-delivery dato il layout dellimpianto; (c) progettazione dei percorsi guida per gli AGV dato il layout dellimpianto e data la posizione dei punti di pickup-delivery. 2. Lobiettivo da perseguire: 30

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

31

(a) la minimizzazione del usso di materiali nel sistema sulla base dei ussi tra i diversi reparti; (b) la minimizzazione dei tempi o delle distanze richiesti dagli AGV per eseguire le consegne. In [9] si suppone che il layout dellimpianto e la posizione dei punti di pickupdelivery (P/D) siano noti. La determinazione del percorso guida per gli AGV viene quindi formulato come un problema di programmazione lineare binaria. In [25] si suppone assegnato il layout dellimpianto e viene proposta una procedura per posizionare i punti di P/D. Tale procedura si articola in due fasi: nella prima, viene impiegato il modello sviluppato in [9] per determinare la direzione dei ussi; nella seconda, viene proposto un metodo euristico per migliorare le prestazioni del sistema cambiando il posizionamento dei punti di P/D. La procedura proposta ` e molto onerosa computazionalmente col crescere del numero di reparti e, comunque, non fornisce la soluzione ottima. Per poter ottenere lottimalit` a, infatti, ` e necessario considerare contemporaneamente la progettazione dei percorsi guida per gli AGV e il posizionamento dei punti di P/D. In [13], vengono considerati assegnati il layout dellimpianto e la posizione dei punti di P/D e viene proposta una formulazione del problema dellindividuazione del percorso guida ottimo in termini di problema di programmazione lineare binaria. La soluzione viene quindi determinata con un metodo di tipo branch and bound. La trattazione contemporanea della progettazione del percorso guida e del posizionamento dei punti di P/D una volta noto il layout dellimpianto viene arontata per la prima volta in [22]. Viene proposta una procedura in cinque fasi: 1. viene risolto un problema di programmazione lineare intera per determinare un loop iniziale ammissibile (che comprenda, quindi, almeno uno spigolo di ciascun reparto) 2. enumerazione completa dei loop ammissibili a partire dal loop iniziale

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

32

3. lapplicazione di tre regole permette di ridurre il numero dei loop ammissibili da considerare nelle fasi successive 4. viene risolto un problema di programmazione lineare intera mista per il posizionamento dei punti di P/D su un determinato loop 5. permette di determinare un lower bound sul valore di funzione obiettivo di un determinato loop Tecniche risolutive pi` u ecienti per la risoluzione dei modelli matematici presenti nelle fasi 1 e 4 vengono introdotte in [19]. In [4] viene arontata la progettazione dei percorsi guida per gli AGV dato il layout dellimpianto con obiettivo la minimizzazione delle distanze richieste dagli AGV per eseguire le consegne, non tenendo conto del usso eettivo dei materiali. Il problema consiste, quindi, nellindividuazione del loop di lunghezza minima. Viene data una formulazione come problema di programmazione lineare intera con un numero di vincoli inizialmente molto elevato; vengono quindi proposti dei metodi per la riduzione dei vincoli eettivamente richiesti e vengono forniti risultati computazionali che confermano lecienza dellapproccio proposto. Unipotesi di base nella trattazione del problema del SLDP ` e la coincidenza dei punti di P/D per ciascuna cella. Tale ipotesi discende da motivazioni di tipo tecnico-pratiche. Questa ipotesi viene, tuttavia, rimossa nel recente lavoro [3]. Viene fornita una formulazione del problema di tipo ILP che determini contemporaneamente il percorso guida per gli AGV, comprensivo di orientamento, e il posizionamento dei punti di P/D. Lobiettivo ` e la minimizzazione del usso di materiali nel sistema sulla base dei ussi tra i diversi reparti. Il modello viene risolto impiegando lalgoritmo di branch and bound implementato in un risolutore matematico standard, opportunamente calibrato nelle strategie di branching e di selezione dei nodi da esplorare sfruttando le caratteristiche del problema. Gli esperimenti condotti riguardano layout con 11 e 20 celle e matrici di usso sparse, caratterizzate da un numero di ussi inferiore a 40, con risultati ottimi ottenuti sempre in meno di 1000 secondi.

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

33

Nel lavoro di tesi ` e stato arontato il problema della progettazione dei percorsi guida per gli AGV e del contemporaneo posizionamento dei punti di pickup-delivery dato il layout dellimpianto. Obiettivo ` e la minimizzazione del usso di materiali nel sistema sulla base dei ussi tra i diversi reparti. Le ipotesi fatte sono quelle riscontrate nella letteratura esaminata. In particolare: il percorso guida ` e un loop unidirezionale che comprenda almeno uno spigolo di ciascuna cella/reparto ogni reparto ha un unico punto di P/D, posizionato in uno dei vertici della cella Nessuna ipotesi viene fatta sulla forma e sulla dimensione di ogni cella, purch e sia possibile individuare, anche solo convenzionalmente, almeno un vertice che possa ospitare il punto di P/D. Viene proposta una formulazione come problema di programmazione lineare intera mista. Il modello proposto permette di risolvere con lalgoritmo branch and bound di un risolutore matematico standard, problemi di piccola dimensione con matrice dei ussi tra i reparti densa e problemi di piccola e media dimensione nei casi con matrice dei ussi sparsa. Viene quindi proposto un algoritmo di tipo branch and cut che permette di ridurre notevolmente i tempi di elaborazione, permettendo di risolvere anche problemi di media dimensione con matrice dei ussi densa. Per la risoluzione di problemi di grandi dimensione, ` e stat implementata uneuristica di tipo Tabu Search. La qualit` a dellalgoritmo proposto ` e stata vericata nella risoluzione dei problemi di piccola e media dimensione risolti in maniera ottimale. Inne, ` e stato realizzato un algoritmo esatto ibrido, che utilizza leuristica TS nellambito dellapproccio branch and cut. Il metodo ibrido proposto permette di ridurre ulteriormente i tempi computazionali richiesti per la risoluzione ottimale dei problemi trattati.

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

34

4.2

Formulazione MILP

Il problema della progettazione dei percorsi guida per gli AGV e del contemporaneo posizionamento dei punti di pickup-delivery dato il layout dellimpianto pu` o essere ecacemente formulato come problema di programmazione lineare intera mista. Obiettivo ` e la minimizzazione del usso di materiali nel sistema sulla base dei ussi tra i diversi reparti. Parametri del problema sono: il layout dellimpianto: il numero di celle, gli spigoli e i vertici di ciascuna cella, la lunghezza degli spigoli la matrice dei ussi tra i reparti: i ussi previsti tra ciascuna coppia di celle Il problema ` e caratterizzato dalle seguenti informazioni: C insieme dei reparti E insieme degli spigoli del layout V insieme dei vertici del layout insieme delle coppie di celle tra cui ` e previsto un usso Vc insieme dei vertici della cella c EiI insieme degli spigoli entranti nel vertice i EiO insieme degli spigoli uscenti dal vertice i lij lunghezze degli spigoli fcd usso previsto di materiali dalla cella c verso la cella d, con (c, d) Utilizzando la notazione introdotta, il problema pu` o essere formulato come riportato in tabella 4.1. Le variabili decisionali utilizzate sono raggruppabili in quattro insiemi: variabili reali che rappresentano la frazione di usso diretto dalla cella c verso la cella d che passa lungo lo spigolo (i, j ); variabili binarie che indicano se lo spigolo (i, j ) fa parte del loop; variabili binarie che indicano se il vertice i fa parte del loop;

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

35

min
(i,j )E (c,d)

lij fcd xijcd

(4.1)

s.v. yij + yji 1 (i, j ) E yij 1 c C


(i,j )Ec

(4.2) (4.3) (4.4) (4.5) (4.6) (4.7) (4.8) (4.9) (4.10) (4.11) (4.12) (4.13) (4.14) (4.15) (4.16) (4.17)

zci = 1 c C
iVc

zci zi c C, i Vc yij +
O (i,j )Ei I (j,i)Ei

yji zci c C, i Vc

yji 1 i V
I (j,i)Ei

yij 1 i V
O (i,j )Ei

yji zi i V
I (j,i)Ei

yij zi i V
O (i,j )Ei

zi + zj 2 yij (i, j ) E xijcd


O (i,j )Ei I (j,i)Ei

xjicd = zci zdi (c, d) , i V

xijcd || yij (i, j ) E


(c,d)

xijcd [0, 1] (i, j ) E, (c, d) yij 0, 1 (i, j ) E zci 0, 1 c C, i Vc zi 0, 1 i V Tabella 4.1: Formulazione MILP

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

36

variabili binarie che indicano se il vertice i fa da punto di P/D per la cella c. La funzione obiettivo 4.1, da minimizzare, rappresenta il usso complessivo di materiali nellimpianto. La sussistenza delle ipotesi di base del problema SLDP sono assicurate e il loop deve essere unidirezionale, ogni dai set di vincoli 4.2, 4.3 e 4.4. Poich spigolo pu` o essere presente sullo stesso in una soltanto delle due possibili direzioni. Questo ` e assicurato dal set di vincoli 4.2. Inoltre, ogni cella deve essere toccata dal loop in almeno uno spigolo: da qui il set di vincoli 4.3. Ogni cella, inne, deve avere uno ed un solo punto di P/D: questo ` e garantito dal set di vincoli 4.4. Un vertice di una cella pu` o fungere da punto di P/D solo se fa parte del loop, altrimenti la cella considerata risulterebbe isolata (set di vincoli 4.5). Se un vertice funge da punto di P/D per una cella, allora almeno uno spigolo della cella che comprenda il vertice considerato deve essere presente sul loop (set di vincoli 4.6). Ciascun vertice pu` o avere al massimo uno spigolo entrante sul loop (set u uno uscente (set di vincoli 4.8). Daltro canto, se di vincoli 4.7) e al pi` un vertice ` e sul loop, allora almeno uno spigolo in esso entrante ed uno da esso uscente devono essere sul loop (set di vincoli 4.9 e 4.10). Inne, se uno spigolo si trova sul loop, allora i due vertici che lo identicano devono trovarsi anchessi sul loop (set di vincoli 4.11). Il set di vincoli 4.4 esprime il vincolo di conservazione dei ussi. Considerando una coppia di celle tra cui sia previsto un usso e un generico vertice i, possono vericarsi le seguenti ipotesi: il vertice i non funge da punto di P/D per nessuna delle due celle: il usso netto uscente da i relativo alla coppia (c, d) ` e nullo; il vertice i funge da punto di P/D per una delle due celle: in questo caso, il usso netto uscente da i sar` a pari a 1 o a -1 a seconda di quale cella utilizza i come punto di P/D;

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

37

il vertice i funge da punto di P/D per entrambe le celle: in questo caso, il usso netto uscente da i deve essere nuovamente nullo. Per non appesantire la notazione non si ` e rappresentato esplicitamente, nel set di vincoli 4.4, il caso in cui il vertice i considerato non faccia parte dei vertici di una o di entrambe le celle considerate. In questo caso, la variabile e/o corrispondente non ` e denita e viene sostituita dal valore nullo, conservando la validit` a del vincolo. Considerato un generico spigolo sul loop, la quantit` a di ussi che vi pu` o transitare ` e pari, al pi` u, al numero totale di ussi previsti nellintero layout. Questo limite ` e espresso dal set di vincoli 4.13.

4.3

Branch and cut

Il modello matematico presentato nella sezione precedente permette di risolvere il problema dello SLDP adoperando lalgoritmo di branch and bound implementato in un risolutore matematico standard (ad esempio CPLEX). E possibile, tuttavia, migliorare le prestazioni del modello, e abbreviare quindi i tempi di calcolo, adoperando un approccio di tipo branch and cut. Il modello matematico introdotto, infatti, pu` o essere ampliato con numerosi vincoli aggiuntivi non derivanti da combinazione lineare di quelli gi` a presenti, ma che derivano dalla particolare struttura del problema in esame. Sia denito linsieme D delle coppie di celle disgiunte come linsieme delle coppie di celle che non hanno alcun vertice in comune. Corrispondentemente sar` a anche denito linsieme delle celle contigue N . Possono essere fatte diverse considerazioni sulle peculiarit` a del problema per le coppie di celle che fanno parte delluno o dellaltro insieme, che permettono di ottenere ulteriori vincoli validi per il problema e non esprimibili come combinazione lineare dei vincoli gi` a introdotti. ` utile introdurre anche linsieme delle celle tra cui sia preE visto un usso bidirezionale, denito come linsieme delle coppie (c, d) t.c. (d, c) .

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

38

Figura 4.1: Flussi tra celle disgiunte

4.3.1

Tagli aggiuntivi di tipo 1

Considerando una coppia di celle disgiunte tra cui sia previsto un usso bidirezionale di materiali, lungo un generico spigolo del layout che sia inserito nel loop deve necessariamente transitare uno dei due ussi previsti. Considerando la situazione in Figura 4.1, ad esempio, sullo spigolo orientato evidenziato deve passare necessariamente uno ed uno solo dei ussi previsti tra la cella 1 e la cella 8. Un possibile loop ammissibile ` e riportato, invece, accanto: in questo caso, lungo lo spigolo considerato deve transitare il usso diretto dalla cella 8 verso la cella 1. La considerazione fatta porta alla formulazione del seguente set di vincoli aggiuntivi: xijcd + xijdc = yij (c, d) D , (i, j ) E (4.18)

4.3.2

Tagli aggiuntivi di tipo 2

Considerando una coppia di celle connanti tra cui sia previsto un usso bidirezionale di materiali e un generico spigolo orientato del layout, non ` e possibile ripetere le considerazioni fatte nel caso dei tagli di tipo 1. Infatti, in questo caso, il usso previsto tra le due celle potrebbe anche non circolare nel layout, qualora per le celle fosse selezionato come punto di P/D un medesimo punto, appartenente evidentemente ad entrambe le celle. Un esempio ` e

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

39

Figura 4.2: Flussi tra celle connanti riportato in gura 4.2. Lungo lo spigolo orientato evidenziato, infatti, anche se questo dovesse far parte del loop ottimo, potrebbe non transitare alcun usso relativo alla coppia di celle selezionate 4 e 7. Viene riportato, ad esempio, quello che potrebbe essere il loop ottimale per il problema in esame. Se il punto evidenziato viene scelto come punto di P/D per le celle 4 e 7, allora nessun usso di materiali relativo a questa coppia di celle circoler` a nel loop e, quindi, neanche lungo larco indicato. Tuttavia, se lo spigolo orientato non si trova sul loop, allora lungo lo stesso non transiter` a alcun usso, indipendentemente dalla coppia di celle selezionata. In generale, quindi, considerata una coppia di celle connanti tra cui sia previsto un usso bidirezionale e un generico spigolo orientato, lungo di esso pu` o transitare al pi` u uno dei due ussi previsti tra le celle. Questa propriet` a permette di formulare il seguente set di tagli aggiuntivi: xijcd + xijdc yij (c, d) N , (i, j ) E (4.19)

4.3.3

Tagli aggiuntivi di tipo 3

Si consideri una coppia (c, d) di celle connanti tra cui sia previsto un usso bidirezionale e un generico spigolo (i, j ) orientato sul layout. Per ciascuno

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

40

dei vertici k comuni alle due celle ` e possibile introdurre un vincolo del tipo:

xijcd + xijdc 2 zck zdk (c, d) N , (i, j ) E, k Vc Vd (4.20) Infatti, i ussi tra le due celle che devono transitare nel loop si annullano nel caso in cui un vertice comune alle due celle viene scelto come punto di P/D per entrambe le celle. o essere raorzata considerando un qualsiasi La disuguaglianza 4.20 pu` vertice i del layout e tutti gli spigoli orientati da esso uscenti. Da ciascun vertice, infatti, i ussi uscenti relativi alla coppia di celle considerata dovranno essere nulli nellipotesi che k sia punto di P/D per entrambe le celle. Analogo discorso pu` o essere fatto nel caso degli archi uscenti da un vertice del layout. o quindi essere sostituito con i seguenti set di Il set di vincoli 4.20 pu` vincoli:

xijcd + xijdc 2 zck zdk (c, d) N , i V, k Vc Vd


O (i,j )Ei

(4.21)

xjicd +xjidc 2zck zdk (c, d) N , i V, k Vc Vd (4.22)


I (j,i)Ei

4.3.4

Tagli aggiuntivi di tipo 4

Considerando una coppia (c, d) di celle connanti tra cui sia previsto un usso bidirezionale ed uno spigolo (i, j ) che abbia un vertice su una delle due celle e uno sullaltra, si pu` o introdurre un taglio del tipo:

xijcd yij + zci + zdi 2 (c, d) N , i Vc , (i, j ) E t.c. j VD (4.23)

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

41

Figura 4.3: Flussi tra vertici di frontiera La relazione 4.23 ` e irrilevante se almeno uno tra i termini al secondo membro ` e nullo; vincola, invece, il primo membro ad assumere valore unitario se si vericano contemporaneamente le seguenti ipotesi: lo spigolo orientato considerato fa parte del loop il vertice scelto fa da punto di P/D per entrambe le celle Nel caso in gura 4.3, ad esempio, se larco evidenziato fa parte del loop e i vertici indicati fanno rispettivamente da punto di P/D per la cella 2 e per la cella 5, allora lungo lo spigolo deve necessariamente transitare tutto il usso di materiale previsto dalla cella 5 verso la cella 2.

4.3.5

Algoritmo Branch & Cut

Lintroduzione di tutti i vincoli introdotti nelle sezioni precedenti al modello matematico presentato nella sezione 4.1 porterebbe ad un appesantimento notevole dello stesso, tanto da rallentare il tempo richiesto per la sua risoluzione col metodo di branch and bound implementato nei risolutori matematici standard. Il tempo extra richiesto per risolvere i rilassamenti continui dei singoli nodi dellalbero di branch and bound supera, nei test eettuati, il tempo che si risparmia grazie alla riduzione del numero di nodi dovuta alla migliore qualit` a dei lower bound prodotti. Un modo migliore per sfruttare le relazioni introdotte consiste nel loro impiego in un algoritmo di tipo branch and cut. Lapproccio branch and

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

42

cut per la risoluzione di problemi di ottimizzazione intera ` e diventato molto popolare negli ultimi anni. La dierenza principale con lapproccio branch and bound classico consiste nellutilizzo dei rilassamenti lineari e nellimpiego di piani di taglio in ogni nodo dellalbero di elaborazione. Nellapproccio adoperato, i vincoli aggiuntivi vengono presi in esame ad ogni nodo dellalbero di elaborazione, a partire dal nodo radice. I vincoli che risultano violati vengono introdotti in modo permanente nella risoluzione dei successivi nodi. Limpiego dei tagli aggiuntivi permette di migliorare notevolmente la qualit` a dei lower bound sui singoli nodi, e in particolare al nodo radice, con conseguente riduzione del numero di nodi complessivi; la generazione dinamica dei tagli, al tempo stesso, consente di pervenire a questi risultati introducendo solo una piccola parte di tutti i possibili tagli disponibili.

4.4
4.4.1

Tabu Search per lo SLDP


Le meta-euristiche Tabu Search

e una procedura metaLa Tabu Search (TS), presentato da Glover in [10], ` euristica utilizzabile per risolvere unampia classe di problemi di ottimizzazione. La caratteristica principale della TS ` e di consentire al processo risolutivo di uscire da situazioni di stallo, costituite dal raggiungimento di punti di ottimo locale. Questo obiettivo viene conseguito grazie alle tecniche di autoapprendimento che contraddistinguono la TS. Le direzioni lungo cui effettuare la ricerca dei punti di ottimo vengono, infatti, stabilite ed inuenzate dalla storia della ricerca stessa. Sono soprattutto tre gli aspetti della TS che vanno evidenziati: 1. lutilizzo di strutture di memoria essibili basate su attributi ; 2. un meccanismo di controllo che utilizza tali strutture per guidare il processo di ricerca; 3. strategie che agiscono sulle strutture di memoria allo scopo di intensicare e diversicare la ricerca.

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

43

Prima di analizzare in dettaglio la TS introduciamo un problema di ottimizzazione in senso lato: min c(x) s.v. xX dove X ` e linsieme nito delle soluzioni ammissibili; x ` e una generica soluzione ammissibile; c(x) : X R esprime la funzione obiettivo. Descrizione La caratteristica principale della TS consiste nel prendere decisioni in base alla storia della ricerca. Si supponga che lalgoritmo risolutivo sia giunto ad una soluzione xnow . E possibile identicare tutta una regione di X , N (xnow ), denita come linsieme di tutte le soluzioni di X raggiungibili direttamente da xnow con unoperazione detta mossa. In tale regione andr` a selezionata la soluzione successiva xnext . Muovendosi sistematicamente in questo modo, si corre il rischio di eettuare mosse che portano a soluzioni con caratteristiche poco attraenti, gi` a esaminate nel processo di ricerca. Di conseguenza, la TS va a considerare non tutto N (xnow ), ma un suo sottoinsieme N (H, xnow ), dove H esprime la storia della ricerca no alliterazione attuale. La selezione di N (H, xnow ) allinterno di N (xnow ) viene eettuata inibendo, in funzione di H , la scelta di elementi di N (xnow ) che vengono considerati tab` u. Anche la scelta di xnext N (H, xnow ) dipende dinamicamente dal processo risolutivo, verr` a selezionata infatti la xnext che rende minimo il costo c(H, x). Il processo risolutivo pu` o essere, allora, sintetizzato come esposto nellalgoritmo 1. Va sottolineata la necessit` a di imporre la convergenza dellalgoritmo, arrestando la ricerca dopo un assegnato numero di iterazioni, in quanto essa si basa su un principio euristico sulla cui convergenza non ` e possibile fare alcuna ipotesi. In gura 4.4, ` e riportato landamento di una generica funzione obiettivo al variare delle soluzioni ammissibili. Si supponga di voler eettuare la ricerca del punto di minimo eseguendo

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

44

STEP 1 (inizializzazione ) Si sceglie una soluzione del problema. Si pone: xnow = prima soluzione best cost = c(xnow ) Si azzera la struttura H . STEP 2 Si sceglie xnext N (H, xnow ) che minimizzi la c(H, x). STEP 3 Si pone xnow = xnext . Se c(xnext ) <best cost, si aggiorna best cost. Si aggiorna la struttura H . Si torna allo STEP 2 o si esce se il numero di iterazioni supera il numero massimo pressato. Algoritmo 1: Tabu Search Figura 4.4: Andamento della f.o. in un TS gli STEP individuati in precedenza. Si ipotizzi che la ricerca parta dalla soluzione x2 e che linsieme N (xnow ) contenga le soluzioni adiacenti ad xnow nellordine di rappresentazione. Alla prima iterazione il processo risolutivo seleziona xnext = x3 che, tra le soluzioni di N (x2 ) = {x1 , x3 }, ` e quella di costo minore. Alla seconda iterazione il processo di ricerca si porta in x4 (N (x3 ) = {x2 , x4 }), che costituisce un punto di minimo locale. Alla terza iterazione lalgoritmo non riesce a trovare soluzioni migliorative (N (x4 ) = {x3 , x5 }), e sceglie quindi la soluzione meno peggiorativa (x5 ). A questo punto, essendo N (x5 ) = {x4 , x6 }, la soluzione successiva dovrebbe essere x4 . Tale scelta determina lentrata in loop dellalgoritmo. Se per` o alliterazione 3 si etichetta la mossa che porta nella soluzione x4 come non eettuabile, viene data al processo di ricerca la possibilit` a di allontanarsi dallottimo locale e di esplorare nuove soluzioni. Attributi di mossa e restrizioni tab` u Il passaggio da N (xnow ) a N (H, xnow ) viene realizzato introducendo nuovi vincoli al problema, detti restrizioni tab` u. Tali vincoli esplicano il loro effetto rendendo temporaneamente vietati alcuni attributi che identicano un

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

45

determinato insieme di mosse. In questo modo si impedisce al processo risolutivo di ripetere o invertire mosse gi` a eettuate, fornendo cos` la possibilit` a di uscire dai punti di stallo, costituiti dai minimi locali. Si consideri un problema in cui la generica soluzione ` e descritta da una sequenza di elementi ed il costo associato ` e individuato univocamente dal loro ordine. Un esempio di tale problema ` e il TSP (Traveling Salesman Problem), dove la generica soluzione ` e una sequenza di tutti i nodi della rete, ed il suo costo, ` e la somma di quelli associati agli archi. Si consideri la mossa xnow xnext , consistente nello spostamento dellelemento j dalla posizione p a quella q . In letteratura, sono stati proposti i seguenti attributi per individuare tale mossa : (A1) (A2) (A3) (A4) la posizione iniziale p; la posizione nale q; la coppia (A1) e (A2); la dierenza = g (xnow ) g (xnext ), dove g (x) ` e una funzione scelta opportunamente.

La scelta dellattributo, o degli attributi, dipende da molti fattori e, in generale, viene presa in relazione ad esperienze su problemi analoghi a quello in analisi. Ne consegue che, in relazione agli attributi considerati, vengono inibite mosse diverse durante il processo di ricerca. Ad esempio, con riferimento agli attributi descritti in precedenza, risultano tab` u le seguenti mosse: Attributo Mossa tabu (A1) (A2) (A3) (A4) (A5) (R1): mossa che sposta j dalla posizione p; (R2): mossa che porta j nella posizione q; (R3): (R1) o (R2); (R4): (R1) e (R2); (R5): mossa che produca una variazione .

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

46

La scelta tra una o pi` u di queste restrizioni ` e legata alle caratteristiche di aggressivit` a che si vogliono conferire alla ricerca. A tal proposito si osservi come il vincolo (R3) sia pi` u restrittivo di (R4), ci` o rende vietate un numero maggiore di mosse. In questo caso la ricerca ` e spinta ad esplorare nuove zone. Un metodo per poter gestire i vincoli tab` u consiste nel denire due array, tabu start(e) e tabu end(e) ; dato lattributo e, tabu start(e) rappresenta literazione in cui lattributo e ` e divenuto tab` u, mentre tabu end(e) literazione in cui cesser` a tale stato. Alliterazione i, quindi, se e esprime un attributo della mossa eettuata, si aggiorna tabu end( not(e)) con il valore i + T , dove not(e) esprime lattributo della mossa inversa, e T esprime il numero di iterazioni, durante le quali, tutte le mosse che cercano di ripristinare lattributo not(e) sono considerate tab` u. Il parametro T esprime quindi la lunghezza della lista tab` u. Il valore da assegnare a T dipende dal problema, ma possono essere date delle regole di massima per ssare tale valore: 1. regole statiche: T ` e posto pari a valori varianti tra 5, 2 e 20 (7 o 12 in particolare) o a N , se N ` e la dimensione del problema 2. regole dinamiche: (a) vengono ssati a priori Tmax e Tmin e si sceglie T variabile in tale intervallo; (b) si lasciano variabili anche Tmax e Tmin i cui valori sono assunti come funzioni dellattrattivit` a e dellinuenza dei singoli attributi. Criteri di aspirazione In qualche caso, risulta favorevole, ai ni della ricerca, eseguire particolari mosse contenute nella lista tab` u. Il criterio di aspirazione consiste in un test che, se soddisfatto, permette leettuazione di una mossa tab` u. Ogni attributo pu` o avere uno o pi` u criteri di aspirazione che, come le restrizioni tab` u, sono dipendenti dal tempo. Il criterio daspirazione pu` o essere applicato ad un attributo nel periodo in cui esso ` e tab` u, per consentire lesecuzione di una mossa tab` u che porti ad una soluzione migliore di quelle precedenti.

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP) E possibile individuare i seguenti criteri daspirazione: 1. Criterio di aspirazione per obiettivo:

47

(a) Forma Globale : una mossa tab` u viene eseguita se c(xnext ) < best cost, cio` e se ` e migliorativa in assoluto (b) Forma Regionale : l insieme X viene suddiviso in regioni Xi definite come {x X : g (x) = r con r R}. La mossa viene aspirata se migliora il costo minimo della propria regione (c(x) < best cost(Xi )) 2. Criterio di aspirazione per inuenza (a) Si supponga di essere in grado di misurare in qualche modo linuenza che un attributo ha sul processo di ricerca. Sar` a possibile aspirare gli attributi a bassa inuenza, che erano divenuti tab` u prima che fosse eseguita una mossa con attributi di forte inuenza. Il criterio 2 ` e di facile comprensione, se si pensa che una mossa ad alta inuenza porta la ricerca verso nuove zone di X , spazio delle soluzioni ammissibili, per cui non si corre il rischio di ritornare indietro eettuando le mosse tab` u a bassa inuenza. Un criterio daspirazione, che si discosta da quelli esaminati in precedenza, prevede la classicazione di un attributo tab` u, che soddisfa un criterio daspirazione, come tab` u pendente [11]. Una mossa che coinvolga un attributo tab` u pendente potr` a essere eettuata solo se non esistono soluzioni ammissibili migliorative. Si denisce inoltre una mossa fortemente ammissibile se ` e vericata almeno una delle seguenti due condizioni: 1. ` e ammissibile in senso stretto (cio` e non coinvolge nessun attributo tab` u attivo o pendente); 2. soddisfa il criterio di aspirazione per obiettivo in forma globale (cio` e c(x) < best cost).

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

48

Il criterio di aspirazione pu` o essere, quindi, enunciato nel seguente modo: posto last nonimprovement pari al valore dellultima iterazione non migliorativa e last strongly admissible pari al valore dellultima iterazione nella quale ` e stata eettuata una mossa fortemente ammissibile, se last nonimprovement < last strongly admissible allora tutte le mosse migliorative classicate tab` u vengono considerate tabu pendenti e vengono eettuate solo se non esistono altre mosse migliorative. La scelta di uno o pi` u criteri daspirazione, dipende dal tipo di problema, dalla sua dimensione e dalle altre caratteristiche della TS implementata. Un criterio daspirazione, per esempio, pu` o risultare pi` u o meno ecace, in relazione alla scelta degli attributi di mossa o dal tipo di mossa stessa. La selezione va quindi operata sulla base di dati sperimentali. Strategia basata sulla frequenza delle mosse e delle soluzioni Le informazioni che provengono dallevoluzione dellalgoritmo di ricerca, possono essere utilizzate fondamentalmente in due modi: uno ` e quello legato agli attributi e alle mosse di recente eettuazione (Recency Based Memory ) ed ` e la strada seguita dal controllo basato sulle restrizioni tab` u. Esiste per` o anche un altro possibile controllo della ricerca. Tale tipo di controllo utilizza le informazioni che riguardano la frequenza con la quale, durante la ricerca, vengono coinvolti gli attributi delle mosse e le mosse stesse (Frequency Based Memory ). Sia x(1), x(2), , x(iter corrente) la sequenza di tutte le soluzioni generate durante il processo di ricerca no alliterazione corrente, e sia S una sua sottosequenza. Si deniscono: S (attrib sol) #S (attrib sol) S (attrib mossa) S (attrib mossa) = insieme delle soluzioni di S che contengono lattributo attrib sol = la cardinalit` a di S (attrib sol) = insieme delle soluzioni di S ottenute con una mossa individuata da attrib mossa = la cardinalit` a di S (attrib mossa)

Se, ad esempio, un attrib sol ` e rappresentato dalla posizione xj = p ,

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

49

S ( xj = p ) indica tutte le soluzioni di S che hanno lelemento j in posizione p. Se invece attrib mossa ` e, per esempio, dato da da xj = p a xj = q , S ( da xj = p a xj = q ) identica tutte le mosse che spostano lelemento j da p a q. Dunque #S (attrib sol) costituisce una misura di residenza dellattributo attrib sol nelle soluzioni che si sono succedute in S . Il rapporto tra #S (attrib sol) e il numero delle occorrenze di tutti gli attributi di soluzione, ci fornisce una misura della frequenza di residenza di attrib sol nella sequenza di soluzioni. Analogamente, ` e possibile denire una misura di transizione ed una frequenza di transizione, a partire dagli attributi di mossa. La conoscenza di tali dati permette di controllare la direzione lungo la quale proseguire il processo di ricerca del punto di ottimo. Se la frequenza di residenza di un dato attributo ` e alta, per esempio, pu` o essere desunto che tale attributo ` e fortemente attrattivo, nel caso in cui la sequenza di soluzioni ` e di alta qualit` a, o fortemente repulsivo, se la sequenza ` e di bassa qualit` a. Intensicazione e diversicazione I parametri di residenza e di transizione, forniscono informazioni sulle mosse e sulle soluzioni che storicamente si sono succedute. Tali parametri sono quindi gli strumenti ideali per monitorare il processo di ricerca e modicare le direzioni del processo stesso. Lintensicazione ` e una strategia che dirige il processo di ricerca nellintorno di soluzioni identicate da un attributo che compare frequentemente in soluzioni buone. La diversicazione, invece, ha come eetto quello di spostare la ricerca verso nuove regioni, non ancora esplorate durante il processo di ricerca. Tale operazione si rende necessaria poich e, in molti casi, le strategie a breve termine, quelle cio` e legate alle sole restrizioni tab` u, non sono in grado di uscire dalla regione dattrattivit` a di un minimo locale. Nasce quindi la necessit` a di forzare il passaggio in una zona lontana dalla precedente. Tale osservazione

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

50

evidenzia la necessit` a di introdurre strategie di diversicazione, a prescindere dal fatto che lanalisi basata sui parametri di frequenza, venga eettuata o meno. Si sono prese in considerazione alcune strategie di controllo presenti in letteratura. Penalit` a e incentivi. Un approccio che pu` o essere seguito per intensicare e diversicare la ricerca, ` e quello basato sullintroduzione di penalit` a ed incentivi nella selezione delle mosse da eettuare. In questo caso la selezione della prossima soluzione, si basa sul valore assunto dalla funzione obiettivo, alla quale viene sommato un costo aggiuntivo, funzione dei parametri di frequenza. Se si penalizzano le mosse relative agli attributi pi` u frequenti, si otterr` a un eetto di diversicazione. Se, invece, si incentivano le mosse contenenti gli attributi pi` u frequenti, si otterr` a un eetto di intensicazione. Sequenze di diversicazione. Per diversicare il processo di ricerca, in modo eciente, ` e necessario generare tutta una sequenza di mosse di diversicazione, ognuna delle quali deve essere selezionata in modo opportuno. Glover e Laguna [11] hanno suggerito dei criteri per caratterizzare tali sequenze. Sia Z (k ) = (z (1), z (2), . . . , z (k )) una sequenza di k soluzioni. Tale sequenza viene denita sequenza di diversicazione se, denita una metrica nello spazio delle soluzioni, Z (k ) ` e costituita da sottosequenze Z (h), con h k , tali che z = z (h + 1) soddis le tre seguenti condizioni: 1. z massimizza la minima distanza d(z, z (i)) per i h; 2. z massimizza la minima distanza d(z, z (i)) per 1 i h, poi per 2 i h, etc; 3. z massimizza la minima distanza d(z, z (i)) per i = h, poi per i = h 1, etc. Tali condizioni impongono che le soluzioni z (i) siano i vertici di un ipercubo nello spazio delle soluzioni, la cui posizione ` e legata, in particolare, a z (1), che costituisce il seme della sequenza. Rinforzo delle restrizioni tab` u. Se un attributo ` e molto frequente in sequenze di soluzioni dalta qualit` a, si pu` o pensare di intensicare la ricerca in

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

51

tale regione, rinforzando quelle restrizioni tab` u che impediscono la rimozione di tale attributo. Questa strategia presenta le stesse caratteristiche di quella legata allintroduzione di penalit` a e incentivi, con due vantaggi supplementari: riducendo il numero di mosse ammissibili, rende pi` u veloce la loro selezione; in secondo luogo, rinforzando le restrizioni tab` u, esalta la possibilit` a di far uscire la ricerca da eventuali situazioni di stallo, situazioni per le quali le restrizioni tab` u sono state introdotte. Costruzione di un sentiero. Si scelgono x e x da una collezione di soluzioni, selezionate tra quelle eettuate no alliterazione attuale. Viene poi generato un sentiero che porta da x a x , individuando r soluzioni intermedie (x (1), x (2), . . . , x (r)), scelte in modo tale che x (i) minimizzi il numero di mosse che mancano per raggiungere x . Una volta costruito il sentiero, si seleziona una o pi` u x (i) come nuovo punto di partenza della ricerca. Leetto di intensicazione si ottiene se x e x contengono attributi fortemente attrattivi, mentre leetto di diversicazione si ottiene se x e x sono molto distanti tra loro. Valutazione delle soluzioni non visitate. Unaltra strategia di controllo si basa sulle informazioni relative alle caratteristiche delle soluzioni analizzate ma non selezionate durante la ricerca. Questo approccio ` e basato sulla memorizzazione di parametri di frequenza, relativi ad attributi di soluzioni non eettuate e quindi non presenti nella memoria del processo di ricerca. La struttura di alcune di queste soluzioni, per esempio quelle appartenenti ad una data banda di attrattivit` a espressa in termini di funzione obiettivo, pu` o risultare utili per contribuire a pilotare un processo di ricerca dintensicazione e diversicazione. Metodo delle oscillazioni. Tale approccio permette di ottenere una strategia di ricerca che si pone a met` a strada tra la diversicazione e lintensicazione. Questo metodo fornisce gli strumenti per oltrepassare i conni dellinsieme N (xnow ). La sequenza di diversicazione o di intensicazione, ` e costituita da mosse che attraversano tali conni lungo ogni direzione possibile, individuata da un processo oscillatorio. Il controllo di tale oscillazione si basa sulla variazione dei criteri con i quali vengono selezionate le mosse ed ` e inuenzato dalla regione che attualmente ` e interessata dal processo di

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP) ricerca. Target Analysis

52

Procedure che inglobano elementi di diversicazione e intensicazione possono essere ottenute stabilendo degli standard storici per dierenziare la qualit` a di mosse alternative. Lecacia di uno stimatore, come quello basato sulle variazioni della funzione obiettivo, pu` o variare notevolmente in funzione della soluzione corrente. Il target analysis, ` e un approccio basato sullesperienza, che permette lo sviluppo di stimatori opportuni per intensicare e diversicare la ricerca. Alla base di tale approccio c` e la volont` a di investire un intenso sforzo preliminare per determinare soluzioni ottime o sub-ottime (soluzioni target), per problemi rappresentativi di una data classe. Successivamente si risolvono nuovamente tali problemi utilizzando le soluzioni target per valutare lecacia degli stimatori: uno stimatore sar` a ritenuto ecace se ` e in grado di dirigere la soluzione verso soluzioni target. Sulla base di questo criterio, ` e possibile valutare uno stimatore, in funzione della vicinanza o meno delle soluzioni generate rispetto a quelle target. Mediante tali valutazioni, si pu` o scoprire se, e in quali regioni, gli stimatori sono attendibili, e quindi memorizzare gli attributi delle mosse dalle valutazioni pi` u alte. Si possono costruire, inoltre, funzioni parametriche dalle informazioni cos` ottenute, che integrino gli stimatori standard nelle regioni dove questi fallissero nella ricerca di buone soluzioni e, in conclusione, si possono scegliere opportunamente tali parametri, utilizzando tali funzioni al posto degli stimatori standard. Diversicazione basata sulla distanza Una strategia di diversicazione risulta particolarmente interessante in situazioni dove le soluzioni migliori possono essere raggiunte solo superando certe dicolt` a e scegliendo mosse con una valutazione minore. Per identicare mosse appropriate per superare tali dicolt` a, deve essere creata una fun-

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

53

zione di memoria per classicare lattrattivit` a di mosse allinterno di una data classe di distanza. Il concetto di distanza di una mossa deriva dal fatto che una mossa pu` o produrre modiche maggiori alla soluzione corrente di quelle prodotte da altre. Per esempio, in unapplicazione del TSP, una mossa che trasferisce un nodo diverse posizioni lontano da quella che tale nodo aveva precedentemente nel circuito, ` e caratterizzata da una distanza maggiore rispetto ad una mossa che sposta un nodo di una sola posizione nel circuito. In genere, mosse di grande distanza comportano costi maggiori, quando sono valutate da stimatori standard, rispetto a mosse che coprono distanze minori. Tali mosse sono valutate meno attrattive dagli stimatori rispetto a quelle che coprono una distanza minore; per questo motivo, saranno raramente scelte durante il processo di ricerca, pur essendo necessarie per superare le dicolt` a presenti. Quando gli stimatori standard perdono la loro ecacia, si pu` o ottenere un eetto di diversicazione selezionando le mosse migliori appartenenti a classi raramente utilizzate. Si possono quindi utilizzare informazioni storiche per determinare quale classe di distanza scegliere, e quindi comparare, mediante uno stimatore, le mosse che appartengono a tale classe. Pu` o risultare utile, allora, eettuare un numero limitato di iterazioni preliminari per identicare statistiche storiche, relative alle valutazioni delle mosse di ogni classe di distanza, e, per le iterazioni successive, applicare la target analysis al ne di ottenere scelte ecienti (comparando la valutazione delle mosse di ogni classe, associata alliterazione corrente, con queste statistiche) Queste nozioni possono essere utilizzate per sviluppare processi paralleli. Di solito, le mosse di grande distanza sono le pi` u dicili da valutare, ma proprio esse producono grossi cambiamenti. Comunque, ` e possibile identicare un insieme ristretto di mosse di grande distanza (tra le quali almeno una ha una buona valutazione), senza precisare quale di esse sia la migliore. Lapplicazione di processi paralleli per esaminare le conseguenze di tali mosse alternative, pu` o rappresentare una tecnica pi` u ecace per eettuare la selezione.

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

54

Luso di processi paralleli pu` o essere particolarmente utile se leettuazione di una mossa rendesse dicoltoso ottenere di nuovo soluzioni precedentemente accessibili; in tali casi si potrebbero svolgere in parallelo due processi di ricerca, uno eettuando quella mossa, laltro non eettuandola. Generazione di nuovi punti di partenza In generale, un mezzo per migliorare le prestazioni di una tecnica euristica, ` e quello di ricominciare, il processo risolutivo, da soluzioni dierenti generate casualmente o prese da un insieme di soluzioni selezionate. In genere, si possono utilizzare le informazioni raccolte durante la ricerca per favorire la creazione di soluzioni distanti da quelle visitate; nel fare questo si deve considerare che la scelta di una soluzione di partenza non opportuna pu` o far ripresentare su larga scala soluzioni gi` a visitate. Un metodo per scegliere una soluzione di partenza adatta, si basa sui parametri di frequenza e di residenza di particolari attributi nelle soluzioni nora esplorate. In questo modo, volendo costruire nuovi punti di partenza, o diversicare la ricerca, si possono penalizzare le mosse che contengono attributi pi` u frequentemente occorsi nel passato. Tabu Search con liste dinamiche Per implementare la tabu search si pu` o utilizzare una particolare struttura dinamica, che permetta allo stesso tempo di mantenere un certo numero di mosse tab` u e di lasciare ai criteri daspirazione la possibilit` a di modicare lo stato tab` u di una certa mossa. Nel caso in cui ogni mossa sia caratterizzata da un solo attributo, la TL ` e un vettore di attributi che associa, uno stato tab` u, alle mosse che contengono tali attributi: T L = (e(p), . . . , e(q 1), e(q )) Corrispondentemente, possiamo identicare la lista di soluzioni: SL = (x(p), . . . , x(q 1), x(q )) tale che, per ogni i, e(i) ` e lattributo associato con la mossa applicata

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

55

alla soluzione x(i), che impedisce di ripassare per x(i) applicando la mossa inversa. Due soluzioni x(h) e x(k ) con h < k possono essere considerate uguali se allinterno della successione e(h), . . . , e(k ), per ogni e(r), ` e possibile individuare un e(s) che sia linverso di e(r). In tal caso si dice che e(s) cancella e(r). Nelle procedure che fanno uso di liste dinamiche, un attributo presente in tali liste non rende automaticamente tab` u una mossa, a meno che, tale mossa, non porti eettivamente ad una soluzione visitata in precedenza. Come esempio, si pu` o considerare una lista tab` u attiva, ATL, che consista solo degli elementi di TL che non sono stati cancellati: AT L = (e(p), . . . , e(q 1), e(q )) Se si inserisce nellATL un nuovo elemento e(q +1) che cancelli un elemento e(i) dellATL stessa, non si ritorna ad un soluzione precedente a meno che non siano cancellati tutti gli elementi compresi tra e(i) ed e(q + 1); tale sequenza ` e detta sequenza di cancellazione. Quindi una mossa sar` a considerata tab` u se e solo se essa ` e lultima rimasta di una data sequenza di cancellazione, una volta che tutti gli altri elementi della lista sono stati cancellati. Si pu` o mantenere, comunque, parallelamente una lista tab` u del vecchio tipo ma di lunghezza molto limitata (13), che quindi render` a tab` u tutti gli attributi in essa presenti.

4.4.2

Implementazione del TS nello SLDP

La procedura euristica implementata provvede, ad ogni passo della procedura iterativa (mossa ), alla sostituzione degli archi di una data cella, presenti attualmente nel loop, con quelli della stessa non ancora inclusi. La cella selezionata per eettuare questa sostituzione ` e quella che fornisce il miglior apporto alla funzione obiettivo. La ricerca procede in questo modo per un numero pressato di passi, stabilito dallutente, per poi fornire come risultato, il migliore fra quelli trovati durante la procedura di ricerca. Per evitare che la procedura cicli in una certa sequenza di mosse, e per permettere quindi uneciente scansione di tutte le possibili zone del layout, si utilizzano alternativamente due strategie ben distinte:

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

56

quella di breve periodo (intensicazione ) permette di ricercare la soluzione pi` u attrattiva nellintorno della soluzione corrente, tenendo conto della storia recente della sequenza di mosse; quella di lungo periodo (diversicazione ) permette di ispezionare efcacemente lo spazio delle possibili soluzioni abbandonando, quando opportuno, la zona attualmente esplorata, in modo da svincolarsi da eventuali minimi locali. Mossa Uno dei concetti fondamentali nellimplementazione di un algoritmo di tipo tabu search ` e la denizione della mossa. Durante una generica iterazione dellalgoritmo, infatti, vengono individuate e valutate diverse possibilit` a, ottenibili ciascuna a seguito di una particolare mossa. Nel caso in esame, la mossa pu` o essere denita in termini di XOR su una determinata cella. Assegnato un certo loop e identicata una cella, eettuare lXOR del loop sulla cella signica modicare opportunamente il loop in modo che: gli spigoli della cella che sono inizialmente sul loop non vi siano pi` u dopo lapplicazione mossa gli spigoli della cella non presenti inizialmente nel loop vi entrino dopo lesecuzione della mossa A titolo di esempio, si consideri la situazione in gura 4.5, che rappresenta loperazione di XOR sulla cella 6 del layout in esame nel loop considerato. Soluzione iniziale La determinazione di una soluzione iniziale ammissibile da cui avviare il processo di ricerca non ` e, in generale, immediato. Esistono casi in cui trovare una soluzione ammissibile non ` e possibile. Si consideri, ad esempio, il layout e evidentemente in gura 4.6, riportato in letteratura in [4]: in questo caso ` impossibile identicare un unico loop che contenga almeno uno spigolo di ciascuna cella.

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

57

Figura 4.5: Esempio d XOR su celle

Figura 4.6: Layout non servibile con un unico loop

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

58

Lapproccio seguito nella determinazione della soluzione iniziale sfrutta la procedura di TS stessa. Viene, infatti, eseguita una prima intensicazione a partire dalla soluzione, in generale non ammissibile, costituita dal perimetro esterno del layout. Durante questa intensicazione preliminare, viene utilizzato, come funzione obiettivo, il numero di celle toccate in almeno uno spigolo dal loop. Se, dopo un numero stabilito di iterazioni, non ` e stata individuata una soluzione ammissibile, il problema viene considrato inammissibile. Se si perviene prima del numero pressato di iterazioni ad un loop ammissibile, lintensicazione preliminare viene conclusa e la soluzione trovata viene adoperata come soluzione iniziale per il TS. Funzione obiettivo La funzione obiettivo, da minimizzare, ` e costituita dalle movimentazioni complessive genrate in reparto. Ad ogni valutazione della funzione obiettivo ` e quindi necessario posizionare i punti di P/D. A tal ne viene utilizzato il modello matematico introdotto nella fase 4 della metodologia OSL presentata in [22]. Viene quindi calcolato, per ogni coppia di celle, il contributo alla funzione obiettivo dato dal prodotto della quantit` a di usso previsto per la distanza tra i punti di P/D delle celle considerate. Intensicazione La strategia di breve periodo permette alla ricerca di evolvere verso la zona di maggior benecio, per la funzione obiettivo, nellintorno della soluzione corrente, mantenendo allo stesso tempo traccia dellevoluzione, nel breve periodo, in modo tale da evitare linsorgenza di cicli nella sequenza delle mosse selezionate. I passi della strategia di breve periodo sono: valutazione e attuazione della mossa; valutazione dei punti di P/D; mantenimento di una lista variabile di mosse tabu; valutazione del criterio di terminazione dellintensicazione;

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP) valutazione del criterio di terminazione delleuristica.

59

Valutazione e attuazione della mossa. Ad ogni passo dellintensicazione, vengono esaminate le diverse evoluzioni ottenibili eseguendo lXOR sulle diverse celle purch e rimanga garantita lammissibilit` a. Si scartano quindi tutte le mosse che comportano la perdita dellammissibilit` a, quelle che risultano tabu e, fra le mosse rimanenti, si sceglie quella che minimizza la funzione obiettivo. Selezionata la mossa pi` u appetibile, in fase di attuazione, il relativo valore della funzione obiettivo, viene confrontato con quello associato alla migliore soluzione corrente, ed in caso di miglioramento della stessa viene tenuta traccia del numero dordine delliterazione in questione, del valore della funzione obiettivo e del loop relativo. Valutazione dei punti di P/D. Ogni volta che viene eseguita una mossa vengono ricollocate le stazioni di P/D in funzione del verso di percorrenza del loop, selezionando la disposizione relativa al verso associato al minor valore della funzione obiettivo. Per una descrizione dettagliata della procedura di localizzazione delle stazioni di P/D si faccia riferimento a [22]. Mantenimento della lista tabu variabile. Per evitare linsorgenza di cicli nella sequenza delle mosse, ogni qual volta una mossa viene selezionata essa viene etichettata come tabu. La permanenza di una mossa, fra quelle tabu, ` e associata ad un indice di penalizzazione variabile in maniera casuale fra un numero minimo ed uno massimo di iterazioni della procedura, stabiliti in fase di settaggio dei parametri delleuristica. Allatto della valutazione di una mossa, vengono quindi escluse, dallinsieme delle mosse possibili, tutte quelle che gurano nella lista tabu. Ad ogni iterazione viene decrementato di ununit` a il valore relativo allindice di penalit` a di tutti gli elementi della lista tab` u. Una mossa rimane tabu no a quando il relativo indice di penalizzazione ` e diverso dal valore nullo. Valutazione del criterio di terminazione dellintensicazione Alla fase di intensicazione ` e associato un contatore che indica la distanza, intesa come numero di iterazioni, dallultima mossa migliorativa. Quando il valore di questo contatore raggiunge il valore nD , ssato in fase di settaggio dei parametri delleuristica, la fase di intensicazione ha termine, e si avvia la fase

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

60

di diversicazione. Questo contatore viene incrementato in corrispondenza di ogni iterazione che non produce un miglioramento della migliore soluzione corrente, viene invece azzerato ogni qualvolta la migliore soluzione corrente ` e aggiornata, o allinizio di una nuova fase di intensicazione. La durata di una singola intensicazione ` e quindi variabile e dipende dalla frequenza degli aggiornamenti della migliore soluzione corrente. Valutazione del criterio di terminazione delleuristica. In fase di settaggio dei parametri delleuristica, viene stabilito il numero complessivo delle iterazioni delleuristica. Quando questo numero viene raggiunto, la procedura di ricerca ha termine e si produce, come risultato, quello relativo alliterazione in corrispondenza della quale si ` e ottenuta la migliore soluzione corrente. La valutazione del criterio di terminazione totale ` e eettuata sia durante lintensicazione, che durante la dierenziazione. Diversicazione La diversicazione ` e una strategia attuata per far s` che la ricerca si allontani da quella che ` e la zona attualmente esplorata dello spazio delle soluzioni, in modo da cercare di raggiungere delle zone che, per particolari topologie di layout e particolari matrici di usso, sono dicilmente raggiungibili seguendo i normali criteri devoluzione. Durante le fasi di diversicazione viene rilassato il vincolo sullammissibilit` a del loop esaminato: vengono presi, cio` e, in considerazione anche quei loop che non toccano in almeno uno spigolo tutte le celle. Subito dopo ogni fase di diversicazione, la funzione obiettivo considerata diventa la massimizzazione del numero di celle toccate dal loop in almeno uno spigolo nch e questo non raggiunge il numero totale delle celle, ripristinando co` lammissibilit` a. La valutazione di una mossa, durante le iterazioni di diversicazione, ` e basata sui seguenti criteri: ripristino delle condizioni in corrispondenza della migliore soluzione corrente; abbandono della condizione di ammissibilit` a; penalizzazione degli archi pi` u coinvolti nellintensicazione precedente;

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP) selezione della mossa a minor funzione obiettivo.

61

Penalizzazione degli archi. Ad ogni possibile arco del layout viene associato un contatore che, ad ogni iterazione, viene incrementato di una unit` a se il relativo arco ` e presente nel loop risultante dalla mossa applicata. Allatto dellavvio di una diversicazione, gli archi maggiormente utilizzati nellintensicazione precedente e presenti nel loop associato alla migliore soluzione corrente, vengono marcati come archi tab` u ed allo stesso tempo tutti i contatori associati agli archi vengono azzerati. Da questo momento in poi, per tutta la durata della diversicazione, e nel corso della successiva intensicazione, in fase di valutazione della mossa, la presenza di questi archi nei loop risultanti dalle possibili mosse, comporter` a una penalizzazione per gli archi in questione. La penalizzazione, espressa in termini di lunghezza dellarco in questione sar` a pari alla lunghezza del loop iniziale, il che si tradurr` a in un maggior valore della funzione obiettivo, per tutti i loop contenenti gli archi tab` u, in maniera proporzionale al numero di questi inclusi. Durante la fase di diversicazione, ripristinata la migliore soluzione corrente, ` e abbandonato il criterio dammissibilit` a nella valutazione delle mosse. Lo scopo di tale variante ` e quello di permettere, alla sequenza di soluzioni, di passare, anche se per un numero di passi limitato, attraverso regioni di ricerca inammissibili in modo da superare quelle regioni di possibili minimi locali che possono caratterizzare la ricerca. In queste iterazioni, lunico criterio guida sar` a quindi quello della minimizzazione della funzione obiettivo, che considerando la penalizzazione introdotta sugli archi pi` u frequentati, nellintensicazione precedente, tender` a a produrre, nel corso delle iterazioni di diversicazione, lespulsione degli stessi attraverso la selezione di quelle celle che li contengono e, di conseguenza, lallontanamento dalle regioni di minimo locale in cui la ricerca potrebbe essersi arenata. La penalizzazione degli archi tab` u avr` a i suoi eetti solo in fase di valutazione della mossa, non sar` a invece considerata in fase dattuazione della stessa. Anche le mosse eettuate durante la diversicazione andranno a far parte della lista tab` u che continuer` a a condizionare levoluzione nel breve periodo, anche durante questa fase, per gli stessi motivi espressi in precedenza.

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

62

La durata della fase di diversicazione ` e costituita da un numero ssato di iterazioni, collegato al numero degli archi tab` u, e stabilito, come questultimo, in fase di settaggio dei parametri delleuristica. Qualora, durante la fase di diversicazione, si giunga ad una soluzione che soddis il criterio di ammissibilit` a, e presenti un valore della funzione obiettivo inferiore a quello della migliore soluzione corrente, essa andr` a, come consuetudine, a rimpiazzare la migliore soluzione corrente. Al termine della diversicazione ha inizio una nuova fase di intensicazione che parte dalla soluzione corrente trovata allultima iterazione di diversicazione, non prima per` o di aver ripristinato il criterio di ricerca dellammissibilit` a. Durante lintensicazione, la ricerca tiene conto, in fase di valutazione della mossa, delle penalizzazioni per gli archi tab` u. La nuova fase di intensicazione ha quindi la possibilit` a di selezionare nuove soluzioni che potrebbero ora risultare pi` u appetibili rispetto a quanto poteva essere durante la precedente intensicazione.

4.5
4.5.1

Risultati computazionali
Gli esperimenti

Al ne di analizzare le prestazioni dei diversi algoritmi proposti, ` e stata realizzata una campagna sperimentale su problemi di diverso tipo. In particolare, i problemi sono stati generati in modo da esplorare le diverse possibilit` a in termini di: complessit` a del block layout complessit` a della rete di ussi richiesti Per ottenere risultati signicativi relativamente al primo punto, sono stati utilizzati dei block layout di dimensione variabile da un numero minimo di 10 celle no ad un numero massimo di 40 celle. Conseguentemente, anche il numero di spigoli e quello dei vertici risultano ben distribuiti. Per quanto riguarda la complessit` a dei ussi richiesti, invece, sono stati presi in esame, per ciascun layout, diverse matrici di usso con un numero di

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

63

elementi non nulli variabile tra un minimo del 10% e un massimo del 100% del numero complessivo di ussi possibili. Gli elementi non nulli hanno valore intero uniformemente distribuito tra 1 e 500. Questo aspetto dei problemi considerati inuisce notevolmente sulla complessit` a del problema da risolvere. Uno stesso layout con matrice di usso sparsa oppure densa pu` o richiedere tempi di risoluzione che dieriscono anche di ordini di grandezza. In appendice A sono riportati i layout considerati, mentre nella tabella 4.3 sono riportate le informazioni principali degli esperimenti condotti; in particolare, sono riportati: il nome dato a ciascun esperimento (LX indica il Layout X il cui schema ` e riportato in appendice A, mentre FY . indica la variante Y della matrice dei ussi per il layout considerato) il numero di celle del block layout il numero di spigoli del block layout il numero di vertici del block layout il numero di ussi previsti la percentuale di elementi non nulli nella matrice dei ussi la complessit` a del problema, intesa come il numero di elementi non nulli individuati dalla procedura di MIP Presolve impiegata da CPLEX

4.5.2

Taratura del Tabu Search

Llalgoritmo tabu search realizzato ` e caratterizzato, come tutti gli algoritmi basati su questa meta-euristica, da un comportamento che ` e fortemente inuenzato dai parametri in ingresso allalgoritmo stesso. Nel caso in esame, i parametri da tarare sono i seguenti: numero complessivo di iterazioni;

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

64

Esperimento L1 F1 L1 F2 L2 F1 L2 F2 L3 F1 L3 F2 L4 F1 L4 F2 L5 F1 L5 F2 L6 F1 L6 F2 L6 F3 L6 F4 L6 F5 L6 F6 L6 F7 L6 F8 L7 F1 L7 F2 L7 F3

Celle 10 10 12 12 14 14 14 14 14 14 16 16 16 16 16 16 16 16 18 18 18

Spigoli 16 16 19 19 24 24 26 26 25 25 27 27 27 27 27 27 27 27 33 33 33

Vertici 25 25 30 30 37 37 39 39 38 38 42 42 42 42 42 42 42 42 50 50 50

Flussi 10 90 14 132 20 182 20 182 20 182 19 30 49 48 118 127 240 240 31 306 306

% ussi 11% 100% 11% 100% 11% 100% 11% 100% 11% 100% 8% 12% 20% 20% 49% 53% 100% 100% 10% 100% 100%

Complessit` a 2228 13906 3711 25938 6218 43458 6541 45784 6382 44606 6520 9416 14379 14104 32375 35006 64290 64290 11428 96550 96550

Tabella 4.3: Riepilogo esperimenti

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP)

65

numero di iterazioni senza miglioramento accettabili prima di forzare la diversicazione; numero di iterazioni durante le fasi di diversicazione; numero di spigoli tabu; permanenza minima nella lista tabu; permanenza massima nella lista tabu. Eettuando unaccurata fase di taratura su un sottoinsieme ben assortito dei problemi in esame, ` e stato possibile denire delle linee guida generali per la denizione dei parametri da impostare: nei casi con matrice dei ussi densa, il TS si dimostra particolarmente eciente e non richiede, generalmente, fasi di diversicazione; nei casi con matrice dei ussi sparsa, il TS richiede, generalmente, una o pi` u fasi di diversicazione e, conseguentemente, un numero di iterazioni maggiore; il numero di iterazioni di diversicazione pu` o essere ssato a 4 indipendentemente dal problema; il numero di spigoli tabu pu` o essere ssato pari a 2 indipendentemente dal problema; la permanenza minima in lista tabu di una mossa ` e pari a due iterazioni indipendentemente dal problema; la permanenza massima in lista tabu di una mossa cresce con la dimensione del problema. Sfruttando le linee guida introdotte, i diversi parametri possono essere ricavati secondo le seguenti formule: numero complessivo di iterazioni: I = (1 +
100S ) 90

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP) numero di iterazioni di intensicazione: II =


2 3

66

numero di iterazioni di diversicazione: ID = 4 numero di spigoli tabu: T E = 2 minima permanenza in lista tabu: mT = 2 massima permanenza in lista tabu: M T =
1 3

Poich e i parametri devono essere numeri interi, i risultati delle formule introdotte vanno arrotondate per eccesso.

4.5.3

Risultati

Gli esperimenti descritti nella sezione 4.5.1 sono stati dati in input ai diversi algoritmi proposti. In particolare, su ciascun problema trattato sono stati eseguiti i seguenti algoritmi: 1. risoluzione del modello MILP senza aggiunta di tagli con metodo branch and bound; 2. risoluzione del modello MILP con aggiunta dinamica di tagli utilizzando il metodo branch and cut; 3. risoluzione del problema con leuristica tabu search realizzata; 4. risoluzione del modello MILP con aggiunta dinamica di tagli secondo lapproccio branch and cut, con impiego, come soluzione iniziale, della soluzione fornita dal TS. Lalgoritmo TS ha un comportamento che pu` o variare notevolmente al variare dei parametri in ingresso allo stesso. Una trattazione approfondita del settaggio dei parametri per il TS ` e riportata nella sezione 4.5.2. Per ogni algoritmo impiegato, ` e stato registrato il tempo complessivo di esecuzione, che corrisponde, rispettivamente, al tempo necessario per: 1. costruzione del modello MILP, risoluzione con branch and bound;

CAPITOLO 4. SINGLE LOOP DESIGN PROBLEM (SLDP) Esperimento L1 F1 L1 F2 L2 F1 ... MILP t (sec) 3 377 B&C t t risp. 3 0% 219 42% TS+B&C t t risp. 139 63% TS % Err %

67

Tabella 4.4: Risultati 2. costruzione del modello MILP, aggiunta formale di tutti i tagli al modello, risoluzione con branch and cut; 3. esecuzione di un numero di iterazioni di TS ssato; 4. esecuzione di un numero di iterazioni di TS ssato, costruzione del modello MILP, aggiunta formale di tutti i tagli al modello, impostazione della soluzione iniziale, risoluzione con branch and cut. In tabella 4.4 sono riportati i risultati che sono stati ottenuti.

Bibliograa
[1] P. Afentakis. A loop layout design problem for exible manufacturing systems. International Journal of Flexible Manufacturing Systems, (1):175196, 1989. [2] J. M. Apple. Plant Layout and Material Handling. Wiley, 1977. [3] A. Asef-Vaziri, M. Dessouky, and C. Sriskandarajah. A loop material ow system design for automated guided vehicles. The International Journal of Flexible Manufacturing Systems, (33):3348, 2001. [4] A. Asef-Vaziri, G. Laporte, and C. Sriskandarajah. The block layout shortest loop design problem. IIE Transactions, (32):727734, 2000. [5] Y. A. Bozer and M. M. Srinivasan. Tandem congurations for automated guided vehicle systems oer simplicity and exibility. Industrial Engineering, (21):2327, 1989. [6] L. R. Foulds and D. F. Robinson. Graph theoretic heuristics for the plant layout problem. International Journal of Production Research, (16):2737, 1978. [7] R. L. Francis, L. F. McGinnis, and J. A. White. Facility Layout and Location: An Analytical Approach. Prentice-Hall, 1992. [8] T. Ganesharajah, N. G. Hall, and C. Sriskandarajah. Design and operational issues in AGV-served manufacturing systems. Annals of Operations Research, (76):109154, 1998.

68

BIBLIOGRAFIA

69

[9] R. J. Gaskins and J. M. A. Tanchoco. Flow path design for automated guided vehicle systems. International Journal of Production Research, 25(5):667676, 1987. [10] F. Glover. Tabu search, part I. ORSA Journal on Computing, 1(3):190 206, 1989. [11] F. Glover and M. Laguna. Tabu search. In C. Reeves, editor, Modern Heuristic Techniques for Combinatorial Problems, Oxford, England, 1993. Blackwell Scientic Publishing. [12] S. Heragu. Facilities Design. PWS Publishing Company, 1997. [13] M. Kaspi and J. M. A. Tanchoco. Optimal ow path design of unidirectional AGV systems. International Journal of Production Research, 28(6):915926, 1990. [14] A. S. Kiran and S. Karabati. Exact and approximate algorithms for the loop layout problem. Journal of Production Planning and Control, (4):253259, 1993. [15] P. Kouvelis and M. W. Kim. Unidirectional loop network layout problem in automated manufacturing systems. Operations Research, (40):533 550, 1992. [16] W. L. Maxwell and J. A. Muckstadt. Design automated vehicle systems. IIE Transactions, (2):114124, 1982. [17] R. Muther. Systematic Layout Planning. Management and Industrial Research Publications, 1973. [18] L. M. Nicol and R. H. Hollier. Plant layout in practice. Material ow, 1:177188, 1983. [19] D. Sinriech and J. M. A. Tanchoco. Solution methods for the mathematical models of single-loop AGV systems. International Journal of Production Research, 31(3):705725, 1993.

BIBLIOGRAFIA

70

[20] D. Sinriech, J. M. A. Tanchoco, and Y. T. Herer. The segmented bi-directional single-loop topology for material ow systems. IIE Transactions, 28:4054, 1996. [21] D. R. Sule. Manufacturing Facilities: Location, Planning & Design. PWS Publishing Company, 1991. [22] J. M. A. Tanchoco and D. Sinriech. OSL - optimal single-loop guide paths for AGVS. International Journal of Production Research, 30(3):665681, 1992. [23] B. C. Tansel and C. Bilen. Move based heuristics for the unidirectional loop network layout problem. European Journal of Operational Research, (108):3648, 1998. [24] A. Tompkins, J. A. White, Y. A. Bozer, E. H. Frazelle, J. M. A. Tanchoco, and J. Trevino. Facilities Planning. Wiley, 1996. [25] J. S. Usher, G. W. Evans, and M. R. Wilhelm. AGV ow path design and load transfer point location. Proceedings of the 1998 IIE Conference, pages 174179, 1988.

Appendice A Layout utilizzati


Vengono di seguito riportati gli schemi dei layout impiegati nella campagna sperimentale illustrata nella sezione 4.3 relativa agli algoritmi per il problema SLDP.

71

APPENDICE A. LAYOUT UTILIZZATI

72

Figura A.1: Layout 1

Figura A.2: Layout 2