Download presentation
Presentation is loading. Please wait.
Published bySabina Pearson Modified over 9 years ago
1
Optimal Packing of High- Precision Rectangles By Eric Huang & Richard E. Korf 25 th AAAI Conference, 2011 Florida Institute of Technology CSE 5694 Robotics & AI Mindaugas Beliauskas
2
Problem Overview Rectangle-packing problem – finding smallest enclosing rectangle that can contain a given rectangles without overlap
3
Why Is It Important? Many practical applications Mechanical prospective Loading a set of rectangular objects on a pallet without stacking them Cutting stock – requires least material to be unused Computer science prospective Scheduling and allocating contiguous memory addresses to programs, where width of rectangle – time required to run it, height – memory it needs Time, s Memory, Gb
4
Sub Problem Minimal Bounding Box Problem Finding the smallest rectangle that can contain rectangles of sizes: Such a problem – minimal bounding box problem Finds a bounding box of least area that can contain a given set of rectangles In other words, here number and dimensions of boxes are known
5
Sub Problem Containment Problem Packaging of given rectangles in a given bounding box of rectangles of sizes: Models rectangles positions over possible positions in the bounding box In other words, the enclosing rectangle is known Algorithm that solves minimal bounding box problem calls algorithm that solves containment problem as a subroutine
6
Unfeasible Problem 1968 Meir and Moser proposed a problem: Finding the smallest square that can contain an infinite series of rectangles of sizes Rectangles cannot overlap Rectangles are unoriented – can be rotated 90° Unit square has exactly enough area for all rectangles No space can be wasted Suggest infeasible task
7
Solution Strategy Minimal bounding box problem Boxes of all sizes are generated and tested in non-decreasing order of area until all feasible solutions of smallest area are found Lower bound – sum of all rectangle areas Upper bound – setting the height of the tallest box, and placing rectangles to the first available position on the right Containment problem All possible locations tested for each rectangle up to N
8
Minimum Bounding Box Problem Generating all subset sums prior to searching – width and the height will be a subset sum of rectangles dimensions Unoriented problem - all widths and heights need to be considered together Excluding infeasible pairs of dimensions Example: for N = 4 consists four boxes of 60x30, 30x20, 20x15 and 15x12. Bounding box width of 57, requires 30 + 15 + 12, can’t have height of 47, because this combination requires rotating 12x15 box. Two rectangles cannot be simultaneously vertically and horizontally Bounding box of size 57 x 47 is then eliminated
9
Learning From Infeasible Attempts Minimal bounding box problem calls containment problem When placing rectangles, the algorithm will run into infeasible solution – the dimension of bounding box needs to be increased Too small increment may cause to to the same partial solutions we already explored Example of oriented boxes:
10
Containment Problem We prune the sums of rectangles, when they overlap or exceeds the limits Assigning x- coordinates dynamically Place rectangle on the left side of bounding box For the assigned rectangles coordinates, add coordinate of unassigned rectangle (width or height) into each set and insert the new sums back Build a set of subset sums Once possible x- coordinates are assigned, the y- coordinates need to be assigned
11
Containment Problem Previously used solution: Perfect Packing Transformation – creation of 1x1 rectangles in addition to placed existing rectangles to check for all empty left space Results in # of original rectangles + # of new 1x1 rectangles For N = 15, requires creating 1.5 billion of 1x1 rectangles, because the problem is scaled up by the least common multiple This requires too much memory and time Suggested solution: Widening Existing Rectangles & Turning Empty Space Into Large Rectangles
12
Widening Existing Rectangles Once x coordinates are assigned, we have to assign y coordinates Partial solution example: For any assignment of y- coordinates the space right of 40x10 rectangle must be always empty, hence it is replaced with 60x10 rectangle. Same procedure for 10x20 and 20x10 rectangles Method used to generate possible rectangles’ y -coordinates
13
Turning Empty Space Into Large Rectangles Now, instead of creating 300 1x1 rectangles, the new method suggests creating 10 30x1 for single hash marks and 20 30x1 for double-hashed empty spaces, instead of 900 rectangles Method used to fit unplaced rectangles
14
Fitting Unplaced Rectangles Finally, after packing transformation, we assign y -coordinates by asking which rectangle can be placed in a given empty corner We limit the y- coordinate to subset sums of height in the original instance For an empty corner, we disallow assigning any rectangle that is not in a subset sum, because only rectangles to create perfect packing can be assigned We generate subset sums for every x- coordinate solution Result is far fewer values in the possible solution set, because we already picked the rectangles’ orientation
15
Experimental Algorithm Results Column 1 – size of the problem Column 2 – method when problem scaled completely in integers Column 3 – testing only those bounding boxes, whose widths and heights are subset sums of rectangles widths and heights Column 4 – rejecting mutually exclusive bounding boxes widths and heights Column 5 – using information of infeasible attempts
16
Experimental Algorithm Results LCM – least common multiple Packer needs to compare minimal bounding box At N =12, the number of boxes to be compared exceeds 32bit integer Most of optimal solutions have width of 1/2
17
Experimental Algorithm Results Comparison to different algorithms of computing times Empty Space – precomputes all subset sums prior searching over x- coordinates Dynamic – dynamically computes subset sums HK11 – added ability to learn and prune unfeasible subtrees
18
Solution of Unfeasible Problem Recall the infeasible problem mentioned in the beginning Main infeasibility – no space can be wasted, since the series of rectangles equals unit square A packing solution for rectangles in the unit square of N = 50000 is presented on the right!
19
Conclusion New benchmark consisting of instances with rectangles Techniques presented Dynamically using subset sets to limit the number of possible positions (Widening Existing Rectangles and Turning Empty Space Into Large Rectangles) Rules to filter out subsets (Rejecting pairs of mutually exclusive subset sums) Methods to learn from infeasible trees (Recalls infeasible result if noticed) Solves problems problems up to two orders of magnitude faster Solved infinite series of rectangles in the unit square, proving that such a packing exists
20
Thank you! Time for questions!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.