Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Packing problems
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Problems which attempt to find the most efficient way to pack objects into containers}} {{about|geometric packing problems|numerical packing problems|Knapsack problem}} [[File:Seissand.png|thumb|[[Sphere]]s or [[circle]]s packed loosely (top) and more densely (bottom)]] {{Covering/packing-problem pairs}} {{Puzzles |topics}} '''Packing problems''' are a class of [[optimization problem]]s in [[mathematics]] that involve attempting to pack objects together into containers. The goal is to either pack a single container as [[Packing density|densely]] as possible or pack all objects using as few containers as possible. Many of these problems can be related to real-life [[packaging]], storage and transportation issues. Each packing problem has a dual [[covering problem]], which asks how many of the same objects are required to completely cover every region of the container, where objects are allowed to overlap. In a [[bin packing problem]], people are given: * A ''container'', usually a two- or three-dimensional [[convex region]], possibly of infinite size. Multiple containers may be given depending on the problem. * A set of ''objects'', some or all of which must be packed into one or more containers. The set may contain different objects with their sizes specified, or a single object of a fixed dimension that can be used repeatedly. Usually the packing must be without overlaps between goods and other goods or the container walls. In some variants, the aim is to find the configuration that packs a single container with the maximal [[packing density]]. More commonly, the aim is to pack all the objects into as few containers as possible.<ref>{{cite journal|author=Lodi, A. |author2=Martello, S. |author3=Monaci, M. |title = Two-dimensional packing problems: A survey| journal = European Journal of Operational Research|year = 2002|publisher = Elsevier|doi=10.1016/s0377-2217(02)00123-6|volume=141|issue = 2|pages=241–252}}</ref> In some variants the overlapping (of objects with each other and/or with the boundary of the container) is allowed but should be minimized. ==Packing in infinite space== Many of these problems, when the container size is increased in all directions, become equivalent to the problem of packing objects as densely as possible in infinite [[Euclidean space]]. This problem is relevant to a number of scientific disciplines, and has received significant attention. The [[Kepler conjecture]] postulated an optimal solution for [[sphere packing|packing spheres]] hundreds of years before it was [[mathematical proof|proven]] correct by [[Thomas Callister Hales]]. Many other shapes have received attention, including ellipsoids,<ref>{{Cite journal | last1 = Donev | first1 = A. | last2 = Stillinger | first2 = F. | last3 = Chaikin | first3 = P. | last4 = Torquato | first4 = S. | title = Unusually Dense Crystal Packings of Ellipsoids | doi = 10.1103/PhysRevLett.92.255506 | journal = Physical Review Letters | volume = 92 | issue = 25 | year = 2004 | pmid = 15245027|arxiv = cond-mat/0403286 |bibcode = 2004PhRvL..92y5506D | page=255506| s2cid = 7982407 }}</ref> [[Platonic solid|Platonic]] and [[Archimedean solid]]s<ref name="Torquato"/> including [[tetrahedron packing|tetrahedra]],<ref>{{Cite journal | doi = 10.1038/nature08641 | last1 = Haji-Akbari | first1 = A. | last2 = Engel | first2 = M. | last3 = Keys | first3 = A. S. | last4 = Zheng | pmid = 20010683 | first4 = X. | last5 = Petschek | first5 = R. G. | last6 = Palffy-Muhoray | first6 = P. | last7 = Glotzer | first7 = S. C. | title = Disordered, quasicrystalline and crystalline phases of densely packed tetrahedra | year = 2009 | journal = Nature | volume = 462 | issue = 7274 | pages = 773–777 |bibcode = 2009Natur.462..773H |arxiv = 1012.5138 | s2cid = 4412674 }}</ref><ref>{{Cite journal | last1 = Chen | first1 = E. R. | last2 = Engel | first2 = M. | last3 = Glotzer | first3 = S. C. | title = Dense Crystalline Dimer Packings of Regular Tetrahedra | journal = [[Discrete & Computational Geometry]] | volume = 44 | issue = 2 | pages = 253–280 | year = 2010 | doi = 10.1007/s00454-010-9273-0| doi-access=free | arxiv = 1001.0586 | bibcode = 2010arXiv1001.0586C | s2cid = 18523116 }}</ref> [[Tripod packing|tripods]] (unions of [[cube]]s along three positive axis-parallel rays),<ref>{{citation|last=Stein|first=Sherman K.|author-link= Sherman K. Stein |date=March 1995|department=Mathematical entertainments|doi=10.1007/bf03024896|issue=2|journal=[[The Mathematical Intelligencer]]|pages=37–39|title=Packing tripods|volume=17|s2cid=124703268}}. Reprinted in {{citation|last=Gale|first=David|editor1-first=David|editor1-last=Gale|doi=10.1007/978-1-4612-2192-0|isbn=0-387-98272-8|mr=1661863|pages=131–136|publisher=Springer-Verlag|title=Tracking the Automatic ANT|year=1998}}</ref> and unequal-sphere dimers.<ref>{{Cite journal | last1 = Hudson | first1 = T. S. | last2 = Harrowell | first2 = P. | doi = 10.1088/0953-8984/23/19/194103 | pmid = 21525553 | title = Structural searches using isopointal sets as generators: Densest packings for binary hard sphere mixtures | journal = Journal of Physics: Condensed Matter | volume = 23 | issue = 19 | page = 194103 | year = 2011 | bibcode = 2011JPCM...23s4103H | s2cid = 25505460 }}</ref> ===Hexagonal packing of circles=== [[File:Circle packing (hexagonal).svg|thumb|right|The hexagonal packing of circles on a 2-dimensional Euclidean plane.]] These problems are mathematically distinct from the ideas in the [[circle packing theorem]]. The related [[circle packing]] problem deals with packing [[circle]]s, possibly of different sizes, on a surface, for instance the [[plane (geometry)|plane]] or a [[sphere]]. The [[N-sphere|counterparts of a circle]] in other dimensions can never be packed with complete efficiency in [[dimension]]s larger than one (in a one-dimensional universe, the circle analogue is just two points). That is, there will always be unused space if people are only packing circles. The most efficient way of packing circles, [[Circle packing|hexagonal packing]], produces approximately 91% efficiency.<ref>{{Cite web | url=http://mathworld.wolfram.com/CirclePacking.html |title = Circle Packing}}</ref> ===Sphere packings in higher dimensions=== {{Main|Sphere packing}} In three dimensions, [[Close-packing of spheres|close-packed]] structures offer the best ''lattice'' packing of spheres, and is believed to be the optimal of all packings. With 'simple' sphere packings in three dimensions ('simple' being carefully defined) there are nine possible definable packings.<ref>{{cite journal | last1 = Smalley | first1 = I.J. | year = 1963 | title = Simple regular sphere packings in three dimensions | journal = Mathematics Magazine | volume = 36 | issue = 5| pages = 295–299 | doi = 10.2307/2688954 | jstor = 2688954 }}</ref> The 8-dimensional [[E8 lattice]] and 24-dimensional [[Leech lattice]] have also been proven to be optimal in their respective real dimensional space. ===Packings of Platonic solids in three dimensions=== Cubes can easily be arranged to fill three-dimensional space completely, the most natural packing being the [[cubic honeycomb]]. No other [[Platonic solid]] can tile space on its own, but some preliminary results are known. [[Tetrahedra]] can achieve a packing of at least 85%. One of the best packings of regular [[dodecahedron|dodecahedra]] is based on the aforementioned face-centered cubic (FCC) lattice. Tetrahedra and [[octahedra]] together can fill all of space in an arrangement known as the [[tetrahedral-octahedral honeycomb]]. {| class="wikitable" |- ! Solid ! Optimal density of a lattice packing |- | [[icosahedron]] | 0.836357...<ref name="Betke">{{cite journal|last1=Betke|first1=Ulrich|last2=Henk|first2=Martin|doi=10.1016/S0925-7721(00)00007-9|doi-access=free|issue=3|journal=[[Computational Geometry (journal)|Computational Geometry]]|mr=1765181|pages=157–186|title=Densest lattice packings of 3-polytopes|volume=16|year=2000|arxiv=math/9909172|s2cid=12118403}}</ref> |- | dodecahedron | {{math|1=(5 + {{sqrt|5}})/8 = 0.904508...}}<ref name="Betke"/> |- | octahedron | 18/19 = 0.947368...<ref>Minkowski, H. Dichteste gitterförmige Lagerung kongruenter Körper. ''Nachr. Akad. Wiss. Göttingen Math. Phys. KI. II'' 311–355 (1904).</ref> |} Simulations combining local improvement methods with random packings suggest that the lattice packings for icosahedra, dodecahedra, and octahedra are optimal in the broader class of all packings.<ref name="Torquato">{{Cite journal| first1 = S. | first2 = Y.| last2 = Jiao| title = Dense packings of the Platonic and Archimedean solids| volume = 460| last1 = Torquato| journal = Nature| issue = 7257| pages = 876–879| date=Aug 2009 | issn = 0028-0836| pmid = 19675649| doi = 10.1038/nature08239|bibcode = 2009Natur.460..876T |arxiv = 0908.4107 | s2cid = 52819935}}</ref> ==Packing in 3-dimensional containers== [[File:9L cube puzzle solution.svg|thumb|right|Packing nine L tricubes into a cube]] === Different cuboids into a cuboid === Determine the minimum number of [[cuboid]] containers (bins) that are required to pack a given set of item cuboids. The rectangular cuboids to be packed can be rotated by 90 degrees on each axis. ===Spheres into a Euclidean ball=== {{main article|Sphere packing in a sphere}} The problem of finding the smallest ball such that {{mvar|k}} [[disjoint sets|disjoint]] open [[unit ball]]s may be packed inside it has a simple and complete answer in {{mvar|n}}-dimensional Euclidean space if <math>k \leq n+1</math>, and in an infinite-dimensional [[Hilbert space]] with no restrictions. It is worth describing in detail here, to give a flavor of the general problem. In this case, a configuration of {{mvar|k}} pairwise [[Tangent#Tangent circles|tangent]] unit balls is available. People place the centers at the vertices <math>a_1, \dots, a_k</math> of a regular <math>(k-1)</math> dimensional [[simplex]] with edge 2; this is easily realized starting from an [[orthonormal basis]]. A small computation shows that the distance of each vertex from the barycenter is <math display="inline">\sqrt{2\big(1-\frac{1}{k} \big)}</math>. Moreover, any other point of the space necessarily has a larger distance from ''at least'' one of the {{mvar|k}} vertices. In terms of inclusions of balls, the {{mvar|k}} open unit balls centered at <math>a_1, \dots, a_k</math> are included in a ball of radius <math display="inline"> r_k := 1+\sqrt{2\big(1-\frac{1}{k}\big)}</math>, which is minimal for this configuration. To show that this configuration is optimal, let <math>x_1, \dots, x_k</math> be the centers of {{mvar|k}} disjoint open unit balls contained in a ball of radius {{mvar|r}} centered at a point <math>x_0</math>. Consider the [[function (mathematics)|map]] from the finite set <math>\{x_1,\dots,x_k\}</math> into <math>\{a_1,\dots,a_k\}</math> taking <math>x_j</math> in the corresponding <math>a_j</math> for each <math>1 \leq j \leq k</math>. Since for all <math>1 \leq i < j \leq k</math>, <math>\|a_i-a_j\| = 2\leq\|x_i-x_j\|</math> this map is 1-[[Lipschitz continuity|Lipschitz]] and by the [[Kirszbraun theorem]] it extends to a 1-Lipschitz map that is globally defined; in particular, there exists a point <math>a_0</math> such that for all <math>1\leq j\leq k</math> one has <math>\|a_0-a_j\| \leq \|x_0-x_j\|</math>, so that also <math>r_k\leq 1+\|a_0-a_j\|\leq 1+\|x_0-x_j\| \leq r</math>. This shows that there are {{mvar|k}} disjoint unit open balls in a ball of radius {{mvar|r}} [[if and only if]] <math>r \geq r_k</math>. Notice that in an infinite-dimensional Hilbert space this implies that there are infinitely many disjoint open unit balls inside a ball of radius {{mvar|r}} if and only if <math>r\geq 1+\sqrt{2}</math>. For instance, the unit balls centered at <math>\sqrt{2}e_j</math>, where <math>\{e_j\}_j</math> is an orthonormal basis, are disjoint and included in a ball of radius <math>1 + \sqrt{2}</math> centered at the origin. Moreover, for <math>r < 1 + \sqrt{2}</math>, the maximum number of disjoint open unit balls inside a ball of radius {{mvar|r}} is <math display="block">\left\lfloor \frac{2}{2-(r-1)^2}\right\rfloor.</math> ===Spheres in a cuboid=== {{See also|Sphere packing in a cube}} People determine the number of spherical objects of given diameter {{mvar|d}} that can be packed into a cuboid of size <math>a \times b \times c</math>. ===Identical spheres in a cylinder=== {{main article|Sphere packing in a cylinder}} People determine the minimum height {{mvar|h}} of a [[cylinder]] with given radius {{mvar|R}} that will pack {{mvar|n}} identical spheres of radius {{math|''r'' (< ''R'')}}.<ref>{{Cite journal | doi = 10.1111/j.1475-3995.2009.00733.x| title = Packing identical spheres into a cylinder| journal = International Transactions in Operational Research| volume = 17| pages = 51–70| year = 2010| last1 = Stoyan | first1 = Y. G. | last2 = Yaskov | first2 = G. N.}}</ref> For a small radius {{mvar|R}} the spheres arrange to ordered structures, called [[Columnar structure|columnar structures]]. ===Polyhedra in spheres=== People determine the minimum radius {{mvar|R}} that will pack {{mvar|n}} identical, unit [[volume]] [[polyhedra]] of a given shape.<ref>{{Cite journal | doi = 10.1073/pnas.1524875113 | pmid = 26811458 | title = Clusters of Polyhedra in Spherical Confinement | journal = Proc. Natl. Acad. Sci. U.S.A. | volume = 113 | issue = 6 | pages = E669–E678 | year = 2016 | last1 = Teich | first1 = E.G. | last2 = van Anders | first2 = G. | last3 = Klotsa | first3 = D. | last4 = Dshemuchadse | first4 = J. | last5 = Glotzer | first5 = S.C.| pmc = 4760782 | bibcode = 2016PNAS..113E.669T | doi-access = free }}</ref> ==Packing in 2-dimensional containers== [[Image:Disk pack10.svg|thumb|120px|right|The optimal packing of 10 circles in a circle]]Many variants of 2-dimensional packing problems have been studied. === Packing of circles === {{main article|Circle packing}} People are given {{mvar|n}} [[unit circle]]s, and have to pack them in the smallest possible container. Several kinds of containers have been studied: * [[Circle packing in a circle|Packing circles in a '''circle''']] - closely related to spreading points in a unit circle with the objective of finding the greatest minimal separation, {{mvar|d{{sub|n}}}}, between points. Optimal solutions have been proven for {{math|''n'' ≤ 13}}, and {{math|1=''n'' = 19}}. * [[Circle packing in a square|Packing circles in a '''square''']] - closely related to spreading points in a unit square with the objective of finding the greatest minimal separation, {{mvar|d{{sub|n}}}}, between points. To convert between these two formulations of the problem, the square side for unit circles will be <math>L = 2 + 2/d_n</math>. [[File:15 circles in a square.svg|thumb|120px|right|The optimal packing of 15 circles in a square]]Optimal solutions have been proven for {{math|''n'' ≤ 30}}. * [[Circle packing in a rectangle|Packing circles in a '''rectangle''']] * [[Circle packing in an isosceles right triangle|Packing circles in an '''isosceles right triangle''']] - good estimates are known for {{math|''n'' < 300}}. * [[Circle packing in an equilateral triangle|Packing circles in an '''equilateral triangle''']] - Optimal solutions are known for {{math|''n'' < 13}}, and [[conjecture]]s are available for {{math|''n'' < 28}}.<ref>{{Cite journal | last1 = Melissen | first1 = J. | title = Packing 16, 17 or 18 circles in an equilateral triangle | journal = Discrete Mathematics | volume = 145 | issue = 1–3 | pages = 333–342 | year = 1995 | doi = 10.1016/0012-365X(95)90139-C| url = https://research.utwente.nl/en/publications/packing-16-17-of-18-circles-in-an-equilateral-triangle(b2172f19-9654-4ff1-9af4-59da1b6bef3d).html | doi-access = free }}</ref> {{Anchor|Packing squares}} === Packing of squares === {{main|Square packing}} People are given {{mvar|n}} [[unit square]]s and have to pack them into the smallest possible container, where the container type varies: * [[Square packing in a square|Packing squares in a '''square''']]: Optimal solutions have been proven for {{mvar|n}} from 1-10, 14-16, 22-25, 33-36, 62-64, 79-81, 98-100, and any [[square number|square]] [[integer]]. The wasted space is asymptotically {{math|[[Big O notation|O]](''a''{{sup|3/5}})}}. * [[Square packing in a circle|Packing squares in a '''circle''']]: Good solutions are known for {{math|''n'' ≤ 35}}.[[Image:10 kvadratoj en kvadrato.svg|thumb|120px|right|The optimal packing of 10 squares in a square]] ===Packing of rectangles=== {{main article|Rectangle packing}} * '''Packing identical rectangles in a rectangle''': The problem of packing multiple instances of a single [[rectangle]] of size {{math|(''l'',''w'')}}, allowing for 90° rotation, in a bigger rectangle of size {{math|(''L'',''W'' )}} has some applications such as loading of boxes on pallets and, specifically, [[woodpulp]] stowage. For example, it is possible to pack 147 rectangles of size (137,95) in a rectangle of size (1600,1230). * '''Packing different rectangles in a rectangle''': The problem of packing multiple rectangles of varying widths and heights in an enclosing rectangle of minimum [[area]] (but with no boundaries on the enclosing rectangle's width or height) has an important application in combining images into a single larger image. A web page that loads a single larger image often renders faster in the browser than the same page loading multiple small images, due to the overhead involved in requesting each image from the web server. The problem is [[NP-complete]] in general, but there are fast algorithms for solving small instances. ==Related fields== In tiling or [[tessellation]] problems, there are to be no gaps, nor overlaps. Many of the puzzles of this type involve packing rectangles or [[polyomino]]es into a larger rectangle or other square-like shape. There are significant [[theorem]]s on tiling rectangles (and cuboids) in rectangles (cuboids) with no gaps or overlaps: :An ''a'' × ''b'' rectangle can be packed with 1 × ''n'' strips if and only if ''n'' divides ''a'' or ''n'' divides ''b''.<ref name="Gems2">{{cite book | title = Mathematical Gems II | last1 = Honsberger | first1 = Ross | year = 1976 | publisher = [[The Mathematical Association of America]] | isbn = 0-88385-302-7 | page = 67 }}</ref><ref name="Klarner">{{cite journal | title = Uniformly coloured stained glass windows | journal = Proceedings of the London Mathematical Society |series = 3 | volume = 23 | issue = 4 | pages = 613–628 | last1 = Klarner | first1 = D.A. | last2 = Hautus | first2 = M.L.J | author-link1 = David A. Klarner | year = 1971 | doi = 10.1112/plms/s3-23.4.613 }}</ref> :[[de Bruijn's theorem]]: A box can be packed with a [[harmonic brick]] ''a'' × ''a b'' × ''a b c'' if the box has dimensions ''a p'' × ''a b q'' × ''a b c r'' for some [[natural number]]s ''p'', ''q'', ''r'' (i.e., the box is a multiple of the brick.)<ref name="Gems2"/> The study of polyomino tilings largely concerns two classes of problems: to tile a rectangle with [[congruence (geometry)|congruent]] tiles, and to pack one of each ''n''-omino into a rectangle. A classic puzzle of the second kind is to arrange all twelve [[pentomino]]es into rectangles sized 3×20, 4×15, 5×12 or 6×10. ==Packing of irregular objects== Packing of irregular objects is a problem not lending itself well to closed form solutions; however, the applicability to practical environmental science is quite important. For example, irregularly shaped soil particles pack differently as the sizes and shapes vary, leading to important outcomes for plant species to adapt root formations and to allow water movement in the soil.<ref>C.Michael Hogan. 2010. [http://www.eoearth.org/article/Abiotic_factor?topic=49461 ''Abiotic factor''. Encyclopedia of Earth. eds Emily Monosson and C. Cleveland. National Council for Science and the Environment]. Washington DC</ref> The problem of deciding whether a given set of [[polygon]]s can fit in a given square container has been shown to be complete for the [[existential theory of the reals]].<ref>{{citation | last1 = Abrahamsen | first1 = Mikkel | last2 = Miltzow | first2 = Tillmann | last3 = Nadja | first3 = Seiferth | arxiv = 2004.07558 | title = Framework for <math>\exists\mathbb{R}</math>-Completeness of Two-Dimensional Packing Problems | year = 2020}}.</ref> ==See also== * [[Bin packing problem]] * [[Close-packing of equal spheres]] * [[Conway puzzle]] * [[Covering problem]] * [[Cutting stock problem]] * [[Ellipsoid packing]] * [[Kissing number problem]] * [[Knapsack problem]] * [[Random close pack]] * [[Set packing]] * [[Slothouber–Graatsma puzzle]] * [[Strip packing problem]] * [[Tetrahedron packing]] * [[Tetris]] ==Notes== {{reflist|30em}} ==References== * {{mathworld|urlname=KlarnersTheorem|title=Klarner's Theorem}} * {{mathworld|urlname=deBruijnsTheorem|title=de Bruijn's Theorem}} ==External links== {{Commons category}} * [https://web.archive.org/web/20190303205438/http://pdfs.semanticscholar.org/bb99/86af2f26f7726fcef1bc684eac8239c9b853.pdf Optimizing Three-Dimensional Bin Packing] Many puzzle books as well as mathematical journals contain articles on packing problems. * [http://mathworld.wolfram.com/Packing.html Links to various MathWorld articles on packing] * [http://mathworld.wolfram.com/SquarePacking.html MathWorld notes on packing squares.] * [https://erich-friedman.github.io/packing/index.html Erich's Packing Center] * [http://www.packomania.com/ www.packomania.com] A site with tables, graphs, calculators, references, etc. * [http://demonstrations.wolfram.com/BoxPacking/ "Box Packing"] by [[Ed Pegg, Jr.]], the [[Wolfram Demonstrations Project]], 2007. * [http://hydra.nat.uni-magdeburg.de/packing/cci/cci.html#overview Best known packings of equal circles in a circle, up to 1100] {{Use dmy dates|date=September 2019}} * [http://apmonitor.com/me575/index.php/Main/CircleChallenge Circle packing challenge problem in Python] {{Packing problem}} [[Category:Packing problems| ]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:About
(
edit
)
Template:Anchor
(
edit
)
Template:Citation
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite web
(
edit
)
Template:Commons category
(
edit
)
Template:Covering/packing-problem pairs
(
edit
)
Template:Main
(
edit
)
Template:Main article
(
edit
)
Template:Math
(
edit
)
Template:Mathworld
(
edit
)
Template:Mvar
(
edit
)
Template:Packing problem
(
edit
)
Template:Puzzles
(
edit
)
Template:Reflist
(
edit
)
Template:See also
(
edit
)
Template:Short description
(
edit
)
Template:Use dmy dates
(
edit
)