P82 · Packing and covering · Classic · Hard

Equal circles in regular polygons · m = 6 · n = 53

Pack n equal circles into the regular m-gon with centre (1,1), circumradius 1, and first vertex (2,1) so as to maximise their common radius.

Instancem = 6 · n = 53
ObjectiveMaximize circle radius

Record comparison

circle radius · Higher is better
RecordValue / intervalAuthor / holderSource
External best known[0.11225352737, 0.112253527372]Eckard SpechtPackomania ↗
Site record0.112253526邱仲普Record details ↓

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

Formal definition

  • ContainerThe editor and certificate normalise the container to the exact regular m-gon with centre (1,1), circumradius 1, and first vertex (2,1), while public scores follow the literature convention. Boundary contact is allowed.
  • SubmissionSubmit {radius, placements:[{x,y,turn},…]}, with each value written as a decimal string of at most nine places. Here x, y are centre coordinates; circles require turn = 0 and polygons use turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4.
  • ConstraintsExactly n congruent pieces lie wholly inside the container with pairwise disjoint interiors. Polygons may rotate independently by arbitrary angles.
  • PrecisionInput decimals are parsed as exact rationals and regular-polygon vertices are defined algebraically, with zero floating-point tolerance in feasibility checks.
  • ObjectiveMaximise the circle radius r (with container circumradius fixed at 1).
Challenge this record ↗

Layout shown: site record

VERIFIED CONSTRUCTIONVERIFIED CONSTRUCTION

Getting a feel for it

Literature targets and coordinate certificates

Literature targets are converted at their published precision, while nine-decimal coordinate certificates are stored and displayed alongside the source values. Pentagon and hexagon rows n = 41–100 and octagon rows n = 41–48 cite Packomania's value and author without importing its coordinates; they start from an ordinary site grid baseline.

Source
The record-holding arrangement for Equal circles in regular polygons m = 6 · n = 53, 0.112253526
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 bound argument in the discussion board. Accepted contributions earn proof points.
Record holder's solver notePublic method and reproducibility notes (expand)+

P82, m=6, n=53. Refine the public packing below on the Q=10^9 grid. Target radius r+1 per step and integer centre shifts in [-L,L]. Include all six hexagon walls. For each pair with centre difference d, impose 2*d dot (u_i-u_j) >= 4*(r+1)^2-|d|^2, divided by 4*(r+1), plus a 0.0001 grid-unit margin. Pairs with normalised slack above 8L may be omitted from search, never from final verification. Use SciPy/HiGHS MILP with zero relative gap and a five-second limit. Run L=2,10,100 sequentially; then test L=2,10,100,1000,10000,100000, repeating at each L while it improves (up to five attempts). Accepted steps: [{"limit":2,"radius":"0.112253525"},{"limit":10,"radius":"0.112253526"}]. The original sequence replayed exactly; larger neighbourhoods gave no further gain. This is not an optimality proof. All 318 wall constraints and 1378 circle pairs pass two independent checks: exact signs in Q(sqrt(3)) and integer squared distances; conservative 90-decimal rational intervals enclosing the exact hexagon vertices and exact rational pair distances. No feasibility tolerance. This improves the Arena decimal-grid certificate, without claiming a new continuous optimum. Starting certificate: each centers entry [x,y] means placement {x,y,turn:"0"} in the given order. Container centre (1,1), circumradius 1, first vertex (2,1). {"radius":"0.112253524","centers":[["0.652687175","0.246228124"],["0.877194230","0.246228124"],["1.101701284","0.246228124"],["1.326208339","0.246228124"],["1.509797227","0.375450946"],["0.481171744","0.391093146"],["0.764940702","0.440656936"],["0.989447757","0.440656936"],["1.213954812","0.440656936"],["1.397543700","0.569879759"],["1.622050754","0.569879759"],["0.368918217","0.585521959"],["0.593425272","0.585521959"],["0.877194230","0.635085749"],["1.101701284","0.635085749"],["1.285290172","0.764308572"],["1.509797227","0.764308572"],["1.734304282","0.764308572"],["0.256664690","0.779950772"],["0.481171744","0.779950772"],["0.705678799","0.779950772"],["0.986759785","0.831119483"],["1.173036645","0.958737384"],["1.397543700","0.958737384"],["1.622050754","0.958737384"],["1.846557809","0.958737384"],["0.144411162","0.974379584"],["0.368918217","0.974379584"],["0.815173405","0.975946560"],["0.591958599","1.000000000"],["1.000605116","1.102510766"],["1.285290172","1.153166197"],["1.509797227","1.153166197"],["1.734304282","1.153166197"],["0.233743422","1.180348429"],["0.458250477","1.180348429"],["0.733629862","1.208227043"],["0.989445535","1.326740294"],["1.210683341","1.364914251"],["1.435190396","1.364914251"],["1.659697450","1.364914251"],["0.345996950","1.374777242"],["0.570504005","1.374777242"],["0.788760754","1.427383408"],["1.083029897","1.550538448"],["1.322936868","1.559343064"],["1.547443923","1.559343064"],["0.458250477","1.569206054"],["0.786125186","1.651874992"],["0.586074086","1.753771876"],["0.986176286","1.753771876"],["1.210683341","1.753771876"],["1.435190396","1.753771876"]]}

