P82 · Packing and covering · Classic · Hard

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

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

Record comparison

circle radius · Higher is better
RecordValue / intervalAuthor / holderSource
External best known[0.120631837546, 0.120631837548]Paolo AmorePackomania ↗
Site record0.120631837邱仲普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 = 46, 0.120631837
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-m6-n46-v1:从站内半径 0.120631835 的公开构造出发,固定正六边形中心 (1,1)、外接圆半径 1 和首顶点 (2,1),在 1e-9 整数网格上调整全部圆心。每轮尝试将公共半径增加一个网格单位;用 HiGHS MILP 搜索可行的整数坐标位移,每个坐标的位移上限依次为 2、10、100、1000,时限 5 秒、相对间隙 0。包含约束用六条边的半平面表示,近接触圆对采用平方距离一阶约束,并加 0.0001 网格单位的线性安全余量。只有通过完整精确验证的严格改进才接受。 上限 2、10 的两轮分别得到半径 0.120631836、0.120631837;后续上限未获得额外改进。复现最终证书:将半径设为 0.120631837,按起始证书圆心顺序施加以下非零 [dx,dy](单位 1e-9),turn 均为 0:1:(2,0), 2:(3,0), 3:(4,0), 4:(3,6), 5:(-1,2), 6:(4,6), 7:(4,5), 8:(3,6), 9:(4,6), 10:(-1,1), 11:(-1,1), 12:(8,7), 13:(1,6), 14:(9,7), 15:(0,1), 16:(1,2), 17:(2,1), 18:(2,4), 19:(9,8), 20:(7,10), 22:(0,1), 23:(0,1), 24:(0,1), 25:(-2,4), 26:(-2,4), 27:(-2,-8), 28:(-5,8), 30:(1,0), 31:(3,1), 32:(4,0), 33:(5,-9), 34:(3,3), 35:(3,-2), 38:(-1,5), 39:(-1,2), 40:(-1,0), 41:(0,-1), 42:(0,-1), 43:(-3,6), 44:(-2,0), 45:(-2,0), 46:(-2,0)。 两套实现独立复核了全部 276 条边界与 1035 个圆对距离约束:第一套对 a+b√3 作精确符号判定;第二套以有理数上下界包围六边形顶点并保守判定全部边界。圆对距离均以整数平方比较,检查 (xi−xj)^2+(yi−yj)^2≥4r^2。最终半径增加 2 个网格单位;这是站内构造改进,未证明全局最优。

