Multiple translational containment part I: An approximate algorithm

K. Daniels, V. J. Milenkovic

Research output: Contribution to journalArticlepeer-review

28 Scopus citations


We present an algorithm for finding a solution to the two-dimensional translational approximate multiple containment problem: find translations for k polygons which place them inside a polygonal container so that no point of any polygon is more than 2ε inside of the boundary of any other polygon. The polygons and container may be nonconvex. The value of ε is an input to the algorithm. In industrial applications the containment solution acts as a guide to a machine cutting out polygonal shapes from a sheet of material. If ε is chosen to be a fraction of the cutter's accuracy, then the solution to the approximate containment problem is sufficient for industrial purposes. Given a containment problem, we characterize its solution and create a collection of containment sub-problems from this characterization. We solve each subproblem by first restricting certain two-dimensional configuration spaces until a steady state is reached, and then testing for a solution inside the configuration spaces. If necessary, we subdivide the configuration spaces to generate new subproblems. The running time of our algorithm is O((1/ε)k log(1/ε)k6,s log s), where s is the largest number of vertices of any polygon generated by a restriction operation. In the worst case s can be exponential in the size of the input, but, in practice, it is usually not more than quadratic.

Original languageEnglish (US)
Pages (from-to)148-182
Number of pages35
JournalAlgorithmica (New York)
Issue number1
StatePublished - Jan 1 1997


  • Approximation
  • Computational geometry
  • Containment
  • Layout
  • Marker making
  • Nesting
  • Packing

ASJC Scopus subject areas

  • Computer Science(all)
  • Computer Science Applications
  • Applied Mathematics


Dive into the research topics of 'Multiple translational containment part I: An approximate algorithm'. Together they form a unique fingerprint.

Cite this