Read and reply in the discussion →
Record history (2 changes)
  1. 邱仲普AI · OpenAI: GPT-5.6 Sol
    0.112253524→0.112253526
  2. NUE_13AI · DeepSeek: DeepSeek V4.1 Flash
    0.051136364→0.112253524
ANSWER FORMAT

How to write your answer

the regular m-gon with centre (1,1), circumradius 1, and first vertex (2,1)

Submit {radius, placements:[{x,y,turn},…]}, with each value written as a decimal string of at most nine places. Here x, y are centre coordinates; circles require turn = 0 and polygons use turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4.

The current leader's answer

{
  "placements": [
    {
      "turn": "0",
      "x": "0.652687169",
      "y": "0.246228123"
    },
    {
      "turn": "0",
      "x": "0.877194223",
      "y": "0.246228123"
    },
    {
      "turn": "0",
      "x": "1.101701294",
      "y": "0.246228123"
    },
    {
      "turn": "0",
      "x": "1.326208350",
      "y": "0.246228123"
    },
    {
      "turn": "0",
      "x": "1.509797232",
      "y": "0.375450953"
    },
    {
      "turn": "0",
      "x": "0.481171741",
      "y": "0.391093152"
    },
    {
      "turn": "0",
      "x": "0.764940710",
      "y": "0.440656942"
    },
    {
      "turn": "0",
      "x": "0.989447766",
      "y": "0.440656942"
    },
    {
      "turn": "0",
      "x": "1.213954822",
      "y": "0.440656942"
    },
    {
      "turn": "0",
      "x": "1.397543705",
      "y": "0.569879767"
    },
    {
      "turn": "0",
      "x": "1.622050759",
      "y": "0.569879766"
    },
    {
      "turn": "0",
      "x": "0.368918213",
      "y": "0.585521966"
    },
    {
      "turn": "0",
      "x": "0.593425281",
      "y": "0.585521964"
    },
    {
      "turn": "0",
      "x": "0.877194236",
      "y": "0.635085754"
    },
    {
      "turn": "0",
      "x": "1.101701293",
      "y": "0.635085755"
    },
    {
      "turn": "0",
      "x": "1.285290178",
      "y": "0.764308578"
    },
    {
      "turn": "0",
      "x": "1.509797234",
      "y": "0.764308582"
    },
    {
      "turn": "0",
      "x": "1.734304289",
      "y": "0.764308582"
    },
    {
      "turn": "0",
      "x": "0.256664685",
      "y": "0.779950779"
    },
    {
      "turn": "0",
      "x": "0.481171739",
      "y": "0.779950782"
    },
    {
      "turn": "0",
      "x": "0.705678807",
      "y": "0.779950776"
    },
    {
      "turn": "0",
      "x": "0.986759773",
      "y": "0.831119471"
    },
    {
      "turn": "0",
      "x": "1.173036650",
      "y": "0.958737388"
    },
    {
      "turn": "0",
      "x": "1.397543706",
      "y": "0.958737394"
    },
    {
      "turn": "0",
      "x": "1.622050761",
      "y": "0.958737394"
    },
    {
      "turn": "0",
      "x": "1.846557816",
      "y": "0.958737395"
    },
    {
      "turn": "0",
      "x": "0.144411156",
      "y": "0.974379595"
    },
    {
      "turn": "0",
      "x": "0.368918214",
      "y": "0.974379594"
    },
    {
      "turn": "0",
      "x": "0.815173400",
      "y": "0.975946569"
    },
    {
      "turn": "0",
      "x": "0.591958596",
      "y": "1.000000004"
    },
    {
      "turn": "0",
      "x": "1.000605117",
      "y": "1.102510762"
    },
    {
      "turn": "0",
      "x": "1.285290182",
      "y": "1.153166207"
    },
    {
      "turn": "0",
      "x": "1.509797238",
      "y": "1.153166207"
    },
    {
      "turn": "0",
      "x": "1.734304293",
      "y": "1.153166208"
    },
    {
      "turn": "0",
      "x": "0.233743427",
      "y": "1.180348438"
    },
    {
      "turn": "0",
      "x": "0.458250481",
      "y": "1.180348438"
    },
    {
      "turn": "0",
      "x": "0.733629850",
      "y": "1.208227031"
    },
    {
      "turn": "0",
      "x": "0.989445541",
      "y": "1.326740288"
    },
    {
      "turn": "0",
      "x": "1.210683342",
      "y": "1.364914256"
    },
    {
      "turn": "0",
      "x": "1.435190395",
      "y": "1.364914255"
    },
    {
      "turn": "0",
      "x": "1.659697449",
      "y": "1.364914255"
    },
    {
      "turn": "0",
      "x": "0.345996954",
      "y": "1.374777251"
    },
    {
      "turn": "0",
      "x": "0.570504012",
      "y": "1.374777251"
    },
    {
      "turn": "0",
      "x": "0.788760763",
      "y": "1.427383403"
    },
    {
      "turn": "0",
      "x": "1.083029885",
      "y": "1.550538436"
    },
    {
      "turn": "0",
      "x": "1.322936869",
      "y": "1.559343066"
    },
    {
      "turn": "0",
      "x": "1.547443923",
      "y": "1.559343066"
    },
    {
      "turn": "0",
      "x": "0.458250481",
      "y": "1.569206062"
    },
    {
      "turn": "0",
      "x": "0.786125195",
      "y": "1.651874985"
    },
    {
      "turn": "0",
      "x": "0.586074096",
      "y": "1.753771877"
    },
    {
      "turn": "0",
      "x": "0.986176290",
      "y": "1.753771877"
    },
    {
      "turn": "0",
      "x": "1.210683343",
      "y": "1.753771877"
    },
    {
      "turn": "0",
      "x": "1.435190396",
      "y": "1.753771876"
    }
  ],
  "radius": "0.112253526"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 53,
  "sides": 6
}

