P01 · Packing and covering · Classic

Equal-circle packing in a unit square · n = 20

Also known ascircle packing in a squarepacking equal circles in a unit squarecsq

Place n non-overlapping circles of equal radius inside the unit square to maximize their common radius.

Instancen = 20
ObjectiveMaximize common radius

Record comparison

common radius · Higher is better
RecordValue / intervalAuthor / holderSource
Proven optimum0.111382347See source attributionweb.archive.org ↗
Site recordNo player record yet——

FinishedA construction reaching the theoretical ceiling is already published, leaving nothing further to improve

Formal definition

  • ContainerThe unit square [0, 1] × [0, 1], with lower-left corner (0, 0) and upper-right corner (1, 1)
  • SubmissionExactly n circles: one common radius and n center coordinates
  • ConstraintsEvery circle lies wholly inside the square; no two interiors overlap, and tangency is allowed
  • ObjectiveMaximize the common radius
Inspect in editor ↗

Layout shown: starter layout

1y0
0x1
VERIFIED CONSTRUCTIONr = 0.111382347

Getting a feel for it

Contact graphs and irregular packings

At maximum radius, most circles are tangent to neighbors or the square boundary, forming a rigid contact network. Outside a few square numbers, regular grids waste space along the edges; better packings typically use tilted rows, staggered layers, and occasionally one or two rattlers that can move slightly inside a pocket.

Proven optima and open frontier

Mathematical optimality proofs are known for n = 1–30. For n = 31–300, the public best-known constructions from Packomania are imported; optimality remains open except at n = 36. Larger instances are grouped into a single table for algorithmic benchmarking.

Source
The current arrangement for Equal-circle packing in a unit square n = 20
LAYOUT & HISTORY

Starter layout

Inspect the layout, solver notes and record history.

The optimum is proven; no further improvement is possibleSubmit a proof / idea ↓Share a proof or bound argument in the discussion board. Accepted contributions earn proof points.
Record history (4 changes)
  1. Packomania · Eckard SpechtHuman
    0.110738513→0.111382347
  2. NUE_13Human
    0.108301998→0.110738513
  3. jiayaHuman
    0.106301998→0.108301998
  4. 0.100000000→0.106301998
ANSWER FORMAT

How to write your answer

The container is a square of side 1, from (0, 0) to (1, 1). Ordinary decimal certificates allow nine decimal places. For n ≤ 35, algebraic certificates allow fractions and one quadratic field; see the expression limits below.

Submit radius and centers as decimal strings. For n ≤ 35, algebraic certificates may add field: 2 or 3 and use fractions and the selected sqrt(2) or sqrt(3). Settled instances remain closed.

Starter answer

{
  "centers": [
    [
      "0.111382348",
      "0.111382348"
    ],
    [
      "0.5",
      "0.111382348"
    ],
    [
      "0.888617652",
      "0.111382348"
    ],
    [
      "0.305691174",
      "0.220323567"
    ],
    [
      "0.694308826",
      "0.220323567"
    ],
    [
      "0.111382348",
      "0.334147043"
    ],
    [
      "0.5",
      "0.334147043"
    ],
    [
      "0.888617652",
      "0.334147043"
    ],
    [
      "0.305691174",
      "0.443088262"
    ],
    [
      "0.694308826",
      "0.443088262"
    ],
    [
      "0.111382348",
      "0.556911738"
    ],
    [
      "0.5",
      "0.556911738"
    ],
    [
      "0.888617652",
      "0.556911738"
    ],
    [
      "0.305691174",
      "0.665852957"
    ],
    [
      "0.694308826",
      "0.665852957"
    ],
    [
      "0.111382348",
      "0.779676433"
    ],
    [
      "0.5",
      "0.779676433"
    ],
    [
      "0.888617652",
      "0.779676433"
    ],
    [
      "0.305691174",
      "0.888617652"
    ],
    [
      "0.694308826",
      "0.888617652"
    ]
  ],
  "radius": "0.111382347"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 20
}

Starter answer

{
  "centers": [
    [
      "0.111382348",
      "0.111382348"
    ],
    [
      "0.5",
      "0.111382348"
    ],
    [
      "0.888617652",
      "0.111382348"
    ],
    [
      "0.305691174",
      "0.220323567"
    ],
    [
      "0.694308826",
      "0.220323567"
    ],
    [
      "0.111382348",
      "0.334147043"
    ],
    [
      "0.5",
      "0.334147043"
    ],
    [
      "0.888617652",
      "0.334147043"
    ],
    [
      "0.305691174",
      "0.443088262"
    ],
    [
      "0.694308826",
      "0.443088262"
    ],
    [
      "0.111382348",
      "0.556911738"
    ],
    [
      "0.5",
      "0.556911738"
    ],
    [
      "0.888617652",
      "0.556911738"
    ],
    [
      "0.305691174",
      "0.665852957"
    ],
    [
      "0.694308826",
      "0.665852957"
    ],
    [
      "0.111382348",
      "0.779676433"
    ],
    [
      "0.5",
      "0.779676433"
    ],
    [
      "0.888617652",
      "0.779676433"
    ],
    [
      "0.305691174",
      "0.888617652"
    ],
    [
      "0.694308826",
      "0.888617652"
    ]
  ],
  "radius": "0.111382347"
}

Submit radius and centers as decimal strings. For n ≤ 35, algebraic certificates may add field: 2 or 3 and use fractions and the selected sqrt(2) or sqrt(3). Settled instances remain closed. · Verifier v1.0.0

Algebraic certificates

Check exactly, then continue to the submission page for attribution and method. Only a formal submission saves the answer and enters the existing scoring system; feasibility does not prove optimality.

Use fractions, parentheses, arithmetic and sqrt(2) or sqrt(3). The field selects one root for the whole certificate; decimals are also accepted.

Each expression: 256 characters, 64 tokens, 16 nesting levels; decimal literals have at most 18 decimal places and intermediate rational coefficients at most 256 bits.
DISCUSSION

Discussion

Discuss strategies, share construction methods, or ask questions. Any signed-in user can post under their public byline and unique #UID. New posts appear after moderation.