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

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

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

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

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

纪录对比

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

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

严格定义

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

当前展示:本站纪录

314.582061839y0
0x314.582061839
已验证构造side = 314.582061839

帮助理解

角位分配与小圆填隙

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

已知证明与开放前沿

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

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

纪录详情

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

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

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

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

答案怎么写

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

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

当前第一名的答案

{
  "centers": [
    [
      "296.024327933",
      "97.287675211"
    ],
    [
      "174.340105814",
      "210.021308119"
    ],
    [
      "260.574168723",
      "245.881366804"
    ],
    [
      "230.039885154",
      "4.421441740"
    ],
    [
      "6.100347386",
      "308.665764736"
    ],
    [
      "182.955477179",
      "7.360430147"
    ],
    [
      "113.705800517",
      "7.037010377"
    ],
    [
      "305.514474270",
      "95.547517615"
    ],
    [
      "305.582061839",
      "247.114685961"
    ],
    [
      "304.582061839",
      "174.515422529"
    ],
    [
      "11.018927916",
      "240.567507893"
    ],
    [
      "137.293184382",
      "240.137495499"
    ],
    [
      "13.000000000",
      "214.589573959"
    ],
    [
      "49.697806216",
      "205.623271694"
    ],
    [
      "35.679644375",
      "231.010101717"
    ],
    [
      "234.519733953",
      "296.740240086"
    ],
    [
      "213.598633880",
      "129.653838437"
    ],
    [
      "296.558219862",
      "18.023841782"
    ],
    [
      "19.100979441",
      "81.711528333"
    ],
    [
      "206.137488881",
      "20.034414488"
    ],
    [
      "87.291832635",
      "293.582061839"
    ],
    [
      "85.633394694",
      "22.804398072"
    ],
    [
      "23.000000000",
      "180.006340901"
    ],
    [
      "250.629589615",
      "24.000000000"
    ],
    [
      "193.998879553",
      "289.582061839"
    ],
    [
      "176.125149596",
      "240.922196496"
    ],
    [
      "27.142815914",
      "127.250121880"
    ],
    [
      "229.341789322",
      "250.086761750"
    ],
    [
      "285.582061839",
      "63.841243523"
    ],
    [
      "141.606342422",
      "196.826256191"
    ],
    [
      "138.321235924",
      "283.582061839"
    ],
    [
      "32.000000000",
      "32.000000000"
    ],
    [
      "281.582061837",
      "281.582061839"
    ],
    [
      "34.000000000",
      "279.981305448"
    ],
    [
      "279.359481493",
      "211.782317231"
    ],
    [
      "88.941585173",
      "236.605941257"
    ],
    [
      "218.545810680",
      "75.880932232"
    ],
    [
      "81.573775650",
      "162.973642754"
    ],
    [
      "210.165641609",
      "185.548512281"
    ],
    [
      "80.757985602",
      "84.977908982"
    ],
    [
      "148.779625700",
      "41.000000000"
    ],
    [
      "272.465234968",
      "133.619097122"
    ],
    [
      "153.791220839",
      "124.850366214"
    ]
  ],
  "side": "314.582061839"
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看+

子题参数

{
  "n": 43
}

当前第一名的答案

{
  "centers": [
    [
      "296.024327933",
      "97.287675211"
    ],
    [
      "174.340105814",
      "210.021308119"
    ],
    [
      "260.574168723",
      "245.881366804"
    ],
    [
      "230.039885154",
      "4.421441740"
    ],
    [
      "6.100347386",
      "308.665764736"
    ],
    [
      "182.955477179",
      "7.360430147"
    ],
    [
      "113.705800517",
      "7.037010377"
    ],
    [
      "305.514474270",
      "95.547517615"
    ],
    [
      "305.582061839",
      "247.114685961"
    ],
    [
      "304.582061839",
      "174.515422529"
    ],
    [
      "11.018927916",
      "240.567507893"
    ],
    [
      "137.293184382",
      "240.137495499"
    ],
    [
      "13.000000000",
      "214.589573959"
    ],
    [
      "49.697806216",
      "205.623271694"
    ],
    [
      "35.679644375",
      "231.010101717"
    ],
    [
      "234.519733953",
      "296.740240086"
    ],
    [
      "213.598633880",
      "129.653838437"
    ],
    [
      "296.558219862",
      "18.023841782"
    ],
    [
      "19.100979441",
      "81.711528333"
    ],
    [
      "206.137488881",
      "20.034414488"
    ],
    [
      "87.291832635",
      "293.582061839"
    ],
    [
      "85.633394694",
      "22.804398072"
    ],
    [
      "23.000000000",
      "180.006340901"
    ],
    [
      "250.629589615",
      "24.000000000"
    ],
    [
      "193.998879553",
      "289.582061839"
    ],
    [
      "176.125149596",
      "240.922196496"
    ],
    [
      "27.142815914",
      "127.250121880"
    ],
    [
      "229.341789322",
      "250.086761750"
    ],
    [
      "285.582061839",
      "63.841243523"
    ],
    [
      "141.606342422",
      "196.826256191"
    ],
    [
      "138.321235924",
      "283.582061839"
    ],
    [
      "32.000000000",
      "32.000000000"
    ],
    [
      "281.582061837",
      "281.582061839"
    ],
    [
      "34.000000000",
      "279.981305448"
    ],
    [
      "279.359481493",
      "211.782317231"
    ],
    [
      "88.941585173",
      "236.605941257"
    ],
    [
      "218.545810680",
      "75.880932232"
    ],
    [
      "81.573775650",
      "162.973642754"
    ],
    [
      "210.165641609",
      "185.548512281"
    ],
    [
      "80.757985602",
      "84.977908982"
    ],
    [
      "148.779625700",
      "41.000000000"
    ],
    [
      "272.465234968",
      "133.619097122"
    ],
    [
      "153.791220839",
      "124.850366214"
    ]
  ],
  "side": "314.582061839"
}

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

DISCUSSION

讨论区

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

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