università degli studi di bologna facoltà di ingegneria corso di laurea in ingegneria informatica...
Post on 02-May-2015
216 Views
Preview:
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
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.
top related