P67 · 装箱与覆盖 · 经典问题 · 应用前沿 · 难

周长固定矩形内的可变半径圆 · n = 30

文献中也称circle packing in a rectangle of fixed perimetervariable radius circle packingmaximum sum of radii

在一个周长为 4、长宽均可改变的矩形内放入 n 个内部互不重叠的圆。每个圆的半径也可独立改变,使半径之和最大。

严格定义

  • 容器width>0、height>0,且 width+height=2;左下角固定为 (0,0)
  • 提交恰好 n 个圆,每个写成 [x,y,r],半径严格为正
  • 约束每个圆完整位于矩形内;圆的内部两两不相交,相切允许
  • 目标最大化所有半径的精确整数和
挑战这个纪录
1.052817245y0
0x0.947182755
已验证构造计分是全部半径之和

帮助理解

容器和货物一起优化

固定正方形时只能调整圆;这里把一点周长从高度移给宽度,会改变所有贴边圆和空隙。它是容器选型与装箱设计耦合的最小模型。

为什么不平均

相同半径通常浪费曲边之间的空隙。大圆决定矩形比例,小圆填补接触图中的孔洞;增加一个圆甚至可能令整个长宽比跳到另一种结构。

公开前沿

2026 年的公开计算项目给出了 n≤60 的完整坐标。本站从第一个非平凡实例 n=3 开始展示其可验证九位网格版本;这些是最好已知构型,不是最优性证明。

查看来源
周长固定矩形内的可变半径圆 n = 30 的当前纪录构型,2.843145768
当前第一名

2.843145768

半径之和

已追平已知最好
答案来源Timo Berthold, Dominik Kamp, Gonzalo Mexi, Sebastian Pokutta and Ilja Polik
解题方式公开参考构造
挑战这个纪录
ANSWER FORMAT

答案怎么写

矩形左下角为 (0,0),宽为 width、高为 height;周长 2(width+height)=4。

提交 width、height,以及恰好 n 个 [x, y, r]。width + height 必须精确等于 2;所有数是最多九位小数的字符串。

当前第一名的答案

