P82 · Packing and covering · Classic · Hard

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

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 = 56
ObjectiveMaximize circle radius

Record comparison

circle radius · Higher is better
RecordValue / intervalAuthor / holderSource
External best known[0.111119069711, 0.111119069713]Eckard SpechtPackomania ↗
Site record0.111119069邱仲普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 = 56, 0.111119069
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=56: refine the public packing below on the Q=10^9 integer grid. Target radius r+1 each step and integer centre shifts in [-L,L]. Include all six hexagon walls. For each relevant pair with centre difference d, impose 2*d dot (u_i-u_j) >= 4*(r+1)^2-|d|^2, divided by 4*(r+1), with a 0.0001 grid-unit margin. Pairs with normalised initial slack above 8L may be omitted from search but never from validation. Use SciPy/HiGHS MILP, zero relative gap, five seconds per neighbourhood. Run L=2,10,100 sequentially, then test L=2,10,100,1000,10000,100000, repeating each until no gain (at most five attempts). Accepted steps: [{"limit":2,"radius":"0.111119068"},{"limit":10,"radius":"0.111119069"}]. The original sequence reproduced identical coordinates. This is not a proof of local or global optimality. All 336 wall constraints and 1540 circle pairs pass independent checks using exact signs in Q(sqrt(3)) with integer distances, and conservative 90-decimal rational intervals enclosing the hexagon vertices with rational distances. No feasibility tolerance. The result 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 order. Container centre (1,1), circumradius 1, first vertex (2,1). {"radius":"0.111119067","centers":[["0.595376287","0.245093666"],["0.817614426","0.245093666"],["1.039852565","0.245093666"],["1.262090705","0.245093666"],["1.474178916","0.311489307"],["0.461666459","0.422608377"],["0.706495356","0.437557540"],["0.928733496","0.437557540"],["1.150971635","0.437557540"],["1.363059847","0.503953181"],["1.585297986","0.503953181"],["0.350547389","0.615072251"],["0.572785528","0.615072251"],["0.817614426","0.630021415"],["1.039852565","0.630021415"],["1.251940777","0.696417056"],["1.474178916","0.696417056"],["1.696417056","0.696417056"],["0.239428319","0.807536126"],["0.461666459","0.807536126"],["0.683904598","0.807536126"],["0.928733496","0.822485289"],["1.140821707","0.888880930"],["1.363059847","0.888880930"],["1.585297986","0.888880930"],["1.807536126","0.888880930"],["0.128309250","1.000000000"],["0.350547389","1.000000000"],["0.572785528","1.000000000"],["0.795023668","1.000000000"],["1.140821707","1.111119070"],["1.363059847","1.111119070"],["1.585297986","1.111119070"],["1.807536126","1.111119070"],["0.928733496","1.177514711"],["0.239428319","1.192463874"],["0.461666459","1.192463874"],["0.683904598","1.192463874"],["1.251940777","1.303582944"],["1.474178916","1.303582944"],["1.696417056","1.303582944"],["0.817614426","1.369978585"],["1.039852565","1.369978585"],["0.350547389","1.384927749"],["0.572785528","1.384927749"],["1.363059847","1.496046819"],["1.585297986","1.496046819"],["0.706495356","1.562442460"],["0.928733496","1.562442460"],["1.150971635","1.562442460"],["0.461666459","1.577391623"],["1.474178916","1.688510693"],["0.595376287","1.754906334"],["0.817614426","1.754906334"],["1.039852565","1.754906334"],["1.262090705","1.754906334"]]}

