24
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

Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

Embed Size (px)

Citation preview

Page 1: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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

Page 2: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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

Page 3: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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

Page 4: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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

Page 5: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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

Page 6: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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

Page 7: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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:

Page 8: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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

Page 9: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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

Page 10: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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

Page 11: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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

Page 12: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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

Page 13: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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

Page 14: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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

Page 15: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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

Page 16: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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

Page 17: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

Algoritmi Euristici

Algoritmo Esatto

Algoritmi Euristici Perturbati

Hashing

Soluzione OttimaFine Algoritmo

RIEMPIMENTI

Calcolo Lower Bound

Y K IMATRICE SCP

Algoritmo Proposto

Fase 1

Page 18: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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

Page 19: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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.

Page 20: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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.

Page 21: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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:

Page 22: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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

Page 23: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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

... ... ... ... ... ... ... ... ... ... ... ... ... ...

Page 24: Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Ottimizzazione Combinatoria ALGORITMI EURISTICI PER PROBLEMI

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.