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

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

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

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

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

纪录对比

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

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

严格定义

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

当前展示:本站纪录

358.693608955y0
0x358.693608955
已验证构造side = 358.693608955

帮助理解

角位分配与小圆填隙

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

已知证明与开放前沿

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

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

纪录详情

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

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

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

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

答案怎么写

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

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

当前第一名的答案

{
  "centers": [
    [
      "272.083447266",
      "337.863956720"
    ],
    [
      "276.583535931",
      "192.480451680"
    ],
    [
      "115.326842711",
      "286.735975576"
    ],
    [
      "144.487175516",
      "7.707389447"
    ],
    [
      "350.654819612",
      "214.980231544"
    ],
    [
      "280.325884369",
      "80.280004700"
    ],
    [
      "80.954874687",
      "8.057866044"
    ],
    [
      "350.453594605",
      "275.824508863"
    ],
    [
      "273.849501421",
      "349.005868993"
    ],
    [
      "200.955961981",
      "348.693608955"
    ],
    [
      "122.291677297",
      "347.691501750"
    ],
    [
      "131.271430697",
      "122.906574003"
    ],
    [
      "213.064246292",
      "283.468072141"
    ],
    [
      "151.758109987",
      "184.832608424"
    ],
    [
      "15.149616014",
      "146.667345149"
    ],
    [
      "342.604010715",
      "132.234436794"
    ],
    [
      "341.693608955",
      "97.641994483"
    ],
    [
      "219.236648218",
      "18.000000000"
    ],
    [
      "19.000000000",
      "299.162426235"
    ],
    [
      "20.016410086",
      "338.676503723"
    ],
    [
      "258.121092409",
      "21.000000000"
    ],
    [
      "70.047293255",
      "194.619220037"
    ],
    [
      "189.114670484",
      "256.590240779"
    ],
    [
      "24.000000000",
      "185.194952408"
    ],
    [
      "57.409009927",
      "149.350314654"
    ],
    [
      "332.559871266",
      "246.475734233"
    ],
    [
      "27.059730277",
      "106.014916488"
    ],
    [
      "174.336759576",
      "28.000000000"
    ],
    [
      "152.973492320",
      "80.845158834"
    ],
    [
      "192.054925014",
      "203.671861143"
    ],
    [
      "112.092011973",
      "161.423809891"
    ],
    [
      "295.961581971",
      "115.236928639"
    ],
    [
      "113.542022955",
      "33.000000000"
    ],
    [
      "237.224966323",
      "323.782580793"
    ],
    [
      "174.849287329",
      "140.990396324"
    ],
    [
      "90.265964143",
      "97.955562396"
    ],
    [
      "244.088689687",
      "160.736412660"
    ],
    [
      "38.289916383",
      "245.525693244"
    ],
    [
      "319.492917260",
      "182.526399415"
    ],
    [
      "40.083436029",
      "40.079107170"
    ],
    [
      "162.751831222",
      "314.908340080"
    ],
    [
      "316.693608955",
      "44.200437614"
    ],
    [
      "78.755501821",
      "315.693608955"
    ],
    [
      "314.693608953",
      "314.693608955"
    ],
    [
      "227.197262495",
      "80.495028765"
    ],
    [
      "122.663935822",
      "237.694606571"
    ],
    [
      "257.897571916",
      "243.593607711"
    ]
  ],
  "side": "358.693608955"
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看+

子题参数

{
  "n": 47
}

当前第一名的答案

{
  "centers": [
    [
      "272.083447266",
      "337.863956720"
    ],
    [
      "276.583535931",
      "192.480451680"
    ],
    [
      "115.326842711",
      "286.735975576"
    ],
    [
      "144.487175516",
      "7.707389447"
    ],
    [
      "350.654819612",
      "214.980231544"
    ],
    [
      "280.325884369",
      "80.280004700"
    ],
    [
      "80.954874687",
      "8.057866044"
    ],
    [
      "350.453594605",
      "275.824508863"
    ],
    [
      "273.849501421",
      "349.005868993"
    ],
    [
      "200.955961981",
      "348.693608955"
    ],
    [
      "122.291677297",
      "347.691501750"
    ],
    [
      "131.271430697",
      "122.906574003"
    ],
    [
      "213.064246292",
      "283.468072141"
    ],
    [
      "151.758109987",
      "184.832608424"
    ],
    [
      "15.149616014",
      "146.667345149"
    ],
    [
      "342.604010715",
      "132.234436794"
    ],
    [
      "341.693608955",
      "97.641994483"
    ],
    [
      "219.236648218",
      "18.000000000"
    ],
    [
      "19.000000000",
      "299.162426235"
    ],
    [
      "20.016410086",
      "338.676503723"
    ],
    [
      "258.121092409",
      "21.000000000"
    ],
    [
      "70.047293255",
      "194.619220037"
    ],
    [
      "189.114670484",
      "256.590240779"
    ],
    [
      "24.000000000",
      "185.194952408"
    ],
    [
      "57.409009927",
      "149.350314654"
    ],
    [
      "332.559871266",
      "246.475734233"
    ],
    [
      "27.059730277",
      "106.014916488"
    ],
    [
      "174.336759576",
      "28.000000000"
    ],
    [
      "152.973492320",
      "80.845158834"
    ],
    [
      "192.054925014",
      "203.671861143"
    ],
    [
      "112.092011973",
      "161.423809891"
    ],
    [
      "295.961581971",
      "115.236928639"
    ],
    [
      "113.542022955",
      "33.000000000"
    ],
    [
      "237.224966323",
      "323.782580793"
    ],
    [
      "174.849287329",
      "140.990396324"
    ],
    [
      "90.265964143",
      "97.955562396"
    ],
    [
      "244.088689687",
      "160.736412660"
    ],
    [
      "38.289916383",
      "245.525693244"
    ],
    [
      "319.492917260",
      "182.526399415"
    ],
    [
      "40.083436029",
      "40.079107170"
    ],
    [
      "162.751831222",
      "314.908340080"
    ],
    [
      "316.693608955",
      "44.200437614"
    ],
    [
      "78.755501821",
      "315.693608955"
    ],
    [
      "314.693608953",
      "314.693608955"
    ],
    [
      "227.197262495",
      "80.495028765"
    ],
    [
      "122.663935822",
      "237.694606571"
    ],
    [
      "257.897571916",
      "243.593607711"
    ]
  ],
  "side": "358.693608955"
}

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

DISCUSSION

讨论区

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

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