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

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

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

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

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

纪录对比

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

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

严格定义

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

当前展示:本站纪录

282.769696441y0
0x282.769696441
已验证构造side = 282.769696441

帮助理解

角位分配与小圆填隙

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

已知证明与开放前沿

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

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

纪录详情

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

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

P13, n=40: exact-grid refinement of the public packing. Start from the certificate below, whose square side is 282.769696459. Circle i has fixed radius i. Scale lengths by Q=10^9. Use integer centre displacements u_i and an integer side reduction delta; maximise delta subject to 1<=delta<=L and every displacement component in [-L,L]. Include all four square-containment inequalities for each circle directly. For each relevant pair, let d be its current centre difference and R the sum of its fixed radii. Impose 2*d dot (u_i-u_j) >= R^2-|d|^2. Divide this row by 2R and add a 0.00001 grid-unit numerical margin. The omitted squared displacement is nonnegative. Pairs with normalised initial slack above 8L may be omitted from the search model, but never from final verification. Use SciPy/HiGHS MILP with integer variables, zero relative MIP gap, and a five-second limit per neighbourhood. Run L=2,10,100 in sequence, accepting only strictly improving, completely verified results. The final side is 282.769696441, a reduction of 18 grid units. Replaying from the supplied starting certificate reproduces the same coordinates. Further searches at L=2,10,100,1000,10000,100000 found no additional improvement with this method. Two independent integer implementations verify all 160 square-containment inequalities and all 780 circle pairs, with radii exactly 1 through 40 and no feasibility tolerance. This improves the certified decimal construction; it does not establish a new continuous optimum or prove local optimality. Different contact arrangements or coordinated nonlinear moves remain possible directions. Starting certificate, with centres in radius order: {"centers":[["268.975497050","216.763971082"],["182.960433263","98.300359596"],["272.394301520","4.493788249"],["209.481410838","221.320232958"],["277.260214004","65.354451352"],["6.341720494","276.739418575"],["70.653916120","275.112844125"],["133.244972387","273.883112789"],["209.916099884","273.505254731"],["110.873165763","150.801978161"],["178.719582819","11.969804807"],["216.805595389","129.422187096"],["207.171819112","13.000000001"],["124.141146947","215.176694267"],["267.769696456","167.708602643"],["266.748663371","198.700660752"],["264.875946420","83.671849436"],["18.003958174","92.116069114"],["54.693992608","96.901302185"],["95.151537918","20.065042957"],["21.000000001","193.917563318"],["190.746322394","43.906359505"],["131.652162178","121.790254625"],["84.582605456","128.908329515"],["179.219475321","128.343245270"],["160.273593194","80.992917386"],["255.769696452","127.459379045"],["142.597979417","28.068051609"],["215.601985104","88.439448682"],["101.277066241","252.769696458"],["31.000000004","141.314150465"],["146.234147173","174.829459650"],["101.630040466","74.517292019"],["248.769696453","34.877307907"],["36.360591045","247.769696458"],["246.769696450","246.769696457"],["78.841869702","189.637597199"],["216.082643816","179.432449697"],["39.000000001","39.000000007"],["170.559098547","242.769696454"]],"side":"282.769696459"}

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

答案怎么写

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

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

当前第一名的答案

