240 likes | 437 Views
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
E N D
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.
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 xij = 1 j N (2) wj xij yi i M(3) yi {0,1} i M (4) xij {0,1} i M, j N (5) Il Bin Packing Problem Modello Matematico “tradizionale”: BPP Complessità: NP-HARD
Sia S la famiglia di tutti gli insiemi di oggetti costituenti riempimenti massimali ammissibili, ovvero: S = {S N : wj 1 , wj > 1 i N\S } risulta: min SSS subject to S 1 j N S 0 S S S intero S S dove: S = Il Bin Packing Problem Modello Matematico di tipo Set-Covering:
S 1 j N S 0 S S S intero S S Il Bin Packing Problem Modello Matematico di tipo Set-Covering: min SSS subject to 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
min yi xij = 1 j N wjxij yi i M vjxij yi i M yi0,1 i M xij0,1 i M, j N Il Two-Dimensional Vector Packing Problem Modello Matematico “tradizionale”: subject to 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
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 Vector Packing Problem
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.
w1 h1 1 2 3 4 5 6 7 Items W y H 6 7 1 2 Bin 1 3 4 5 Bin 2 x Il Two-Dimensional Bin Packing Problem
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
min cjxj (1) subject to aijxj 1 i M (2) xj0,1 j N (3) dove: (j S) xj = Nel caso dei problemi in esame si considera: cj = 1 j N Il Set Covering Problem Modello Matematico è il seguente:
MATRICE SCP Algoritmo Proposto Calcolo Lower Bound Algoritmi Euristici RIEMPIMENTI Algoritmo Esatto Soluzione Ottima Fine Algoritmo Algoritmi Euristici Perturbati Hashing C F T Y K I
Algoritmi Euristici RIEMPIMENTI Fase 1 Algoritmo Esatto Soluzione Ottima Fine Algoritmo Algoritmi Euristici Perturbati Hashing Algoritmo Proposto Calcolo Lower Bound Y K I MATRICE SCP
Sistema Utilizzato 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.
Alberto Nuzzo: 2-DVPP TFASE1 = 90 sec, TES = 9, TCFT = 90, TYKI = 600
2-DBPP 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.