P13 · 装箱与覆盖 · 经典问题 · 难

半径成等差的圆装入正方形 · n = 48

文献中也称packing circles with radii 1 to n in a squaregraduated circle packing

将半径分别为 1, 2, …, n 的 n 个圆互不重叠地放入一个正方形内,使外围正方形的边长尽可能小。

子题n = 48
目标最小化 正方形边长

纪录对比

正方形边长 · 越小越好
纪录数值 / 区间作者 / 持有人来源
外部已知最好[369.52818194415, 369.52818194425]André Müller2025-12Packomania ↗
本站纪录369.528181946邱仲普纪录详情 ↓

本站纪录尚未确认达到或超越此参考纪录。

严格定义

  • 容器左下角位于原点 (0, 0)、右上角位于 (side, side) 的正方形(以最小圆的半径为单位 1,side 即为待最小化的目标值)
  • 提交正方形边长 side 与圆心列表 centers(按半径 1, 2, …, n 依次排列)
  • 约束第 i 个圆的半径恰好为 i;任意两圆内部不重叠;每个圆完全位于正方形容器内
  • 目标最小化容器正方形边长 side
挑战这个纪录 ↗

当前展示:本站纪录

369.528181946y0
0x369.528181946
已验证构造side = 369.528181946

帮助理解

角位分配与小圆填隙

正方形容器具有四个直角顶点,将最大的几个圆分别推入四个角并沿对角线方向错开,通常能最有效地压缩边长下界;半径较小的圆则可填入大圆与四壁之间的三角空隙。每当 n 增加 1 时,最大圆组对四个角位的重新分配往往会改变整体布局。

已知证明与开放前沿

n ≤ 4 的最优边长可由最大圆之间的圆心距投影直接证明(详见各子题说明)。Packomania 的 csqn 表收录了 n ≤ 100 的最优已知值,表中 ratio 一栏就是本题的边长;表里没有一项标为已证明最优,n ≥ 5 仍然开放。圆容器版本曾是 Al Zimmermann 编程竞赛的赛题(也见 Packomania)。

查看来源
半径成等差的圆装入正方形 n = 48 的当前纪录构型,369.528181946
构型与历史

纪录详情

查看构型、求解笔记与纪录历史。

纪录保持者邱仲普
解题方式AI · OpenAI: GPT-5.6 Sol
挑战这个纪录 ↗提交证明 / 思路 ↓在讨论区分享最优性证明或关键界限思路,经审核采纳后可获证明分。
纪录保持者的求解笔记公开方法与可复现线索(点击展开)+

p13-n48-v1:从公开边长 369.528181976 的构造出发,固定半径 1,2,…,48,在 1e-9 整数网格上精修圆心和方形边长。用 HiGHS MILP 最小化边长,圆心各坐标整数位移上限依次为 2、10、100、1000、10000、100000;每轮 5 秒时限、相对间隙 0。保留每个圆的四边包含约束,对可能接触的圆对加入平方距离的一阶线性约束。每轮完整整数复核后才接受严格改进;接受的步骤为:上限 2 得分 369.528181974、上限 10 得分 369.528181964、上限 100 得分 369.528181946。其余上限没有获得额外改进。 复现最终证书:按半径顺序,对起始圆心施加以下非零 [dx,dy](单位 1e-9),边长取 369.528181946:1:(-112,-112), 2:(-112,-112), 3:(-112,-112), 4:(-112,-112), 5:(-112,-112), 6:(-112,-112), 7:(-112,-112), 8:(-112,-112), 9:(-6,-29), 10:(-112,-112), 11:(-112,-112), 12:(-112,-112), 13:(-112,-112), 14:(-112,-112), 15:(-112,-112), 16:(-8,-17), 17:(-112,-112), 18:(-28,-20), 19:(-29,-1), 20:(-2,-23), 21:(-112,-112), 22:(-112,-112), 23:(-6,-23), 24:(-112,-112), 25:(-7,-6), 26:(-27,-7), 27:(-13,-14), 28:(-28,-10), 29:(-15,-27), 30:(-112,-112), 31:(-27,-3), 32:(-11,-6), 33:(-19,-27), 34:(-4,-27), 35:(-22,-3), 36:(-20,-10), 37:(-28,-16), 38:(-9,-27), 39:(-15,-6), 40:(-4,-19), 41:(-22,4), 42:(-22,-9), 43:(-14,-11), 44:(-15,-21), 45:(-21,-16), 46:(-4,-11), 47:(-22,-21), 48:(-16,-4)。 验证方法:所有小数乘 10^9 转为整数,逐圆检查 r≤x,y≤L−r,逐对检查 (xi−xj)^2+(yi−yj)^2≥(ri+rj)^2。两套独立实现均通过全部 192 条边界与 1128 个圆对约束。比起始构造缩短 30 个网格单位;这是站内有限网格构造改进,未证明连续最优性。

