Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI DI PACKING di Alberto Nuzzo Relatore: Chiar.mo Prof. Ing.Paolo Toth Correlatori: Prof. Ing. Alberto Caprara Dott. Ing. Michele Monaci Anno Accademico 2001-2002
Il Bin Packing Problem Dati: n oggetti (items) con peso wj > 0 (j =1,…,n) m contenitori (bin) identici con capacità c Obiettivo: inserire tutti gli items nei bin in modo che: in ogni bin la somma dei pesi degli items inseriti non superi la capacità del bin stesso il numero dei bin utilizzati sia minimo
Il Bin Packing Problem Applicazioni: taglio di unità standard di materia prima; imballaggio per problemi di immagazzinamento e di trasporto; impaginazione articoli nei giornali; problemi di determinazione di layout.
Il Bin Packing Problem Modello Matematico “tradizionale”: Indicando con : n numero di oggetti da inserire m numero di contenitori a disposizione N = {1, .. ,n} insieme degli oggetti da considerare M = {1, ..,m} insieme dei contenitori disponibili wj peso dell’oggetto j con wj 1 ( j N ) c capacità dei contenitori posta pari a 1
Il Bin Packing Problem Modello Matematico “tradizionale”: min yi (1) subject to wj xij yi i M (3) xij = 1 j N (2) yi {0,1} i M (4) xij {0,1} i M, j N (5) BPP Complessità: NP-HARD
Il Bin Packing Problem Modello Matematico di tipo Set-Covering: S = {S N : wj 1 , wj > 1 i N\S } risulta: min SS S subject to S 1 j N S 0 S S S intero S S dove: S = Sia S la famiglia di tutti gli insiemi di oggetti costituenti riempimenti massimali ammissibili, ovvero:
Il Bin Packing Problem Modello Matematico di tipo Set-Covering: min SS S subject to S 1 j N S 0 S S S intero S S dove: S = Caratteristiche: |S| elevata Set Covering NP-Hard
Il Two-Dimensional Vector Packing Problem Generalizzazione del BPP è l’m-Dimensional Vector Packing Problem (m-DVPP) in cui: ogni oggetto j ha m attributi wj1,…,wjm ≥ 0 (j=1,…,n) con wji > 0 i contenitori hanno m capacità c1,…,cm > 0 Ogni attributo è indipendente dagli altri. 2-DVPP: caso particolare del m-DVPP dove: gli attributi degli oggetti e dei relativi contenitori sono 2
Il Two-Dimensional Vector Packing Problem Modello Matematico “tradizionale”: min yi subject to xij = 1 j N wjxij yi i M vjxij yi i M yi 0,1 i M xij 0,1 i M, j N dove: wj 1 peso dell’oggetto j nella prima dimensione (j=1,…,n) vj 1 peso dell’oggetto j nella seconda dimensione (j=1,…,n) c = d = 1 capacità contenitori nelle due dimensioni
Il Two-Dimensional Vector Packing Problem Modello Matematico di tipo set-covering: Tale modello risulta invariato a meno della ridefinizione di S: S = S N : wj 1 AND vj 1 , wj > 1 OR vj > 1 i N\S
Il Two-Dimensional Bin Packing Problem Generalizzazione del BPP è l’m-Dimensional Bin Packing Problem (m-DBPP) in cui: ogni oggetto j ha m dimensioni wj1,…,wjm > 0 (j=1,…,n) i contenitori hanno m capacità c1,…,cm > 0 Le varie dimensioni sono tra loro correlate. 2-DBPP: caso particolare dell’m-DBPP dove: le dimensioni degli oggetti e dei relativi contenitori sono 2
Il Two-Dimensional Bin Packing Problem Applicazioni: Problemi di impaccamento e caricamento veicoli; problemi di gestioni risorse; problemi di taglio di unità standard di materia prima.
Il Two-Dimensional Bin Packing Problem 4 3 2 1 5 7 6 w1 h1 H y W x Bin 1 Bin 2 Items
Il Set Covering Problem Definiamo: A = (aij) matrice binaria di m righe ed n colonne se aij = 1 si dice che la colonna j copre la riga i c = (cj) vettore n-dimensionale dei costi dove cj rappresenta il costo della colonna j ( j S ) Obiettivo: determinare un sottoinsieme di colonne S N, di costo minimo, tale che ogni riga i M sia coperta come minimo da almeno una colonna j S
Il Set Covering Problem Modello Matematico è il seguente: dove: xj = (j S) aijxj 1 i M (2) xj 0,1 j N (3) min cjxj (1) subject to Nel caso dei problemi in esame si considera: cj = 1 j N
Algoritmi Euristici Perturbati Algoritmo Proposto Calcolo Lower Bound Algoritmi Euristici RIEMPIMENTI Algoritmo Esatto Soluzione Ottima Fine Algoritmo Algoritmi Euristici Perturbati Hashing Y K I C F T MATRICE SCP
Algoritmi Euristici Perturbati Algoritmo Proposto Calcolo Lower Bound Algoritmi Euristici Algoritmo Esatto Algoritmi Euristici Perturbati Hashing Soluzione Ottima Fine Algoritmo RIEMPIMENTI Fase 1 Y K I MATRICE SCP
Sistema Utilizzato Processore: PIII Frequenza: 700Mhz Gli algoritmi presentati relativamente alla Fase 1 sono implementati in FORTRAN 77, mentre l’algoritmo YKI è implementato in C++ e sono stati testati nel laboratorio di Ricerca Operativa su un calcolatore in dotazione al dipartimento del D.E.I.S., con le seguenti caratteristiche: Processore: PIII Frequenza: 700Mhz Memoria: 128Mb di RAM.
Le Istanze per il 2-DVPP 10 Classi ( 1,...,3 Spieksma; 4,...,10 Caprara e Toth); Per ogni Classe problemi con n oggetti, dove n assume i valori di: 25, 50, 100, 200 ( 4 Dimensioni ); 10 Istanze per ogni categoria Classe-Dimensione; Classe 10 Numero n di oggetti multiplo di tre, dove n assume i valori di: 24, 51, 99, 201.
Le Istanze per il 2-DBPP 10 Classi ( 1,...,6 Berkey e Wang, 7,...,10 Martello e Vigo); Per ogni Classe problemi con n oggetti, dove n assume i valori di: 20, 60, 80, 100 ( 5 Dimensioni ); 10 Istanze per ogni categoria Classe-Dimensione.
TFASE1 = 90 sec, TES = 9, TCFT = 90, TYKI = 600 Alberto Nuzzo: 2-DVPP TFASE1 = 90 sec, TES = 9, TCFT = 90, TYKI = 600
TFASE1 = 45 sec, TES = 9, TCFT = 135, TYKI = 600 2-DBPP TFASE1 = 45 sec, TES = 9, TCFT = 135, TYKI = 600
TFASE1 = 45 sec, TES = 9, TCFT = 135, TYKI = 600 2-DBPP TFASE1 = 45 sec, TES = 9, TCFT = 135, TYKI = 600 ... ... ... ... ... ... ... ... ... ... ... ... ... ...
CONCLUSIONI Nei due problemi presi in esame, cioè il 2-DVPP e il 2-DBPP, l’algoritmo CFT offre in quasi tutte le istanze risultati migliori dell’algoritmo YKI. L’algoritmo YKI fornisce un lower bound sensibilmente più alto, quindi migliore, in quasi tutte le istanze considerate.