Upload
tina-la-rosa
View
216
Download
1
Embed Size (px)
Citation preview
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
50 3 63 63 66 76,436 2 65 0,096 65 2 65 10,23100 10 405 405 420 90,079 5 410 0,562 410 5 410 32,19200 10 803 803 843 90,37 2 811 17,559 811 2 811 36,6
50 4 75 75 79 67,862 3 76 0,495 76 3 76 96,625100 7 276 276 283 90,06 1 282 1,762 280 1 282 185,24200 8 638 638 647 90,362 6 640 22,805 640 6 640 92,462
50 6 86 81 87 55,458 5 87 0,7 87 5 87 5,13100 10 257 257 271 90,052 0 267 5,323 267 0 270 204,02200 10 503 503 532 90,169 0 513 37,559 513 0 530 577,16
51 7 119 119 126 72,957 10 119 0,188 119 10 119 30,17199 10 330 330 350 90,09 9 331 0,957 331 9 331 30,3
201 10 670 670 698 90,3 0 680 90,817 671 2 678 518,1110 5057 46 4921 23,76 46 4952 233,5
136 105
CFT YKI
9
10
Fase 1
1
6
7
2-DVPP
TFASE1 = 90 sec, TES = 9, TCFT = 90, TYKI = 600
Alberto Nuzzo:Alberto Nuzzo:
Classe n Istanze LB* LB UB T #opt UB T LB #opt UB T40 1 12 11 12 12,672 0 12 23,976 12 0 12 3,10460 4 72 72 76 16,498 1 75 75,607 74 0 76 307,480 1 24 24 25 20,359 0 25 152,918 24 0 25 602,8
100 1 31 31 32 30,039 1 31 285,918 27 0 32 600,680 1 3 3 4 36,031 0 4 136 3 0 4 600
100 1 3 3 4 36,008 0 4 135,59 3 0 4 60040 2 14 14 16 17,629 0 16 41,936 15 0 16 607,360 4 51 51 55 26,414 1 54 124,288 53 0 55 315,2580 3 53 53 56 34,54 1 55 105,632 54 0 56 407,4
100 4 81 81 85 36,054 2 83 164,737 82 0 85 457,9560 2 4 4 6 36,039 0 6 0,949 4 0 6 5,780 3 9 9 12 36,05 0 12 18,7 11 0 12 613,8
100 1 3 3 4 36,051 0 4 0,539 4 0 4 1,940 2 24 22 24 13,648 0 24 6,992 24 0 24 5,160 1 15 15 16 22,551 0 16 57,121 16 0 16 29,680 6 141 141 147 32,502 0 147 166,257 142 0 147 312,95
100 5 132 132 138 36,094 3 134 134,283 131 0 138 60040 2 2 2 4 36,01 0 4 0,494 4 0 4 0,2
100 2 6 6 8 36,173 0 8 0,449 8 0 8 2,240 2 20 20 22 13,336 0 22 29,98 22 0 22 612,160 4 63 63 67 18,54 2 65 93,989 64 0 67 60080 8 175 175 183 27,348 0 183 236,693 170 0 183 601,25
100 5 136 136 141 35,054 1 140 269,095 127 0 141 60040 1 11 11 12 12,508 0 12 6,48 12 0 12 16,860 3 49 49 52 17,216 1 51 93,616 49 0 52 60080 2 41 41 43 29,748 1 42 180,264 39 0 43 600
100 5 135 135 140 35,339 0 140 278,611 126 0 140 60060 5 49 49 54 36,053 2 52 114,078 49 0 54 484,480 7 88 88 95 36,019 0 95 153,02 87 0 95 600
100 8 124 124 132 36,014 1 131 133,957 122 0 132 528,52596 1665 17 1647 133,575 0 1665 479,63
18 0
Fase 1 CFT YKI
1
2
3
4
5
6
7
8
10
2-DBPPTFASE1 = 45 sec, TES = 9, TCFT = 135, TYKI = 600
Classe n Istanze LB* LB UB T #opt UB T LB #opt UB TYKICFTFase 1
2-DBPP
TFASE1 = 45 sec, TES = 9, TCFT = 135, TYKI = 600
40 1 11 11 12 12,508 0 12 6,48 12 0 12 16,860 3 49 49 52 17,216 1 51 93,616 49 0 52 60080 2 41 41 43 29,748 1 42 180,26 39 0 43 600
100 5 135 135 140 35,339 0 140 278,61 126 0 140 60060 5 49 49 54 36,053 2 52 114,08 49 0 54 484,480 7 88 88 95 36,019 0 95 153,02 87 0 95 600
100 8 124 124 132 36,014 1 131 133,96 122 0 132 528,5396 1665 17 1647 133,58 0 1665 479,63
18 0
8
10
... ... ... ... ... ... ... ... ... ... ... ... ... ...
CONCLUSIONI
L’algoritmo YKI fornisce un lower bound
sensibilmente più alto, quindi migliore, in quasi
tutte le istanze considerate.
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.