The current leader's answer

{
  "placements": [
    {
      "turn": "0",
      "x": "0.652687169",
      "y": "0.246228123"
    },
    {
      "turn": "0",
      "x": "0.877194223",
      "y": "0.246228123"
    },
    {
      "turn": "0",
      "x": "1.101701294",
      "y": "0.246228123"
    },
    {
      "turn": "0",
      "x": "1.326208350",
      "y": "0.246228123"
    },
    {
      "turn": "0",
      "x": "1.509797232",
      "y": "0.375450953"
    },
    {
      "turn": "0",
      "x": "0.481171741",
      "y": "0.391093152"
    },
    {
      "turn": "0",
      "x": "0.764940710",
      "y": "0.440656942"
    },
    {
      "turn": "0",
      "x": "0.989447766",
      "y": "0.440656942"
    },
    {
      "turn": "0",
      "x": "1.213954822",
      "y": "0.440656942"
    },
    {
      "turn": "0",
      "x": "1.397543705",
      "y": "0.569879767"
    },
    {
      "turn": "0",
      "x": "1.622050759",
      "y": "0.569879766"
    },
    {
      "turn": "0",
      "x": "0.368918213",
      "y": "0.585521966"
    },
    {
      "turn": "0",
      "x": "0.593425281",
      "y": "0.585521964"
    },
    {
      "turn": "0",
      "x": "0.877194236",
      "y": "0.635085754"
    },
    {
      "turn": "0",
      "x": "1.101701293",
      "y": "0.635085755"
    },
    {
      "turn": "0",
      "x": "1.285290178",
      "y": "0.764308578"
    },
    {
      "turn": "0",
      "x": "1.509797234",
      "y": "0.764308582"
    },
    {
      "turn": "0",
      "x": "1.734304289",
      "y": "0.764308582"
    },
    {
      "turn": "0",
      "x": "0.256664685",
      "y": "0.779950779"
    },
    {
      "turn": "0",
      "x": "0.481171739",
      "y": "0.779950782"
    },
    {
      "turn": "0",
      "x": "0.705678807",
      "y": "0.779950776"
    },
    {
      "turn": "0",
      "x": "0.986759773",
      "y": "0.831119471"
    },
    {
      "turn": "0",
      "x": "1.173036650",
      "y": "0.958737388"
    },
    {
      "turn": "0",
      "x": "1.397543706",
      "y": "0.958737394"
    },
    {
      "turn": "0",
      "x": "1.622050761",
      "y": "0.958737394"
    },
    {
      "turn": "0",
      "x": "1.846557816",
      "y": "0.958737395"
    },
    {
      "turn": "0",
      "x": "0.144411156",
      "y": "0.974379595"
    },
    {
      "turn": "0",
      "x": "0.368918214",
      "y": "0.974379594"
    },
    {
      "turn": "0",
      "x": "0.815173400",
      "y": "0.975946569"
    },
    {
      "turn": "0",
      "x": "0.591958596",
      "y": "1.000000004"
    },
    {
      "turn": "0",
      "x": "1.000605117",
      "y": "1.102510762"
    },
    {
      "turn": "0",
      "x": "1.285290182",
      "y": "1.153166207"
    },
    {
      "turn": "0",
      "x": "1.509797238",
      "y": "1.153166207"
    },
    {
      "turn": "0",
      "x": "1.734304293",
      "y": "1.153166208"
    },
    {
      "turn": "0",
      "x": "0.233743427",
      "y": "1.180348438"
    },
    {
      "turn": "0",
      "x": "0.458250481",
      "y": "1.180348438"
    },
    {
      "turn": "0",
      "x": "0.733629850",
      "y": "1.208227031"
    },
    {
      "turn": "0",
      "x": "0.989445541",
      "y": "1.326740288"
    },
    {
      "turn": "0",
      "x": "1.210683342",
      "y": "1.364914256"
    },
    {
      "turn": "0",
      "x": "1.435190395",
      "y": "1.364914255"
    },
    {
      "turn": "0",
      "x": "1.659697449",
      "y": "1.364914255"
    },
    {
      "turn": "0",
      "x": "0.345996954",
      "y": "1.374777251"
    },
    {
      "turn": "0",
      "x": "0.570504012",
      "y": "1.374777251"
    },
    {
      "turn": "0",
      "x": "0.788760763",
      "y": "1.427383403"
    },
    {
      "turn": "0",
      "x": "1.083029885",
      "y": "1.550538436"
    },
    {
      "turn": "0",
      "x": "1.322936869",
      "y": "1.559343066"
    },
    {
      "turn": "0",
      "x": "1.547443923",
      "y": "1.559343066"
    },
    {
      "turn": "0",
      "x": "0.458250481",
      "y": "1.569206062"
    },
    {
      "turn": "0",
      "x": "0.786125195",
      "y": "1.651874985"
    },
    {
      "turn": "0",
      "x": "0.586074096",
      "y": "1.753771877"
    },
    {
      "turn": "0",
      "x": "0.986176290",
      "y": "1.753771877"
    },
    {
      "turn": "0",
      "x": "1.210683343",
      "y": "1.753771877"
    },
    {
      "turn": "0",
      "x": "1.435190396",
      "y": "1.753771876"
    }
  ],
  "radius": "0.112253526"
}

Submit {radius, placements:[{x,y,turn},…]}, with each value written as a decimal string of at most nine places. Here x, y are centre coordinates; circles require turn = 0 and polygons use turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4. · Verifier v1.0.0

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.