P01 · Packing and covering · Classic

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

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 = 22
ObjectiveMaximize common radius

Record comparison

common radius · Higher is better
RecordValue / intervalAuthor / holderSource
Proven optimum0.105665296See 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.105665296

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 = 22
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.
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.105665297",
      "0.105665297"
    ],
    [
      "0.31699589",
      "0.105665297"
    ],
    [
      "0.528326484",
      "0.105665297"
    ],
    [
      "0.894334703",
      "0.105665297"
    ],
    [
      "0.711330594",
      "0.211354064"
    ],
    [
      "0.105665297",
      "0.31699589"
    ],
    [
      "0.31699589",
      "0.31699589"
    ],
    [
      "0.528326479",
      "0.317042823"
    ],
    [
      "0.894334703",
      "0.317042832"
    ],
    [
      "0.711330588",
      "0.42273159"
    ],
    [
      "0.317042823",
      "0.528326479"
    ],
    [
      "0.105665297",
      "0.528326484"
    ],
    [
      "0.894334703",
      "0.528420349"
    ],
    [
      "0.528373344",
      "0.528501465"
    ],
    [
      "0.681393963",
      "0.681393963"
    ],
    [
      "0.211354064",
      "0.711330594"
    ],
    [
      "0.427974042",
      "0.714460063"
    ],
    [
      "0.894334703",
      "0.739750942"
    ],
    [
      "0.105665297",
      "0.894334703"
    ],
    [
      "0.317042832",
      "0.894334703"
    ],
    [
      "0.538905253",
      "0.894334703"
    ],
    [
      "0.750235846",
      "0.894334703"
    ]
  ],
  "radius": "0.105665296"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 22
}

Starter answer

{
  "centers": [
    [
      "0.105665297",
      "0.105665297"
    ],
    [
      "0.31699589",
      "0.105665297"
    ],
    [
      "0.528326484",
      "0.105665297"
    ],
    [
      "0.894334703",
      "0.105665297"
    ],
    [
      "0.711330594",
      "0.211354064"
    ],
    [
      "0.105665297",
      "0.31699589"
    ],
    [
      "0.31699589",
      "0.31699589"
    ],
    [
      "0.528326479",
      "0.317042823"
    ],
    [
      "0.894334703",
      "0.317042832"
    ],
    [
      "0.711330588",
      "0.42273159"
    ],
    [
      "0.317042823",
      "0.528326479"
    ],
    [
      "0.105665297",
      "0.528326484"
    ],
    [
      "0.894334703",
      "0.528420349"
    ],
    [
      "0.528373344",
      "0.528501465"
    ],
    [
      "0.681393963",
      "0.681393963"
    ],
    [
      "0.211354064",
      "0.711330594"
    ],
    [
      "0.427974042",
      "0.714460063"
    ],
    [
      "0.894334703",
      "0.739750942"
    ],
    [
      "0.105665297",
      "0.894334703"
    ],
    [
      "0.317042832",
      "0.894334703"
    ],
    [
      "0.538905253",
      "0.894334703"
    ],
    [
      "0.750235846",
      "0.894334703"
    ]
  ],
  "radius": "0.105665296"
}

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.