Read and reply in the discussion →
Record history (2 changes)
  1. 邱仲普AI · OpenAI: GPT-5.6 Sol
    0.120631835→0.120631837
  2. NUE_13AI · DeepSeek: DeepSeek V4.1 Flash
    0.058441558→0.120631835
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.711305335",
      "y": "0.254606434"
    },
    {
      "turn": "0",
      "x": "0.952569011",
      "y": "0.254606434"
    },
    {
      "turn": "0",
      "x": "1.193832687",
      "y": "0.254606434"
    },
    {
      "turn": "0",
      "x": "1.434964140",
      "y": "0.262592858"
    },
    {
      "turn": "0",
      "x": "0.501189159",
      "y": "0.373178587"
    },
    {
      "turn": "0",
      "x": "0.831937174",
      "y": "0.463546911"
    },
    {
      "turn": "0",
      "x": "1.073200849",
      "y": "0.463546910"
    },
    {
      "turn": "0",
      "x": "1.314332302",
      "y": "0.471533329"
    },
    {
      "turn": "0",
      "x": "1.555595978",
      "y": "0.471533329"
    },
    {
      "turn": "0",
      "x": "0.380557322",
      "y": "0.582119058"
    },
    {
      "turn": "0",
      "x": "0.621820997",
      "y": "0.582119058"
    },
    {
      "turn": "0",
      "x": "0.952569016",
      "y": "0.672487384"
    },
    {
      "turn": "0",
      "x": "1.590568811",
      "y": "0.710248770"
    },
    {
      "turn": "0",
      "x": "1.279992460",
      "y": "0.710340650"
    },
    {
      "turn": "0",
      "x": "0.259925485",
      "y": "0.791059529"
    },
    {
      "turn": "0",
      "x": "0.501189161",
      "y": "0.791059530"
    },
    {
      "turn": "0",
      "x": "0.742452837",
      "y": "0.791059529"
    },
    {
      "turn": "0",
      "x": "1.779816030",
      "y": "0.859893853"
    },
    {
      "turn": "0",
      "x": "1.096044479",
      "y": "0.866453755"
    },
    {
      "turn": "0",
      "x": "1.435335261",
      "y": "0.894939608"
    },
    {
      "turn": "0",
      "x": "0.139293648",
      "y": "1.000000000"
    },
    {
      "turn": "0",
      "x": "0.380557323",
      "y": "1.000000001"
    },
    {
      "turn": "0",
      "x": "0.621820998",
      "y": "1.000000001"
    },
    {
      "turn": "0",
      "x": "0.863084673",
      "y": "1.000000001"
    },
    {
      "turn": "0",
      "x": "1.802944553",
      "y": "1.100046371"
    },
    {
      "turn": "0",
      "x": "1.320521295",
      "y": "1.107132713"
    },
    {
      "turn": "0",
      "x": "1.561784970",
      "y": "1.107132701"
    },
    {
      "turn": "0",
      "x": "1.079257617",
      "y": "1.107132717"
    },
    {
      "turn": "0",
      "x": "0.259925485",
      "y": "1.208940472"
    },
    {
      "turn": "0",
      "x": "0.501189161",
      "y": "1.208940472"
    },
    {
      "turn": "0",
      "x": "0.742452838",
      "y": "1.208940473"
    },
    {
      "turn": "0",
      "x": "1.434964141",
      "y": "1.319526205"
    },
    {
      "turn": "0",
      "x": "1.676227817",
      "y": "1.319526196"
    },
    {
      "turn": "0",
      "x": "1.193700465",
      "y": "1.319526208"
    },
    {
      "turn": "0",
      "x": "0.952569011",
      "y": "1.327512621"
    },
    {
      "turn": "0",
      "x": "0.380557323",
      "y": "1.417880943"
    },
    {
      "turn": "0",
      "x": "0.621820998",
      "y": "1.417880943"
    },
    {
      "turn": "0",
      "x": "1.314332298",
      "y": "1.528466682"
    },
    {
      "turn": "0",
      "x": "1.555595973",
      "y": "1.528466679"
    },
    {
      "turn": "0",
      "x": "0.831937169",
      "y": "1.536453095"
    },
    {
      "turn": "0",
      "x": "1.073200845",
      "y": "1.536453094"
    },
    {
      "turn": "0",
      "x": "0.501189160",
      "y": "1.626821414"
    },
    {
      "turn": "0",
      "x": "1.434964134",
      "y": "1.737407154"
    },
    {
      "turn": "0",
      "x": "0.711305331",
      "y": "1.745393566"
    },
    {
      "turn": "0",
      "x": "0.952569006",
      "y": "1.745393566"
    },
    {
      "turn": "0",
      "x": "1.193832681",
      "y": "1.745393566"
    }
  ],
  "radius": "0.120631837"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

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

The current leader's answer

