Split Packing: Algorithms for Packing Circles with Optimal Worst-Case Density
Abstract
In the classic circle packing problem, one asks whether a given set of circles can be packed into a given container. Packing problems like this have been shown to be $\mathsf{NP}$-hard. In this paper, we present new sufficient conditions for packing circles into square and triangular containers, using only the sum of the circles' areas: For square containers, it is possible to pack any set of circles with a combined area of up to approximately 53.90% of the square's area. And when the container is a right or obtuse triangle, any set of circles whose combined area does not exceed the triangle's incircle can be packed. These area conditions are tight, in the sense that for any larger areas, there are sets of circles which cannot be packed. Similar results have long been known for squares, but to the best of our knowledge, we give the first results of this type for circular objects. Our proofs are constructive: We describe a versatile, divide-and-conquer-based algorithm for packing circles into various container shapes with optimal worst-case density. It employs an elegant subdivision scheme that recursively splits the circles into two groups and then packs these into subcontainers. We call this algorithm "Split Packing". It can be used as a constant-factor approximation algorithm when looking for the smallest container in which a given set of circles can be packed, due to its polynomial runtime. A browser-based, interactive visualization of the Split Packing approach and other related material can be found at https://morr.cc/split-packing/
- Publication:
-
arXiv e-prints
- Pub Date:
- May 2017
- DOI:
- 10.48550/arXiv.1705.00924
- arXiv:
- arXiv:1705.00924
- Bibcode:
- 2017arXiv170500924F
- Keywords:
-
- Computer Science - Computational Geometry
- E-Print:
- 36 pages, 34 figures