weight annealing heuristics for solving bin packing problems

34
1 Weight Annealing Heuristics for Solving Bin Packing Problems Kok-Hua Loh University of Maryland Bruce Golden University of Maryland Edward Wasil American University INFORMS Annual Meeting October 5, 2006

Upload: davida

Post on 05-Jan-2016

69 views

Category:

Documents


1 download

DESCRIPTION

Weight Annealing Heuristics for Solving Bin Packing Problems. Kok-Hua Loh University of Maryland Bruce Golden University of Maryland Edward Wasil American University. INFORMS Annual Meeting - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Weight Annealing Heuristics for Solving  Bin Packing Problems

1

Weight Annealing Heuristics for Solving Bin Packing Problems

Kok-Hua Loh University of Maryland

Bruce GoldenUniversity of Maryland

Edward WasilAmerican University

INFORMS Annual Meeting October 5, 2006

Page 2: Weight Annealing Heuristics for Solving  Bin Packing Problems

2

Outline of Presentation

Introduction

Concept of Weight Annealing

One-Dimensional Bin Packing Problem

Two-Dimensional Bin Packing Problem

Conclusions

Page 3: Weight Annealing Heuristics for Solving  Bin Packing Problems

3

Weight Annealing Concept

Assigning different weights to different parts of a combinatorial problem to guide computational effort to poorly solved regions. Ninio and Schneider (2005) Elidan et al. (2002)

Allowing both uphill and downhill moves to escape from a poor local optimum.

Tracking changes in the objective function value, as well as how well every region is being solved.

Applied to the Traveling Salesman Problem. (Ninio and Schneider 2005) Weight annealing led to mostly better results than simulated annealing.

Page 4: Weight Annealing Heuristics for Solving  Bin Packing Problems

4

One-Dimensional Bin Packing Problem

Pack a set of N = {1, 2, …, n} items, each with size ti , i=1, 2,…, n, into identical bins, each with capacity C.

Minimize the number of bins without violating the capacity constraints.

Large literature on solving this NP-hard problem.

7

8 7

6

6

5

4

5

4

3

3

Item List ={8,7,7,6,6,5,4,4,3,3} Bin Capacity =15

Bin 1 Bin 2 Bin 3 Bin 4

Page 5: Weight Annealing Heuristics for Solving  Bin Packing Problems

5

Outline of Weight Annealing Algorithm

Construct an initial solution using first-fit decreasing.

Compute and assign weights to items to distort sizes according to the packing solutions of individual bins.

Perform local search by swapping items betweenall pairs of bins.

Carry out re-weighting based on the result of the previous optimization run.

Reduce weight distortion according to a cooling schedule.

Page 6: Weight Annealing Heuristics for Solving  Bin Packing Problems

6

Neighborhood Search for Bin Packing Problem

From a current solution, obtain the next solution by swapping items between bins with the following objective function (suggested by Fleszar and Hindi 2002)

10

5

3

2

Bin 1 Bin 2

1

bin load

= number of bins

= number of items in bin

= size of item

iq

i jj

i

j

l t i

p

q i

t j

2

1

Maximize ( )p

ii

f l

2 2(5 3) 2 68 f

10

5

2

3

Bin 1

2 (5 3 2) 100newf

Page 7: Weight Annealing Heuristics for Solving  Bin Packing Problems

7

Neighborhood Search for Bin Packing Problem

Swap schemes Swap items between two bins. Carry out Swap (1,0), Swap (1,1), Swap (1,2), Swap (2,2) for all pairs of bins. Analogous to 2-Opt and 3-Opt.

Swap (1,0) (suggested by Fleszar and Hindi 2002)

4

3

1

4

4

2 2(1 3 4) (4 4) 128f 2 2(3 4) (1 4 4) 130newf

Need to evaluate only the change in the objective function value.

2 2 2 2( ) ( ) j jf l t l t l l

44

43

1Uphill move

Item j

Bin α Bin αBin β Bin β

total load of bin

= size of item i

l

t i

Item j

Page 8: Weight Annealing Heuristics for Solving  Bin Packing Problems

8

Neighborhood Search for Bin Packing Problem

5

3

1

Bin 1 Bin 2

4

5

Bin 1 Bin 2

55

34

1

Uphill move

4

3

2

Bin 1 Bin 2

4

5

Bin 1 Bin 2

54

34

Uphill move2

Swap (1,1)

Swap (1,2)