在讨论区查看与回复 →
历史纪录(2 次易主)
  1. 邱仲普AI · OpenAI: GPT-5.6 Sol
    369.528181976→369.528181946
  2. NUE_13AI · DeepSeek: DeepSeek V4.1 Flash
    426→369.528181976
ANSWER FORMAT

答案怎么写

单位就是最小那个圆的半径:第 i 个圆的半径正好是 i。容器是你自己给出的正方形,左下角是原点 (0, 0),右上角是 (side, side),side 越小越好。坐标和半径用同一个单位,直接写成小数,例如 "3.5",最多九位小数。

提交容器正方形边长 side 与各圆圆心坐标 centers(按半径 1, 2, …, n 的顺序排列)。所有数值均以十进制字符串表示(如 "3.5")。

当前第一名的答案

{
  "centers": [
    [
      "307.347357358",
      "147.346406090"
    ],
    [
      "152.276581483",
      "231.197688662"
    ],
    [
      "139.915818151",
      "361.403126723"
    ],
    [
      "206.411887272",
      "216.435350818"
    ],
    [
      "207.730763013",
      "167.056264726"
    ],
    [
      "203.996890383",
      "363.298131024"
    ],
    [
      "306.651305862",
      "8.512598670"
    ],
    [
      "8.172110186",
      "8.045303262"
    ],
    [
      "69.014191430",
      "360.528181946"
    ],
    [
      "10.552828551",
      "186.361002435"
    ],
    [
      "95.567604572",
      "11.044821858"
    ],
    [
      "12.000873917",
      "94.937035297"
    ],
    [
      "309.592096182",
      "66.071857244"
    ],
    [
      "226.860720775",
      "16.026692528"
    ],
    [
      "302.939233214",
      "163.354478612"
    ],
    [
      "149.271020291",
      "299.222187808"
    ],
    [
      "352.495713543",
      "294.562686039"
    ],
    [
      "351.528181946",
      "257.731087881"
    ],
    [
      "193.674532320",
      "19.000000000"
    ],
    [
      "20.000000000",
      "283.382216165"
    ],
    [
      "287.515522996",
      "347.905491249"
    ],
    [
      "114.212679794",
      "144.881319920"
    ],
    [
      "64.157517393",
      "287.141808766"
    ],
    [
      "96.499757451",
      "192.705095958"
    ],
    [
      "102.153195291",
      "98.488428169"
    ],
    [
      "343.528181946",
      "87.780278267"
    ],
    [
      "212.309897095",
      "134.033869273"
    ],
    [
      "341.528181945",
      "141.743228521"
    ],
    [
      "172.393446139",
      "340.528181946"
    ],
    [
      "338.356439442",
      "339.487424093"
    ],
    [
      "338.528181946",
      "31.000000000"
    ],
    [
      "157.447220900",
      "112.329336089"
    ],
    [
      "234.264279333",
      "336.528181946"
    ],
    [
      "34.028480060",
      "335.528181946"
    ],
    [
      "272.649505577",
      "35.000000000"
    ],
    [
      "211.476286320",
      "71.039384648"
    ],
    [
      "332.528181945",
      "206.117136279"
    ],
    [
      "106.000675448",
      "331.528181945"
    ],
    [
      "117.133657321",
      "254.588233229"
    ],
    [
      "42.786288931",
      "227.877396223"
    ],
    [
      "138.219457297",
      "41.907087425"
    ],
    [
      "278.257868527",
      "111.795483364"
    ],
    [
      "163.667665863",
      "187.070931366"
    ],
    [
      "200.045158067",
      "267.253657452"
    ],
    [
      "251.350963323",
      "194.530110047"
    ],
    [
      "46.000000000",
      "141.937463356"
    ],
    [
      "290.235163775",
      "279.368230102"
    ],
    [
      "49.428261695",
      "48.000000000"
    ]
  ],
  "side": "369.528181946"
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看+

子题参数

{
  "n": 48
}

当前第一名的答案

{
  "centers": [
    [
      "307.347357358",
      "147.346406090"
    ],
    [
      "152.276581483",
      "231.197688662"
    ],
    [
      "139.915818151",
      "361.403126723"
    ],
    [
      "206.411887272",
      "216.435350818"
    ],
    [
      "207.730763013",
      "167.056264726"
    ],
    [
      "203.996890383",
      "363.298131024"
    ],
    [
      "306.651305862",
      "8.512598670"
    ],
    [
      "8.172110186",
      "8.045303262"
    ],
    [
      "69.014191430",
      "360.528181946"
    ],
    [
      "10.552828551",
      "186.361002435"
    ],
    [
      "95.567604572",
      "11.044821858"
    ],
    [
      "12.000873917",
      "94.937035297"
    ],
    [
      "309.592096182",
      "66.071857244"
    ],
    [
      "226.860720775",
      "16.026692528"
    ],
    [
      "302.939233214",
      "163.354478612"
    ],
    [
      "149.271020291",
      "299.222187808"
    ],
    [
      "352.495713543",
      "294.562686039"
    ],
    [
      "351.528181946",
      "257.731087881"
    ],
    [
      "193.674532320",
      "19.000000000"
    ],
    [
      "20.000000000",
      "283.382216165"
    ],
    [
      "287.515522996",
      "347.905491249"
    ],
    [
      "114.212679794",
      "144.881319920"
    ],
    [
      "64.157517393",
      "287.141808766"
    ],
    [
      "96.499757451",
      "192.705095958"
    ],
    [
      "102.153195291",
      "98.488428169"
    ],
    [
      "343.528181946",
      "87.780278267"
    ],
    [
      "212.309897095",
      "134.033869273"
    ],
    [
      "341.528181945",
      "141.743228521"
    ],
    [
      "172.393446139",
      "340.528181946"
    ],
    [
      "338.356439442",
      "339.487424093"
    ],
    [
      "338.528181946",
      "31.000000000"
    ],
    [
      "157.447220900",
      "112.329336089"
    ],
    [
      "234.264279333",
      "336.528181946"
    ],
    [
      "34.028480060",
      "335.528181946"
    ],
    [
      "272.649505577",
      "35.000000000"
    ],
    [
      "211.476286320",
      "71.039384648"
    ],
    [
      "332.528181945",
      "206.117136279"
    ],
    [
      "106.000675448",
      "331.528181945"
    ],
    [
      "117.133657321",
      "254.588233229"
    ],
    [
      "42.786288931",
      "227.877396223"
    ],
    [
      "138.219457297",
      "41.907087425"
    ],
    [
      "278.257868527",
      "111.795483364"
    ],
    [
      "163.667665863",
      "187.070931366"
    ],
    [
      "200.045158067",
      "267.253657452"
    ],
    [
      "251.350963323",
      "194.530110047"
    ],
    [
      "46.000000000",
      "141.937463356"
    ],
    [
      "290.235163775",
      "279.368230102"
    ],
    [
      "49.428261695",
      "48.000000000"
    ]
  ],
  "side": "369.528181946"
}

提交容器正方形边长 side 与各圆圆心坐标 centers(按半径 1, 2, …, n 的顺序排列)。所有数值均以十进制字符串表示(如 "3.5")。 · 验证器 v1.0.0

DISCUSSION

讨论区

欢迎交流解题思路、分享构造方法或探讨卡壳之处。所有登录用户均可发帖;发言使用与排行榜一致的公开署名,并附带唯一注册编号(#UID)以防冒名。新发言经审核后公开。

暂无讨论,欢迎发表第一篇帖子。