Università degli Studi Università degli Studi di Bologna 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
24
Embed
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Università degli Studi di BolognaUniversità degli Studi di BolognaFacoltà 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
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”:
Il Bin Packing Problem
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
N jMi altrimenti 0
ibin nel inserito è j oggettol' se solo e se 1
ijx
,
Mi altrimenti 0
utilizzato è ibin il se solo e se 1
iy
Modello Matematico “tradizionale”:
BPP Complessità:
NP-HARD
m
i 1 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)
m
i 1
n
j 1
Il Bin Packing Problem
Modello Matematico di tipo Set-Covering:
S = {S N : wj 1 , wj > 1 i N\S }
altrimenti 0
econtenitor un a assegnato è
S oggetti di insieme l' se solo e se 1
risulta:min SS S
subject to SjS 1 j N
S 0 S SS intero S S
dove:
S =
Sia S la famiglia di tutti gli insiemi di oggetti costituenti riempimenti massimali ammissibili, ovvero:
Sj
iSj
Il Bin Packing Problem
min SS S
subject to
SjS 1 j N
S 0 S SS intero S S
Caratteristiche:
– |S| elevata – Set Covering NP-Hard
Il Bin Packing Problem
altrimenti 0
econtenitor un a assegnato è
S oggetti di insieme l' se solo e se 1 dove:
S =
Modello Matematico di tipo Set-Covering:
Generalizzazione del BPP è l’m-Dimensional Vector Packing Problem (m-DVPP) in cui:
Il Two-Dimensional Vector Packing Problem
ogni oggetto j ha m attributi wj1,…,wj
m ≥ 0 (j=1,…,n) con wji > 0
i contenitori hanno m capacità c1,…,cm > 0
Ogni attributo è indipendente dagli altri.
2-DVPP2-DVPP: caso particolare del m-DVPP dove:
gli attributi degli oggetti e dei relativi contenitori sono 2
m
1i
xij = 1 j N
wjxij yi i M
vjxij yi i M
yi 0,1 i M
xij 0,1 i M, j N
n
j 1
n
j 1
n
j 1
Modello Matematico “tradizionale”:
subject to min yi
m
i 1
dove:
Il Two-Dimensional Vector Packing Problem
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
Sj
Sj
iSj iSj
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,…,wj
m > 0 (j=1,…,n)
i contenitori hanno m capacità c1,…,cm > 0
Le varie dimensioni sono tra loro correlate.
2-DBPP2-DBPP: caso particolare dell’m-DBPP dove:
le dimensioni degli oggetti e dei relativi contenitori sono 2
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
Il Two-Dimensional Bin Packing Problem
432
32
1
1 4 5 76
6 7
5
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
Nel caso dei problemi in esame si considera:
cj = 1 j N
Modello Matematico è il seguente:
dove:
xj =
altrimenti 0
soluzione nella aselezionat è j colonna la se 1 (j S)
aijxj 1 i M (2)
xj 0,1 j N (3)
Nj
min cjxj (1)Nj
subject to
Il Set Covering Problem
C F T
Algoritmo Proposto
Calcolo Lower Bound
Algoritmi Euristici
Algoritmo Esatto
Algoritmi Euristici Perturbati
Hashing
Soluzione OttimaFine Algoritmo
RIEMPIMENTI Y K I
MATRICE SCP
Algoritmi Euristici
Algoritmo Esatto
Algoritmi Euristici Perturbati
Hashing
Soluzione OttimaFine Algoritmo
RIEMPIMENTI
Calcolo Lower Bound
Y K IMATRICE SCP
Algoritmo Proposto
Fase 1
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.
Sistema Utilizzato
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.
Classe n Istanze LB* LB UB T #opt UB T LB #opt UB T100 5 125 125 130 90,05 0 130 19,384 125 0 130 600,42200 10 503 503 525 90,21 3 510 78,634 501 1 523 600,56