{
  "circles": [
    [
      "0.618141154",
      "0.266147356",
      "0.099808156"
    ],
    [
      "0.074386866",
      "0.978430376",
      "0.074386647"
    ],
    [
      "0.716880575",
      "0.436015452",
      "0.096671261"
    ],
    [
      "0.10798282",
      "0.10798282",
      "0.107982661"
    ],
    [
      "0.880361908",
      "0.434177955",
      "0.066820394"
    ],
    [
      "0.631054464",
      "0.952514804",
      "0.100302435"
    ],
    [
      "0.425890157",
      "0.613103922",
      "0.098949951"
    ],
    [
      "0.114674562",
      "0.793712354",
      "0.114673779"
    ],
    [
      "0.514313671",
      "0.097898188",
      "0.097897427"
    ],
    [
      "0.329041604",
      "0.786669886",
      "0.099808156"
    ],
    [
      "0.225676672",
      "0.273827738",
      "0.095380016"
    ],
    [
      "0.832508196",
      "0.259104887",
      "0.114673779"
    ],
    [
      "0.835812133",
      "0.606709533",
      "0.111369911"
    ],
    [
      "0.065153633",
      "0.275738938",
      "0.06515363"
    ],
    [
      "0.230302183",
      "0.616801789",
      "0.096671261"
    ],
    [
      "0.624634661",
      "0.609515338",
      "0.099826196"
    ],
    [
      "0.241339873",
      "0.959140468",
      "0.093676771"
    ],
    [
      "0.521292602",
      "0.43971332",
      "0.098949951"
    ],
    [
      "0.06682085",
      "0.618639286",
      "0.066820394"
    ],
    [
      "0.882029125",
      "0.777078303",
      "0.06515363"
    ],
    [
      "0.527483671",
      "0.78261621",
      "0.098673649"
    ],
    [
      "0.419699088",
      "0.270201032",
      "0.098673649"
    ],
    [
      "0.721506087",
      "0.778989504",
      "0.095380016"
    ],
    [
      "0.872795893",
      "0.074386866",
      "0.074386647"
    ],
    [
      "0.839199939",
      "0.944834422",
      "0.107982661"
    ],
    [
      "0.322548098",
      "0.443301904",
      "0.099826196"
    ],
    [
      "0.111370625",
      "0.446107708",
      "0.111369911"
    ],
    [
      "0.316128294",
      "0.100302437",
      "0.100302435"
    ],
    [
      "0.432869088",
      "0.954919054",
      "0.097897427"
    ],
    [
      "0.705842885",
      "0.093676773",
      "0.093676771"
    ]
  ],
  "height": "1.052817245",
  "width": "0.947182755"
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看

子题参数

{
  "n": 30
}

当前第一名的答案

{
  "circles": [
    [
      "0.618141154",
      "0.266147356",
      "0.099808156"
    ],
    [
      "0.074386866",
      "0.978430376",
      "0.074386647"
    ],
    [
      "0.716880575",
      "0.436015452",
      "0.096671261"
    ],
    [
      "0.10798282",
      "0.10798282",
      "0.107982661"
    ],
    [
      "0.880361908",
      "0.434177955",
      "0.066820394"
    ],
    [
      "0.631054464",
      "0.952514804",
      "0.100302435"
    ],
    [
      "0.425890157",
      "0.613103922",
      "0.098949951"
    ],
    [
      "0.114674562",
      "0.793712354",
      "0.114673779"
    ],
    [
      "0.514313671",
      "0.097898188",
      "0.097897427"
    ],
    [
      "0.329041604",
      "0.786669886",
      "0.099808156"
    ],
    [
      "0.225676672",
      "0.273827738",
      "0.095380016"
    ],
    [
      "0.832508196",
      "0.259104887",
      "0.114673779"
    ],
    [
      "0.835812133",
      "0.606709533",
      "0.111369911"
    ],
    [
      "0.065153633",
      "0.275738938",
      "0.06515363"
    ],
    [
      "0.230302183",
      "0.616801789",
      "0.096671261"
    ],
    [
      "0.624634661",
      "0.609515338",
      "0.099826196"
    ],
    [
      "0.241339873",
      "0.959140468",
      "0.093676771"
    ],
    [
      "0.521292602",
      "0.43971332",
      "0.098949951"
    ],
    [
      "0.06682085",
      "0.618639286",
      "0.066820394"
    ],
    [
      "0.882029125",
      "0.777078303",
      "0.06515363"
    ],
    [
      "0.527483671",
      "0.78261621",
      "0.098673649"
    ],
    [
      "0.419699088",
      "0.270201032",
      "0.098673649"
    ],
    [
      "0.721506087",
      "0.778989504",
      "0.095380016"
    ],
    [
      "0.872795893",
      "0.074386866",
      "0.074386647"
    ],
    [
      "0.839199939",
      "0.944834422",
      "0.107982661"
    ],
    [
      "0.322548098",
      "0.443301904",
      "0.099826196"
    ],
    [
      "0.111370625",
      "0.446107708",
      "0.111369911"
    ],
    [
      "0.316128294",
      "0.100302437",
      "0.100302435"
    ],
    [
      "0.432869088",
      "0.954919054",
      "0.097897427"
    ],
    [
      "0.705842885",
      "0.093676773",
      "0.093676771"
    ]
  ],
  "height": "1.052817245",
  "width": "0.947182755"
}

提交 width、height,以及恰好 n 个 [x, y, r]。width + height 必须精确等于 2;所有数是最多九位小数的字符串。 · 验证器 v1.0.0

DISCUSSION

讨论区

聊思路、贴方法、问为什么卡住。发帖即公开署名,与纪录同一个名字;署名后的 #编号是账号的注册序号,冒不了名。发言资格与实绩绑定:破过一次纪录,就永久拥有发言权。新发言经自动审核后公开。

还没有帖子。第一个聊聊这道题的思路?