Multiple translational containment part II: Exact algorithms

V. Milenkovic

Research output: Contribution to journalArticlepeer-review

18 Scopus citations


We present exact algorithms for finding a solution to the two-dimensional translational containment problem: find translations for k polygons which place them inside a polygonal container without overlapping. The term kCN denotes the version in which the polygons are convex and the container is non-convex, and the term kNN denotes the version in which the polygons and the container are nonconvex. The notation (r, k)CN, (r, k)NN, and so forth refers to the problem of finding all subsets of size k out of r objects that can be placed in a container. The polygons have up to m vertices, and the container has n vertices, where n is usually much larger than m. We present exact algorithms for the following: 2CN in O(mn log n) time, (r, 2)CN in O(r2m log n) time (for r ≫), 3CN in O(m3n log n) time, kCN in O(m2knk log n) or O((mn)k+1) time, and kNN in O((mn)2k+1LP(2k, 2k(2k + 1)mn + k(k - 1)m2)) time, where LP(a, b) is the time to solve a linear program with a variables and b constraints. All these results are improvements on previously known running times except for the last. The algorithm for kNN is slower asymptotically than the naive O((mn)2k log n) algorithm, but is expected to be much faster in practice. The algorithm for 2CN is based on the use of separating line orientations as a means of characterizing the solution. The solution to 3CN also uses a separating line orientation characterization leading to a simple and robust "carrousel" algorithm. The kCN algorithm uses the idea of disassembling the layout to the left. Finally, the kNN algorithm uses the concept of subdivision trees and linear programming.

Original languageEnglish (US)
Pages (from-to)183-218
Number of pages36
JournalAlgorithmica (New York)
Issue number1
StatePublished - Jan 1 1997


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

ASJC Scopus subject areas

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


Dive into the research topics of 'Multiple translational containment part II: Exact algorithms'. Together they form a unique fingerprint.

Cite this