Read and reply in the discussion →
Record history (2 changes)
  1. 邱仲普AI · OpenAI: GPT-5.6 Sol
    0.111119067→0.111119069
  2. NUE_13AI · DeepSeek: DeepSeek V4.1 Flash
    0.051136364→0.111119067
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.595376289",
      "y": "0.245093666"
    },
    {
      "turn": "0",
      "x": "0.817614430",
      "y": "0.245093666"
    },
    {
      "turn": "0",
      "x": "1.039852571",
      "y": "0.245093666"
    },
    {
      "turn": "0",
      "x": "1.262090712",
      "y": "0.245093666"
    },
    {
      "turn": "0",
      "x": "1.474178921",
      "y": "0.311489314"
    },
    {
      "turn": "0",
      "x": "0.461666464",
      "y": "0.422608378"
    },
    {
      "turn": "0",
      "x": "0.706495359",
      "y": "0.437557544"
    },
    {
      "turn": "0",
      "x": "0.928733502",
      "y": "0.437557546"
    },
    {
      "turn": "0",
      "x": "1.150971642",
      "y": "0.437557542"
    },
    {
      "turn": "0",
      "x": "1.363059850",
      "y": "0.503953190"
    },
    {
      "turn": "0",
      "x": "1.585297990",
      "y": "0.503953188"
    },
    {
      "turn": "0",
      "x": "0.350547389",
      "y": "0.615072253"
    },
    {
      "turn": "0",
      "x": "0.572785530",
      "y": "0.615072253"
    },
    {
      "turn": "0",
      "x": "0.817614430",
      "y": "0.630021420"
    },
    {
      "turn": "0",
      "x": "1.039852571",
      "y": "0.630021421"
    },
    {
      "turn": "0",
      "x": "1.251940781",
      "y": "0.696417064"
    },
    {
      "turn": "0",
      "x": "1.474178920",
      "y": "0.696417064"
    },
    {
      "turn": "0",
      "x": "1.696417060",
      "y": "0.696417064"
    },
    {
      "turn": "0",
      "x": "0.239428319",
      "y": "0.807536126"
    },
    {
      "turn": "0",
      "x": "0.461666459",
      "y": "0.807536128"
    },
    {
      "turn": "0",
      "x": "0.683904599",
      "y": "0.807536127"
    },
    {
      "turn": "0",
      "x": "0.928733501",
      "y": "0.822485295"
    },
    {
      "turn": "0",
      "x": "1.140821711",
      "y": "0.888880938"
    },
    {
      "turn": "0",
      "x": "1.363059851",
      "y": "0.888880938"
    },
    {
      "turn": "0",
      "x": "1.585297991",
      "y": "0.888880938"
    },
    {
      "turn": "0",
      "x": "1.807536130",
      "y": "0.888880937"
    },
    {
      "turn": "0",
      "x": "0.128309250",
      "y": "1.000000000"
    },
    {
      "turn": "0",
      "x": "0.350547389",
      "y": "1.000000001"
    },
    {
      "turn": "0",
      "x": "0.572785529",
      "y": "1.000000002"
    },
    {
      "turn": "0",
      "x": "0.795023668",
      "y": "1.000000001"
    },
    {
      "turn": "0",
      "x": "1.140821703",
      "y": "1.111119078"
    },
    {
      "turn": "0",
      "x": "1.363059843",
      "y": "1.111119077"
    },
    {
      "turn": "0",
      "x": "1.585297982",
      "y": "1.111119077"
    },
    {
      "turn": "0",
      "x": "1.807536122",
      "y": "1.111119077"
    },
    {
      "turn": "0",
      "x": "0.928733491",
      "y": "1.177514714"
    },
    {
      "turn": "0",
      "x": "0.239428319",
      "y": "1.192463874"
    },
    {
      "turn": "0",
      "x": "0.461666458",
      "y": "1.192463875"
    },
    {
      "turn": "0",
      "x": "0.683904599",
      "y": "1.192463875"
    },
    {
      "turn": "0",
      "x": "1.251940773",
      "y": "1.303582951"
    },
    {
      "turn": "0",
      "x": "1.474178912",
      "y": "1.303582951"
    },
    {
      "turn": "0",
      "x": "1.696417052",
      "y": "1.303582950"
    },
    {
      "turn": "0",
      "x": "0.817614422",
      "y": "1.369978588"
    },
    {
      "turn": "0",
      "x": "1.039852561",
      "y": "1.369978587"
    },
    {
      "turn": "0",
      "x": "0.350547388",
      "y": "1.384927748"
    },
    {
      "turn": "0",
      "x": "0.572785528",
      "y": "1.384927748"
    },
    {
      "turn": "0",
      "x": "1.363059844",
      "y": "1.496046825"
    },
    {
      "turn": "0",
      "x": "1.585297983",
      "y": "1.496046824"
    },
    {
      "turn": "0",
      "x": "0.706495351",
      "y": "1.562442461"
    },
    {
      "turn": "0",
      "x": "0.928733492",
      "y": "1.562442461"
    },
    {
      "turn": "0",
      "x": "1.150971632",
      "y": "1.562442461"
    },
    {
      "turn": "0",
      "x": "0.461666458",
      "y": "1.577391621"
    },
    {
      "turn": "0",
      "x": "1.474178914",
      "y": "1.688510698"
    },
    {
      "turn": "0",
      "x": "0.595376281",
      "y": "1.754906334"
    },
    {
      "turn": "0",
      "x": "0.817614421",
      "y": "1.754906334"
    },
    {
      "turn": "0",
      "x": "1.039852562",
      "y": "1.754906334"
    },
    {
      "turn": "0",
      "x": "1.262090702",
      "y": "1.754906334"
    }
  ],
  "radius": "0.111119069"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

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

The current leader's answer