(f = 162) ( fnew = 164)

(f = 162) ( fnew = 164)

Page 9: Weight Annealing Heuristics for Solving  Bin Packing Problems

9

Weight Annealing for Bin Packing Problem

residual capacity

= capacity

= load of bin

ii

i

C lr

C

C

l i

Weight of item i wi = 1 + K ri

An item in a not-so-well-packed bin, with large ri, will have its size distorted by a large amount.

No size distortions for items in fully packed bins.

K controls the size distortion, given a fixed ri .

Page 10: Weight Annealing Heuristics for Solving  Bin Packing Problems

10

Weight Annealing for Bin Packing Problem

swap87.00(80)

92.25(90)

102.50(100)

92.44(85)

Bin 1 Bin 2Bin 1 Bin 2

100 85

8090

Bin 1 Bin 2

transformation

102.50(100)

92.25(90)

87.00(80)

92.44(85)

1 21.025 1.087w w

Weight annealing allows downhill moves in a maximization problem.

Example C = 200, K= 0.5, 200

1 0.5200

ii

lw

Transformed space - uphill move

Original space - downhill move

Transformed space f = 70126.3

Original space f = 63325

Transformed space f new = 70132.2

Original space f new = 63125

Page 11: Weight Annealing Heuristics for Solving  Bin Packing Problems

11

Solution Procedures (1BP)

BISON (Scholl, Klein, and Jürgens 1997) Hybrid method combining tabu search and branch-and-bound New branch schemes

MTPCS (Schwerin and Wäscher 1999) Bounding procedures based on a cutting stock problem (CS) Integrating the lower bound into Martello and Toth procedure (MTP)

PMBS' +VNS (Fleszar and Hindi 2002) Minimum bin slack heuristic Variable neighborhood search

HI_BP (Alvim, Ribeiro, Glover, and Aloise 2004) Sophisticated hybrid improvement heuristic Tabu search to move items between bins

WA1BP Weight annealing heuristic that creates dimension distortions to different parts of

the search space during the local search.

Page 12: Weight Annealing Heuristics for Solving  Bin Packing Problems

12

Computational Results (1BP)

Benchmark problems Five sets of test problems

• Uniform U120, U205, U500, U1000

• Triplet T60, T120, T249, T501

• Set Set1, Set2, Set3

• Was Was1, Was2

• Gau Gau1

A total of 1587 problem instances

Page 13: Weight Annealing Heuristics for Solving  Bin Packing Problems

13

Computational Results (1BP)

Weight annealing performed slightly better than HI_BP. Generated more optimal solutions to the Gau set (17 versus 14).

Weight annealing performed much better than BISON,

PMBS' +VNS, and MTPCS. Generated more optimal solutions to Set benchmark problems.

• Weigh annealing found optimal solutions to all 1210 instances.• BISON, PMBS' +VNS and MTPCS fell short (by 37, 40, and 94 instances).

Was faster than BISON and MTPCS (0.18s versus 31.5s - 118.2s).

Overall Performance of the weight annealing algorithm Found 1582 optimal solutions to 1587 problem instances. Found three new optimal solutions to the Gau set. Took 0.16s on average to solve an instance.

Page 14: Weight Annealing Heuristics for Solving  Bin Packing Problems

14

Two-Dimensional Bin Packing Problems

Problem statement Allocate, without overlapping, n rectangular items to identical rectangular

bins. Pack items such that the edges of bins and items are parallel to each other. Minimize the total number of rectangular bins (NP-hard).

Classifications Guillotine Cutting

2BP|O|G Fixed Orientation (O), Guillotine Cutting (G)2BP|R|G Allowable 90° Rotation (R), Guillotine Cutting (G)

Free Cutting2BP|O|F Fixed Orientation (O), Free Cutting (F)2BP|R|F Allowable 90° Rotation (R), Free Cutting (F)

Page 15: Weight Annealing Heuristics for Solving  Bin Packing Problems

15

Two-Dimensional Bin Packing Problems (2BP|O|G)

Hybrid first-fit algorithm

Phase One (one-dimensional horizontal level packing)

Arrange the items in the order of non-increasing height. Pack the items from left to right into levels, each level i with

the same width W. Pack an item (left justified) on the first level that can accommodate it;

start a new level if no level can accommodate it.

Phase Two (one-dimensional vertical bin packing)

Arrange the levels in the order of non-increasing height hi; this is the height of the first item on the left.

