[Math] Pack rectangular objects of different sizes in a fixed size rectangle

algorithmsgeometrypacking-problem

If this has been asked before, please help me find it, I have scoured Math.stackexchange and have found quite similar questions but not exactly what I am looking for.

I have a rectangular space.

I also have a number of rectangle objects.

I want to find an algorithm that will try to fit all the objects in the rectangle and if this is not possible I want to know that so that I can show an error message.

This is for a computer program that I am working with to place images on a sheet of paper so that I can print them. The idea is to waste as little paper as possible.

Edit: Found this one which was a very interesting read: http://cgi.csc.liv.ac.uk/~epa/surveyhtml.html

Makes me realise that there really is not a simple answer to this problem

Best Answer

I have bad news.

Even a restricted problem where the space to fit has height $2$ and have to be filled tightly, objects are distinct rectangles of height $1$ and integer lengths, and in the placement all rectangles are axially aligned, is $NP$-hard. This is because it is equivalent to the Set Partition Problem. This problem takes as an input a set $S$ of natural numbers and the question is whether it can be partitioned into two sets $A$ and $S\setminus A$ such that $\sum_{x\in A} x=\sum_{x\in S\setminus A}$. It is $NP$-Complete (see, for instance, [N]).

When rotations and translation are allowed, the problem is strongly NP-hard and it is even not known whether it is in NP, because it is complicated to encode rotations efficiently (see [D, Sec. 2.2]).

References

[D] 6.890. Class 2 Scribe Notes. Notetakers: Jason Ku, Chelsea Voss Instructor: Erik Demaine 2014-09-09.

[N] Marvin Nakayama. *CS 341: Foundations of Computer Science II. Homework 13 Solutions.

Related Question