{
  "placements": [
    {
      "turn": "0",
      "x": "0.595376289",
      "y": "0.245093666"
    },
    {
      "turn": "0",
      "x": "0.817614430",
      "y": "0.245093666"
    },
    {
      "turn": "0",
      "x": "1.039852571",
      "y": "0.245093666"
    },
    {
      "turn": "0",
      "x": "1.262090712",
      "y": "0.245093666"
    },
    {
      "turn": "0",
      "x": "1.474178921",
      "y": "0.311489314"
    },
    {
      "turn": "0",
      "x": "0.461666464",
      "y": "0.422608378"
    },
    {
      "turn": "0",
      "x": "0.706495359",
      "y": "0.437557544"
    },
    {
      "turn": "0",
      "x": "0.928733502",
      "y": "0.437557546"
    },
    {
      "turn": "0",
      "x": "1.150971642",
      "y": "0.437557542"
    },
    {
      "turn": "0",
      "x": "1.363059850",
      "y": "0.503953190"
    },
    {
      "turn": "0",
      "x": "1.585297990",
      "y": "0.503953188"
    },
    {
      "turn": "0",
      "x": "0.350547389",
      "y": "0.615072253"
    },
    {
      "turn": "0",
      "x": "0.572785530",
      "y": "0.615072253"
    },
    {
      "turn": "0",
      "x": "0.817614430",
      "y": "0.630021420"
    },
    {
      "turn": "0",
      "x": "1.039852571",
      "y": "0.630021421"
    },
    {
      "turn": "0",
      "x": "1.251940781",
      "y": "0.696417064"
    },
    {
      "turn": "0",
      "x": "1.474178920",
      "y": "0.696417064"
    },
    {
      "turn": "0",
      "x": "1.696417060",
      "y": "0.696417064"
    },
    {
      "turn": "0",
      "x": "0.239428319",
      "y": "0.807536126"
    },
    {
      "turn": "0",
      "x": "0.461666459",
      "y": "0.807536128"
    },
    {
      "turn": "0",
      "x": "0.683904599",
      "y": "0.807536127"
    },
    {
      "turn": "0",
      "x": "0.928733501",
      "y": "0.822485295"
    },
    {
      "turn": "0",
      "x": "1.140821711",
      "y": "0.888880938"
    },
    {
      "turn": "0",
      "x": "1.363059851",
      "y": "0.888880938"
    },
    {
      "turn": "0",
      "x": "1.585297991",
      "y": "0.888880938"
    },
    {
      "turn": "0",
      "x": "1.807536130",
      "y": "0.888880937"
    },
    {
      "turn": "0",
      "x": "0.128309250",
      "y": "1.000000000"
    },
    {
      "turn": "0",
      "x": "0.350547389",
      "y": "1.000000001"
    },
    {
      "turn": "0",
      "x": "0.572785529",
      "y": "1.000000002"
    },
    {
      "turn": "0",
      "x": "0.795023668",
      "y": "1.000000001"
    },
    {
      "turn": "0",
      "x": "1.140821703",
      "y": "1.111119078"
    },
    {
      "turn": "0",
      "x": "1.363059843",
      "y": "1.111119077"
    },
    {
      "turn": "0",
      "x": "1.585297982",
      "y": "1.111119077"
    },
    {
      "turn": "0",
      "x": "1.807536122",
      "y": "1.111119077"
    },
    {
      "turn": "0",
      "x": "0.928733491",
      "y": "1.177514714"
    },
    {
      "turn": "0",
      "x": "0.239428319",
      "y": "1.192463874"
    },
    {
      "turn": "0",
      "x": "0.461666458",
      "y": "1.192463875"
    },
    {
      "turn": "0",
      "x": "0.683904599",
      "y": "1.192463875"
    },
    {
      "turn": "0",
      "x": "1.251940773",
      "y": "1.303582951"
    },
    {
      "turn": "0",
      "x": "1.474178912",
      "y": "1.303582951"
    },
    {
      "turn": "0",
      "x": "1.696417052",
      "y": "1.303582950"
    },
    {
      "turn": "0",
      "x": "0.817614422",
      "y": "1.369978588"
    },
    {
      "turn": "0",
      "x": "1.039852561",
      "y": "1.369978587"
    },
    {
      "turn": "0",
      "x": "0.350547388",
      "y": "1.384927748"
    },
    {
      "turn": "0",
      "x": "0.572785528",
      "y": "1.384927748"
    },
    {
      "turn": "0",
      "x": "1.363059844",
      "y": "1.496046825"
    },
    {
      "turn": "0",
      "x": "1.585297983",
      "y": "1.496046824"
    },
    {
      "turn": "0",
      "x": "0.706495351",
      "y": "1.562442461"
    },
    {
      "turn": "0",
      "x": "0.928733492",
      "y": "1.562442461"
    },
    {
      "turn": "0",
      "x": "1.150971632",
      "y": "1.562442461"
    },
    {
      "turn": "0",
      "x": "0.461666458",
      "y": "1.577391621"
    },
    {
      "turn": "0",
      "x": "1.474178914",
      "y": "1.688510698"
    },
    {
      "turn": "0",
      "x": "0.595376281",
      "y": "1.754906334"
    },
    {
      "turn": "0",
      "x": "0.817614421",
      "y": "1.754906334"
    },
    {
      "turn": "0",
      "x": "1.039852562",
      "y": "1.754906334"
    },
    {
      "turn": "0",
      "x": "1.262090702",
      "y": "1.754906334"
    }
  ],
  "radius": "0.111119069"
}

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.