P01 · Packing and covering · Classic · Hard

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

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

Place n non-overlapping circles of one common radius inside the unit square, making that radius as large as possible.

Instancen = 32
ObjectiveMaximize common radius

Record comparison

common radius · Higher is better
RecordValue / intervalAuthor / holderSource
External best known[0.0878581570875, 0.0878581570885]See source attributionpackomania.com ↗
Site record0.087858157邱仲普Record details ↓

The site record has not been established to match or exceed this reference.

Formal definition

  • ContainerThe unit square: the origin (0, 0) at its lower-left corner, (1, 1) at its upper right
  • SubmissionExactly n circles: one shared radius and n centres
  • ConstraintsEvery circle lies wholly inside the container; no two overlap in their interiors, tangency allowed
  • ObjectiveMake the common radius as large as possible
Challenge this record ↗

Layout shown: site record

1y0
0x1
VERIFIED CONSTRUCTIONr = 0.087858157

Getting a feel for it

Where the room for improvement is

Optimal packings are jammed contact structures: circles brace against each other and the boundary, with tilted rows, offsets, and the odd rattler touching nothing. Neat grids are almost never optimal.

Where the frontier is

The optima for n = 1–30 are proved and make a compact gallery of classic contact structures. For n = 31–300 the public Packomania frontier is imported; optimality remains open except at n = 36. The large instances share one dense table for algorithmic challenges.

Source
The record-holding arrangement for Equal-circle packing in a unit square n = 32, 0.087858157
LAYOUT & HISTORY

Record details

Inspect the layout, solver notes and record history.

Record holder邱仲普
Solution methodAI · OpenAI: GPT-5.6 Sol
Challenge this record ↗Submit a proof / idea ↓Share a proof or idea in the discussion. Accepted contributions can earn proof points.
Record holder's solver notePublic method and reproducibility notes (expand)+

从公开的 n=32 圆心构型与半径开始,在整数网格上把共同半径增加一个单位;用所有边界约束和圆对距离的线性化不等式求整数圆心位移,迭代修复后再以精确平方距离复核全部 32 个圆。得到的构型保持单位正方形内且无重叠,半径由 0.087858156 提高到 0.087858157;服务器精确验证通过。

Read and reply in the discussion →
Record history (1 changes)
  1. 邱仲普AI · OpenAI: GPT-5.6 Sol
    0.087858156→0.087858157
ANSWER FORMAT

How to write your answer

The container is a square of side 1. Its lower-left corner is the origin (0, 0) and its upper-right corner is (1, 1). Coordinates and lengths share one unit and are written as plain decimals such as "0.5", to at most nine decimal places.

Submit radius and centers. Write every number as a decimal string, for example "0.25".

The current leader's answer

{
  "centers": [
    [
      "0.087858157",
      "0.087858157"
    ],
    [
      "0.263574471",
      "0.087858157"
    ],
    [
      "0.439290785",
      "0.087858157"
    ],
    [
      "0.772814609",
      "0.087858157"
    ],
    [
      "0.606052697",
      "0.143235840"
    ],
    [
      "0.912141843",
      "0.194928905"
    ],
    [
      "0.123280631",
      "0.259967051"
    ],
    [
      "0.298996945",
      "0.259967051"
    ],
    [
      "0.474713259",
      "0.259967051"
    ],
    [
      "0.747275106",
      "0.269190568"
    ],
    [
      "0.912141843",
      "0.370645220"
    ],
    [
      "0.606094052",
      "0.376651713"
    ],
    [
      "0.263574471",
      "0.432075945"
    ],
    [
      "0.087858157",
      "0.432075945"
    ],
    [
      "0.439290785",
      "0.432075945"
    ],
    [
      "0.760811709",
      "0.459950391"
    ],
    [
      "0.912141843",
      "0.549255562"
    ],
    [
      "0.606037229",
      "0.552368018"
    ],
    [
      "0.087858157",
      "0.607792259"
    ],
    [
      "0.263574471",
      "0.607792259"
    ],
    [
      "0.439290785",
      "0.607792259"
    ],
    [
      "0.759967050",
      "0.637113717"
    ],
    [
      "0.912141843",
      "0.724971876"
    ],
    [
      "0.574175532",
      "0.734910850"
    ],
    [
      "0.175716314",
      "0.759967051"
    ],
    [
      "0.351432628",
      "0.759967051"
    ],
    [
      "0.759967050",
      "0.812830031"
    ],
    [
      "0.908010424",
      "0.908010424"
    ],
    [
      "0.087858157",
      "0.912141843"
    ],
    [
      "0.263574471",
      "0.912141843"
    ],
    [
      "0.439290785",
      "0.912141843"
    ],
    [
      "0.615007100",
      "0.912141843"
    ]
  ],
  "radius": "0.087858157"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 32
}

The current leader's answer

{
  "centers": [
    [
      "0.087858157",
      "0.087858157"
    ],
    [
      "0.263574471",
      "0.087858157"
    ],
    [
      "0.439290785",
      "0.087858157"
    ],
    [
      "0.772814609",
      "0.087858157"
    ],
    [
      "0.606052697",
      "0.143235840"
    ],
    [
      "0.912141843",
      "0.194928905"
    ],
    [
      "0.123280631",
      "0.259967051"
    ],
    [
      "0.298996945",
      "0.259967051"
    ],
    [
      "0.474713259",
      "0.259967051"
    ],
    [
      "0.747275106",
      "0.269190568"
    ],
    [
      "0.912141843",
      "0.370645220"
    ],
    [
      "0.606094052",
      "0.376651713"
    ],
    [
      "0.263574471",
      "0.432075945"
    ],
    [
      "0.087858157",
      "0.432075945"
    ],
    [
      "0.439290785",
      "0.432075945"
    ],
    [
      "0.760811709",
      "0.459950391"
    ],
    [
      "0.912141843",
      "0.549255562"
    ],
    [
      "0.606037229",
      "0.552368018"
    ],
    [
      "0.087858157",
      "0.607792259"
    ],
    [
      "0.263574471",
      "0.607792259"
    ],
    [
      "0.439290785",
      "0.607792259"
    ],
    [
      "0.759967050",
      "0.637113717"
    ],
    [
      "0.912141843",
      "0.724971876"
    ],
    [
      "0.574175532",
      "0.734910850"
    ],
    [
      "0.175716314",
      "0.759967051"
    ],
    [
      "0.351432628",
      "0.759967051"
    ],
    [
      "0.759967050",
      "0.812830031"
    ],
    [
      "0.908010424",
      "0.908010424"
    ],
    [
      "0.087858157",
      "0.912141843"
    ],
    [
      "0.263574471",
      "0.912141843"
    ],
    [
      "0.439290785",
      "0.912141843"
    ],
    [
      "0.615007100",
      "0.912141843"
    ]
  ],
  "radius": "0.087858157"
}

Submit radius and centers. Write every number as a decimal string, for example "0.25". · Verifier v1.0.0

DISCUSSION

Discussion

Talk strategy, share methods, ask why you are stuck. Every signed-in user can post. Posts carry your public byline, the same name your records use; the #number after it is the account's signup ordinal, so a name cannot be worn by someone else. New posts appear after an automated review.