Solve one-dimensional bin packing problems, each item i with size hi, and bin size H.

Page 16: Weight Annealing Heuristics for Solving  Bin Packing Problems

16

Two-Dimensional Bin Packing Problems (2BP|O|G)

Phase 1 - One DimensionalHorizontal Level Packing

h4

h3

h2

h11

3

25

46

7

w

8

9

Phase 2 - One DimensionalVertical Bin Packing

H

Bin 1

Bin 2

1

7

3

25

46

w

8

9

h1

h2

h3

h4

An example of hybrid first-fit

Page 17: Weight Annealing Heuristics for Solving  Bin Packing Problems

17

Two-Dimensional Bin Packing Problems (2BP|O|G)

h3

h2

Bin 1

25

8

46

Unoccupied space at the top end ofeach bin

h3

h2

Bin 1

25

8

46

Unoccupied space at each level

Weakness of hybrid first-fit

Page 18: Weight Annealing Heuristics for Solving  Bin Packing Problems

18

Weight Annealing Algorithm (2BP|O|G)

Phase One (one-dimensional horizontal level packing) Construct an initial solution.

• Arrange the items in the order of non-increasing height.

• Introduce randomness in the insertion order to generate different starting solutions, if necessary.

Swap items between levels to minimize the number of levels.• Objective function

2

1 1

1

Maximize ( ) - ( - )

= width of item in

i

p p

i i ii i

m

i ijj

ij

f b Wh A

b t

t j

level

number of items in level

= number of levels

i

i

m i

p

= sum of item areas in level

height of level

i

i

A i

h i = bin width W

Page 19: Weight Annealing Heuristics for Solving  Bin Packing Problems

19

Weight Annealing Algorithm (2BP|O|G)

Phase Two (one-dimensional vertical bin packing) Construct initial solution with first-fit decreasing using level

height hi as item sizes and bin height H.

Swap levels between bins to minimize the number of bins.• Objective function

2

1

1

Maximize ( )

i

q

ii

m

i ijj

f d

d h

= height of level in bin

= number of levels in bin

ij

i

h j i

m i

= number of bins q

Page 20: Weight Annealing Heuristics for Solving  Bin Packing Problems

20

Weight Annealing Algorithm (2BP|O|G)

Phase Three Filling unused space in each level.

56

78

109

12

3 4

Level 1 Level 2

Level 1

56

78

109

3 4

2 1

2

1

Maximize ( )

= sum of item areas in level

p

ii

i

f A

A i

Page 21: Weight Annealing Heuristics for Solving  Bin Packing Problems

21

Weight Annealing Algorithm (2BP|O|G)

Phase Three Filling unused space at the top of each bin.

Bin 1

25

8

46

Bin 2

9

Bin 1

25

8

46

9

2

1

Maximize ( )

sum of item areas

in bin

q

ii

i

f A

A

i

Page 22: Weight Annealing Heuristics for Solving  Bin Packing Problems

22

Weight Annealing Algorithm (2BP|O|G)

Weight assignments

Phase One

Phase Two

Phase Three

1 ii i i

W bw Kr r

W

1

ii i i

H dw Kr r

H

1

ii i i

HW Aw Kr r

HW

Page 23: Weight Annealing Heuristics for Solving  Bin Packing Problems

23

Weight Annealing Algorithm (2BP|R|G)

Example: Weight Annealing allows downhill move in the maximization problem.

32.00 30.4010

10

9.00

Bin 1 Bin 2

45.00

transformation

1 1.07w 2 1.18w

48.15

(45.00) 34.24

(32.00)

35.87

(30.40) 10.62

(9.00)Bin 1 Bin 2

1

bin area = 100 = 0.3

100

1 0.3100

im

ijj

i

K

a

w

Swap(1,1)

Bin 1 Bin 2

48.15

(45.00) 35.87

(30.40) 34.24

(32.00) 10.62(9.00)

Transformed space - uphill move

Original space - downhill move

Page 24: Weight Annealing Heuristics for Solving  Bin Packing Problems

24

Weight Annealing Algorithm (2BP|R|G)

Rotating an item through 90° to achieve a better packing solution.

3

76

2

45

1

1

3

76

45

1 2

Page 25: Weight Annealing Heuristics for Solving  Bin Packing Problems

25

Weight Annealing Algorithm (2BP|R|G)

Rotate an item through 90° and move it to another bin.