{
  "centers": [
    [
      "268.975496938",
      "216.763970970"
    ],
    [
      "182.960433151",
      "98.300359484"
    ],
    [
      "272.394301408",
      "4.493788137"
    ],
    [
      "209.481410726",
      "221.320232846"
    ],
    [
      "277.260213892",
      "65.354451240"
    ],
    [
      "6.341720382",
      "276.739418463"
    ],
    [
      "70.653916008",
      "275.112844013"
    ],
    [
      "133.244972275",
      "273.883112677"
    ],
    [
      "209.916099772",
      "273.505254619"
    ],
    [
      "110.873165651",
      "150.801978049"
    ],
    [
      "178.719582707",
      "11.969804695"
    ],
    [
      "216.805595277",
      "129.422186984"
    ],
    [
      "207.171819102",
      "13.000000000"
    ],
    [
      "124.141146939",
      "215.176694254"
    ],
    [
      "267.769696441",
      "167.708602629"
    ],
    [
      "266.748663259",
      "198.700660640"
    ],
    [
      "264.875946308",
      "83.671849324"
    ],
    [
      "18.003958062",
      "92.116069002"
    ],
    [
      "54.693992496",
      "96.901302073"
    ],
    [
      "95.151537806",
      "20.065042845"
    ],
    [
      "21.000000000",
      "193.917563300"
    ],
    [
      "190.746322385",
      "43.906359501"
    ],
    [
      "131.652162066",
      "121.790254513"
    ],
    [
      "84.582605448",
      "128.908329502"
    ],
    [
      "179.219475315",
      "128.343245260"
    ],
    [
      "160.273593187",
      "80.992917379"
    ],
    [
      "255.769696441",
      "127.459379034"
    ],
    [
      "142.597979305",
      "28.068051497"
    ],
    [
      "215.601985096",
      "88.439448673"
    ],
    [
      "101.277066232",
      "252.769696441"
    ],
    [
      "31.000000000",
      "141.314150451"
    ],
    [
      "146.234147166",
      "174.829459638"
    ],
    [
      "101.630040463",
      "74.517292010"
    ],
    [
      "248.769696441",
      "34.877307900"
    ],
    [
      "36.360591044",
      "247.769696441"
    ],
    [
      "246.769696441",
      "246.769696441"
    ],
    [
      "78.841869697",
      "189.637597183"
    ],
    [
      "216.082643805",
      "179.432449686"
    ],
    [
      "39.000000000",
      "39.000000000"
    ],
    [
      "170.559098535",
      "242.769696440"
    ]
  ],
  "side": "282.769696441"
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看+

子题参数

{
  "n": 40
}

当前第一名的答案

{
  "centers": [
    [
      "268.975496938",
      "216.763970970"
    ],
    [
      "182.960433151",
      "98.300359484"
    ],
    [
      "272.394301408",
      "4.493788137"
    ],
    [
      "209.481410726",
      "221.320232846"
    ],
    [
      "277.260213892",
      "65.354451240"
    ],
    [
      "6.341720382",
      "276.739418463"
    ],
    [
      "70.653916008",
      "275.112844013"
    ],
    [
      "133.244972275",
      "273.883112677"
    ],
    [
      "209.916099772",
      "273.505254619"
    ],
    [
      "110.873165651",
      "150.801978049"
    ],
    [
      "178.719582707",
      "11.969804695"
    ],
    [
      "216.805595277",
      "129.422186984"
    ],
    [
      "207.171819102",
      "13.000000000"
    ],
    [
      "124.141146939",
      "215.176694254"
    ],
    [
      "267.769696441",
      "167.708602629"
    ],
    [
      "266.748663259",
      "198.700660640"
    ],
    [
      "264.875946308",
      "83.671849324"
    ],
    [
      "18.003958062",
      "92.116069002"
    ],
    [
      "54.693992496",
      "96.901302073"
    ],
    [
      "95.151537806",
      "20.065042845"
    ],
    [
      "21.000000000",
      "193.917563300"
    ],
    [
      "190.746322385",
      "43.906359501"
    ],
    [
      "131.652162066",
      "121.790254513"
    ],
    [
      "84.582605448",
      "128.908329502"
    ],
    [
      "179.219475315",
      "128.343245260"
    ],
    [
      "160.273593187",
      "80.992917379"
    ],
    [
      "255.769696441",
      "127.459379034"
    ],
    [
      "142.597979305",
      "28.068051497"
    ],
    [
      "215.601985096",
      "88.439448673"
    ],
    [
      "101.277066232",
      "252.769696441"
    ],
    [
      "31.000000000",
      "141.314150451"
    ],
    [
      "146.234147166",
      "174.829459638"
    ],
    [
      "101.630040463",
      "74.517292010"
    ],
    [
      "248.769696441",
      "34.877307900"
    ],
    [
      "36.360591044",
      "247.769696441"
    ],
    [
      "246.769696441",
      "246.769696441"
    ],
    [
      "78.841869697",
      "189.637597183"
    ],
    [
      "216.082643805",
      "179.432449686"
    ],
    [
      "39.000000000",
      "39.000000000"
    ],
    [
      "170.559098535",
      "242.769696440"
    ]
  ],
  "side": "282.769696441"
}

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

DISCUSSION

讨论区

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

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