P02 · Packing and covering · Classic · Weak baseline · Hard

Equal-circle packing in a unit circle · n = 40

Also known ascircles in a circlepacking equal circles in a circlecci

Place n non-overlapping circles of one common radius inside a circle of radius 1, making that radius as large as possible.

Instancen = 40
ObjectiveMaximize common radius

Record comparison

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

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

Formal definition

  • ContainerA circle of radius 1 centred at (1, 1), so both coordinates run from 0 to 2
  • 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

2y0
0x2
VERIFIED CONSTRUCTIONr = 0.140373604

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..14 and 19 are proved; optimality remains open for the other sizes. This site imports Packomania's public constructions through n = 300 and presents the algorithm-scale cases in one table.

Source
The record-holding arrangement for Equal-circle packing in a unit circle n = 40, 0.140373604
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)+

取 Packomania cci40 的公开高精度圆心及 r=0.140373604202714704755923179430,目标设为 T=0.140373604。先将所有中心向量乘 s=(1-T)/(1-r)=1.0000000002358171435901113,再整体旋转 theta=2*pi*frac(234*0.6180339887498948482045868343656)=3.8952818896579631,最后平移到圆心 (1,1)。每个坐标只在 floor/ceil 两个 1e-9 格点间选择,用 0-1 线性模型联合满足分离与容器约束;直接四舍五入及未缩放的旋转扫描均只能平纪录。最终严格整数复算:radius_int=140373604,最小外边界平方余量 63134190,最小圆对平方余量 1705941。

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

How to write your answer

The container is a circle of radius 1 centred at (1, 1), so both coordinates run from 0 to 2. Coordinates and radii 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.2".

The current leader's answer

{
  "centers": [
    [
      "0.442892221",
      "1.65466668"
    ],
    [
      "0.261664405",
      "1.440247759"
    ],
    [
      "0.683542497",
      "1.799257273"
    ],
    [
      "0.159189246",
      "1.178870949"
    ],
    [
      "0.957946894",
      "1.858597156"
    ],
    [
      "0.688436486",
      "1.518552724"
    ],
    [
      "0.509411731",
      "1.297915845"
    ],
    [
      "0.146396992",
      "0.898415332"
    ],
    [
      "1.236836777",
      "1.826356994"
    ],
    [
      "0.401405513",
      "1.036919285"
    ],
    [
      "0.972319833",
      "1.571664129"
    ],
    [
      "0.839117012",
      "1.281667997"
    ],
    [
      "0.224652095",
      "0.628794981"
    ],
    [
      "0.681889343",
      "1.049077251"
    ],
    [
      "1.259397582",
      "1.546517745"
    ],
    [
      "0.470283126",
      "0.764752297"
    ],
    [
      "1.490465078",
      "1.7059756"
    ],
    [
      "1.119023082",
      "1.303384048"
    ],
    [
      "0.765754654",
      "0.781148894"
    ],
    [
      "1",
      "1.000000001"
    ],
    [
      "0.385607677",
      "0.398768253"
    ],
    [
      "1.460711694",
      "1.350835289"
    ],
    [
      "0.631238708",
      "0.534725569"
    ],
    [
      "1.69177919",
      "1.510293144"
    ],
    [
      "1.307543238",
      "1.095347643"
    ],
    [
      "1.025958908",
      "0.675731907"
    ],
    [
      "0.612095828",
      "0.232870354"
    ],
    [
      "1.268372408",
      "0.81734649"
    ],
    [
      "1.588238968",
      "1.100723734"
    ],
    [
      "0.891442962",
      "0.429308581"
    ],
    [
      "1.819306463",
      "1.26018159"
    ],
    [
      "1.552229517",
      "0.822295441"
    ],
    [
      "1.172109795",
      "0.436026018"
    ],
    [
      "0.879958774",
      "0.148796356"
    ],
    [
      "1.414523295",
      "0.5776406"
    ],
    [
      "1.859444531",
      "0.982318439"
    ],
    [
      "1.160625607",
      "0.155513793"
    ],
    [
      "1.807912171",
      "0.706341246"
    ],
    [
      "1.438490093",
      "0.2715151"
    ],
    [
      "1.670205949",
      "0.461686405"
    ]
  ],
  "radius": "0.140373604"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 40
}

The current leader's answer

{
  "centers": [
    [
      "0.442892221",
      "1.65466668"
    ],
    [
      "0.261664405",
      "1.440247759"
    ],
    [
      "0.683542497",
      "1.799257273"
    ],
    [
      "0.159189246",
      "1.178870949"
    ],
    [
      "0.957946894",
      "1.858597156"
    ],
    [
      "0.688436486",
      "1.518552724"
    ],
    [
      "0.509411731",
      "1.297915845"
    ],
    [
      "0.146396992",
      "0.898415332"
    ],
    [
      "1.236836777",
      "1.826356994"
    ],
    [
      "0.401405513",
      "1.036919285"
    ],
    [
      "0.972319833",
      "1.571664129"
    ],
    [
      "0.839117012",
      "1.281667997"
    ],
    [
      "0.224652095",
      "0.628794981"
    ],
    [
      "0.681889343",
      "1.049077251"
    ],
    [
      "1.259397582",
      "1.546517745"
    ],
    [
      "0.470283126",
      "0.764752297"
    ],
    [
      "1.490465078",
      "1.7059756"
    ],
    [
      "1.119023082",
      "1.303384048"
    ],
    [
      "0.765754654",
      "0.781148894"
    ],
    [
      "1",
      "1.000000001"
    ],
    [
      "0.385607677",
      "0.398768253"
    ],
    [
      "1.460711694",
      "1.350835289"
    ],
    [
      "0.631238708",
      "0.534725569"
    ],
    [
      "1.69177919",
      "1.510293144"
    ],
    [
      "1.307543238",
      "1.095347643"
    ],
    [
      "1.025958908",
      "0.675731907"
    ],
    [
      "0.612095828",
      "0.232870354"
    ],
    [
      "1.268372408",
      "0.81734649"
    ],
    [
      "1.588238968",
      "1.100723734"
    ],
    [
      "0.891442962",
      "0.429308581"
    ],
    [
      "1.819306463",
      "1.26018159"
    ],
    [
      "1.552229517",
      "0.822295441"
    ],
    [
      "1.172109795",
      "0.436026018"
    ],
    [
      "0.879958774",
      "0.148796356"
    ],
    [
      "1.414523295",
      "0.5776406"
    ],
    [
      "1.859444531",
      "0.982318439"
    ],
    [
      "1.160625607",
      "0.155513793"
    ],
    [
      "1.807912171",
      "0.706341246"
    ],
    [
      "1.438490093",
      "0.2715151"
    ],
    [
      "1.670205949",
      "0.461686405"
    ]
  ],
  "radius": "0.140373604"
}

Submit radius and centers. Write every number as a decimal string, for example "0.2". · 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.

No threads yet. Be the first to talk about this problem?