Bin 1

1 2 3

45

Bin 2

rotate andmove

6

Bin 1

1

54

2 3

6

2

1

Maximize ( ) q

ii

f A

Page 26: Weight Annealing Heuristics for Solving  Bin Packing Problems

26

Weight Annealing Algorithm (2BP|O|F)

Alternate direction algorithm Arrange items in the order of non-increasing height.

1 25

34 6 7

8

1 25

31 2

5

4

3

678

Hd

Packing items left to right. Packing items right to left.

Page 27: Weight Annealing Heuristics for Solving  Bin Packing Problems

27

Weight Annealing Algorithm (2BP|O|F)

Moving an item from one bin to another and repacking.

12

5

4

3

678

8

9

11

12

10

13

Bin 1 Bin 2

14

15

d1

d2

12

678

8

9

11

12

10

13

Bin 1 Bin 2

14

5

4

3

15

2

1

Maximize ( )q

ii

f A

Page 28: Weight Annealing Heuristics for Solving  Bin Packing Problems

28

Weight Annealing Algorithm (2BP|O|F)

Post-optimization processing

12

678

8

9

11

12

10

13

Bin 1 Bin 2

Dead Space

14

5

4

3

15

12

678

8

9

11

12

10

13

Bin 1 Bin 2

14

5

4

3

15

2

1

Maximize ( )q

ii

f A

Page 29: Weight Annealing Heuristics for Solving  Bin Packing Problems

29

Weight Annealing Algorithm (2BP|R|F)

Rotate an item through 90° to occupy dead space in another bin.

12

678

8

9

11

12

10

13

Bin 1 Bin 2

Dead Space

14

5

4

3

15

Rotate and move

12

678

8

9

11

12

10

13

Bin 1 Bin 2

14

5

4

3

15

2

1

Maximize ( )q

ii

f A

Page 30: Weight Annealing Heuristics for Solving  Bin Packing Problems

30

Solution Procedures (2BP)

Exact algorithm by Martello and Vigo (1998) for 2BP|O|F

Tabu search by Lodi, Martello and Toth (1999) for 2BP|O|G, 2BP|R|G, 2BP|O|F, 2BP|R|F

Guided local search by Faroe, Pisinger, and Zachariasen (2003) for 2BP|O|F

Constructive algorithm (HBP) by Boschetti and Mingozzi (2003) for 2BP|O|F

Set covering heuristic by Monaci and Toth (2006) for 2BP|O|F

Page 31: Weight Annealing Heuristics for Solving  Bin Packing Problems

31

Computational Results of Weight Annealing (2BP)

Benchmark problems

300 problem instances of Berkey and Wang (1987)

200 problem instances of Martello and Toth (1998)

Comparing computational results (2BP|O|F) is not a straight- forward task.

Tabu search results • Average ratios (TS solution value/ lower bound) over 10 instances are reported.• Lower bounds not given in the papers.

Computational results and lower bounds quoted in journals were inconsistent.

Guided local search results did not include the running times.

Page 32: Weight Annealing Heuristics for Solving  Bin Packing Problems

32

Computational Results for 2BP|O|F

Procedures Total Number of Bins Total Running Time(s)

Tabu Search 7364 1436.1

Guided Local Search 7302 -

Exact Algorithm 7313 524.7

Constructive Algorithm (HBP) 7265 345.9

Set Covering Heuristic 7248 148.5

Weight Annealing 7253 119.3

The results of weight annealing and set covering heuristic are comparable. The total number of bins are about 1.1 % above the best lower bound (7173 bins). Both use fewer number of bins, and are faster than the other procedures.

Results for the 500 problem instances (summary measures).

Page 33: Weight Annealing Heuristics for Solving  Bin Packing Problems

33

Computational Results of Weight Annealing (2BP)

2BP Variants Total Number of Bins Total Running Time (sec)

2BP|O|F 7253 119.3

2BP|R|F 7222 66.7

2BP|O|G 7373 24.8

2BP|R|G 7279 44.0

Results for the 500 problem instances (summary measures).

Page 34: Weight Annealing Heuristics for Solving  Bin Packing Problems

34

Conclusions

The application of weight annealing to bin packing problems is new. One-dimensional bin packing problem

Two-dimensional bin packing problem (four versions)

Weight annealing algorithms produce high-quality solutions.

Weight annealing algorithms are fast and competitive. Easy to understand

Simple to code

Small number of parameters