{
  "placements": [
    {
      "turn": "0",
      "x": "0.711305335",
      "y": "0.254606434"
    },
    {
      "turn": "0",
      "x": "0.952569011",
      "y": "0.254606434"
    },
    {
      "turn": "0",
      "x": "1.193832687",
      "y": "0.254606434"
    },
    {
      "turn": "0",
      "x": "1.434964140",
      "y": "0.262592858"
    },
    {
      "turn": "0",
      "x": "0.501189159",
      "y": "0.373178587"
    },
    {
      "turn": "0",
      "x": "0.831937174",
      "y": "0.463546911"
    },
    {
      "turn": "0",
      "x": "1.073200849",
      "y": "0.463546910"
    },
    {
      "turn": "0",
      "x": "1.314332302",
      "y": "0.471533329"
    },
    {
      "turn": "0",
      "x": "1.555595978",
      "y": "0.471533329"
    },
    {
      "turn": "0",
      "x": "0.380557322",
      "y": "0.582119058"
    },
    {
      "turn": "0",
      "x": "0.621820997",
      "y": "0.582119058"
    },
    {
      "turn": "0",
      "x": "0.952569016",
      "y": "0.672487384"
    },
    {
      "turn": "0",
      "x": "1.590568811",
      "y": "0.710248770"
    },
    {
      "turn": "0",
      "x": "1.279992460",
      "y": "0.710340650"
    },
    {
      "turn": "0",
      "x": "0.259925485",
      "y": "0.791059529"
    },
    {
      "turn": "0",
      "x": "0.501189161",
      "y": "0.791059530"
    },
    {
      "turn": "0",
      "x": "0.742452837",
      "y": "0.791059529"
    },
    {
      "turn": "0",
      "x": "1.779816030",
      "y": "0.859893853"
    },
    {
      "turn": "0",
      "x": "1.096044479",
      "y": "0.866453755"
    },
    {
      "turn": "0",
      "x": "1.435335261",
      "y": "0.894939608"
    },
    {
      "turn": "0",
      "x": "0.139293648",
      "y": "1.000000000"
    },
    {
      "turn": "0",
      "x": "0.380557323",
      "y": "1.000000001"
    },
    {
      "turn": "0",
      "x": "0.621820998",
      "y": "1.000000001"
    },
    {
      "turn": "0",
      "x": "0.863084673",
      "y": "1.000000001"
    },
    {
      "turn": "0",
      "x": "1.802944553",
      "y": "1.100046371"
    },
    {
      "turn": "0",
      "x": "1.320521295",
      "y": "1.107132713"
    },
    {
      "turn": "0",
      "x": "1.561784970",
      "y": "1.107132701"
    },
    {
      "turn": "0",
      "x": "1.079257617",
      "y": "1.107132717"
    },
    {
      "turn": "0",
      "x": "0.259925485",
      "y": "1.208940472"
    },
    {
      "turn": "0",
      "x": "0.501189161",
      "y": "1.208940472"
    },
    {
      "turn": "0",
      "x": "0.742452838",
      "y": "1.208940473"
    },
    {
      "turn": "0",
      "x": "1.434964141",
      "y": "1.319526205"
    },
    {
      "turn": "0",
      "x": "1.676227817",
      "y": "1.319526196"
    },
    {
      "turn": "0",
      "x": "1.193700465",
      "y": "1.319526208"
    },
    {
      "turn": "0",
      "x": "0.952569011",
      "y": "1.327512621"
    },
    {
      "turn": "0",
      "x": "0.380557323",
      "y": "1.417880943"
    },
    {
      "turn": "0",
      "x": "0.621820998",
      "y": "1.417880943"
    },
    {
      "turn": "0",
      "x": "1.314332298",
      "y": "1.528466682"
    },
    {
      "turn": "0",
      "x": "1.555595973",
      "y": "1.528466679"
    },
    {
      "turn": "0",
      "x": "0.831937169",
      "y": "1.536453095"
    },
    {
      "turn": "0",
      "x": "1.073200845",
      "y": "1.536453094"
    },
    {
      "turn": "0",
      "x": "0.501189160",
      "y": "1.626821414"
    },
    {
      "turn": "0",
      "x": "1.434964134",
      "y": "1.737407154"
    },
    {
      "turn": "0",
      "x": "0.711305331",
      "y": "1.745393566"
    },
    {
      "turn": "0",
      "x": "0.952569006",
      "y": "1.745393566"
    },
    {
      "turn": "0",
      "x": "1.193832681",
      "y": "1.745393566"
    }
  ],
  "radius": "0.120631837"
}

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.