 Optimal Packing of High- Precision Rectangles By Eric Huang & Richard E. Korf 25 th AAAI Conference, 2011 Florida Institute of Technology CSE 5694 Robotics.

Slides:



Advertisements
Similar presentations
Algorithm Design Methods Spring 2007 CSE, POSTECH.
Advertisements

Part IV: Memory Management
Greedy Algorithms.
DMOR Branch and bound. Integer programming Modelling logical constraints and making them linear: – Conjuction – Disjunction – Implication – Logical constraints.
BackTracking Algorithms
Chapter 4: Trees Part II - AVL Tree
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Quick Review of Apr 10 material B+-Tree File Organization –similar to B+-tree index –leaf nodes store records, not pointers to records stored in an original.
Copyright 2003Curt Hill Hash indexes Are they better or worse than a B+Tree?
Optimal Rectangle Packing: A Meta-CSP Approach Chris Reeson Advanced Constraint Processing Fall 2009 By Michael D. Moffitt and Martha E. Pollack, AAAI.
Recursion Lecture 18: Nov 18.
Factoring Polynomials
Branch & Bound Algorithms
Best-First Search: Agendas
Matrices: Inverse Matrix
CPSC 335 Computer Science University of Calgary Canada.
Domineering Solving Large Combinatorial Search Spaces.
Branch and Bound Searching Strategies
Branch and Bound Similar to backtracking in generating a search tree and looking for one or more solutions Different in that the “objective” is constrained.
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
MAE 552 – Heuristic Optimization Lecture 26 April 1, 2002 Topic:Branch and Bound.
Dynamic lot sizing and tool management in automated manufacturing systems M. Selim Aktürk, Siraceddin Önen presented by Zümbül Bulut.
This material in not in your text (except as exercises) Sequence Comparisons –Problems in molecular biology involve finding the minimum number of edit.
Vectors Sections 6.6.
Ch 13 – Backtracking + Branch-and-Bound
Branch and Bound Algorithm for Solving Integer Linear Programming
Copyright © Cengage Learning. All rights reserved. 5 Integrals.
2D Rectangular Packing with LFF and LFF/T Presented by Y. T. Wu.
Chip Planning 1. Introduction Chip Planning:  Deals with large modules with −known areas −fixed/changeable shapes −(possibly fixed locations for some.
1 ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical Verification and.
A tale of 2-dimensional (Guillotine) bin packing Nikhil Bansal (IBM) Andrea Lodi (Univ. of Bologna, Italy) Maxim Sviridenko (IBM)
LIAL HORNSBY SCHNEIDER
10/31/02CSE Greedy Algorithms CSE Algorithms Greedy Algorithms.
TH EDITION LIAL HORNSBY SCHNEIDER COLLEGE ALGEBRA.
1 1.1 © 2012 Pearson Education, Inc. Linear Equations in Linear Algebra SYSTEMS OF LINEAR EQUATIONS.
Systems and Matrices (Chapter5)
Factoring Polynomials
Called as the Interval Scheduling Problem. A simpler version of a class of scheduling problems. – Can add weights. – Can add multiple resources – Can ask.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
{ ln x for 0 < x < 2 x2 ln 2 for 2 < x < 4 If f(x) =
Parallelism and Robotics: The Perfect Marriage By R.Theron,F.J.Blanco,B.Curto,V.Moreno and F.J.Garcia University of Salamanca,Spain Rejitha Anand CMPS.
1 CO Games Development 1 Week 6 Introduction To Pathfinding + Crash and Turn + Breadth-first Search Gareth Bellaby.
Copyright © 2013, 2009, 2005 Pearson Education, Inc. 1 5 Systems and Matrices Copyright © 2013, 2009, 2005 Pearson Education, Inc.
Bus-Driven Floorplanning Hua Xiang*, Xiaoping Tang +, Martin D. F. Wong* * Univ. Of Illinois at Urbana-Champaign + Cadence Design Systems Inc.
Packing Rectangles into Bins Nikhil Bansal (CMU) Joint with Maxim Sviridenko (IBM)
Copyright © Cengage Learning. All rights reserved. 4 Integrals.
State-Space Searches. 2 State spaces A state space consists of A (possibly infinite) set of states The start state represents the initial problem Each.
0 Weight Annealing Heuristics for Solving Bin Packing Problems Kok-Hua Loh University of Maryland Bruce Golden University of Maryland Edward Wasil American.
Hyper-heuristics. 2 Outline Hyper-heuristics Hyper-heuristics for strip packing Hyper-heuristics for Stock forecasting Conclusion.
Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade.
Search CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
4.5 Inverse of a Square Matrix
Area Under the Curve We want to approximate the area between a curve (y=x 2 +1) and the x-axis from x=0 to x=7 We want to approximate the area between.
Chapter 5 Exponents, Polynomials, and Polynomial Functions.
A local search algorithm with repair procedure for the Roadef 2010 challenge Lauri Ahlroth, André Schumacher, Henri Tokola
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
Block Packing: From Puzzle-Solving to Chip Design
Chapter 13 Backtracking Introduction The 3-coloring problem
CSCE350 Algorithms and Data Structure Lecture 21 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
Constraint Programming for the Diameter Constrained Minimum Spanning Tree Problem Thiago F. Noronha Celso C. Ribeiro Andréa C. Santos.
Matrices, Vectors, Determinants.
Section Recursion 2  Recursion – defining an object (or function, algorithm, etc.) in terms of itself.  Recursion can be used to define sequences.
Optimization Problems
Backtracking And Branch And Bound
Backtracking And Branch And Bound
Branch and Bound.
Donghui Zhang, Tian Xia Northeastern University
Divide and Conquer Merge sort and quick sort Binary search
Algorithm Course Algorithms Lecture 3 Sorting Algorithm-1
Presentation transcript:

 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

Problem Overview  Rectangle-packing problem – finding smallest enclosing rectangle that can contain a given rectangles without overlap

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

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

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

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

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

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 , 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

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:

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

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

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

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

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

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

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

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

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 = is presented on the right!

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

Thank you! Time for questions!