Log In Sign Up

Optimal Rectangle Packing: An Absolute Placement Approach

by   Eric Huang, et al.

We consider the problem of finding all enclosing rectangles of minimum area that can contain a given set of rectangles without overlap. Our rectangle packer chooses the x-coordinates of all the rectangles before any of the y-coordinates. We then transform the problem into a perfect-packing problem with no empty space by adding additional rectangles. To determine the y-coordinates, we branch on the different rectangles that can be placed in each empty position. Our packer allows us to extend the known solutions for a consecutive-square benchmark from 27 to 32 squares. We also introduce three new benchmarks, avoiding properties that make a benchmark easy, such as rectangles with shared dimensions. Our third benchmark consists of rectangles of increasingly high precision. To pack them efficiently, we limit the rectangles coordinates and the bounding box dimensions to the set of subset sums of the rectangles dimensions. Overall, our algorithms represent the current state-of-the-art for this problem, outperforming other algorithms by orders of magnitude, depending on the benchmark.


page 2

page 7

page 28

page 31


Tiling with Squares and Packing Dominos in Polynomial Time

We consider planar tiling and packing problems with polyomino pieces and...

Reducing Moser's Square Packing Problem to a Bounded Number of Squares

The problem widely known as Moser's Square Packing Problem asks for the ...

Packing 2D disks into a 3D container

In this article, we consider the problem of finding in three dimensions ...

Bin Completion Algorithms for Multicontainer Packing, Knapsack, and Covering Problems

Many combinatorial optimization problems such as the bin packing and mul...

Online Packing to Minimize Area or Perimeter

We consider online packing problems where we get a stream of axis-parall...

Coordinate descent heuristics for the irregular strip packing problem of rasterized shapes

We consider the irregular strip packing problem of rasterized shapes, wh...

Detecting Small, Densely Distributed Objects with Filter-Amplifier Networks and Loss Boosting

Detecting small, densely distributed objects is a significant challenge:...

Code Repositories


ZeroSprites is a CSS sprites generator aimed at area minimization using VLSI floorplaning algorithms.

view repo


Python 2D rectangle packing library

view repo


This code implements Huang and Korf's (2008, 2009, 2010, 2011) optimal rectangle packer. It also implements Korf's (2003, 2004) and Korf et al.'s (2009) optimal rectangle packer.

view repo