P02 · 装箱与覆盖 · 经典问题 · 基线易突破 · 难

单位圆内的等圆装箱 · n = 31

文献中也称circles in a circlepacking equal circles in a circlecci

在半径 1 的圆内放置 n 个半径相同、互不重叠的小圆,使共同半径尽可能大。

子题n = 31
目标最大化 共同半径

纪录对比

共同半径 · 越大越好
纪录数值 / 区间作者 / 持有人来源
外部已知最好[0.1589445415603400437408604261955, 0.1589445415603400437408604261965]见来源署名packomania.com ↗
本站纪录暂无选手纪录——

严格定义

  • 容器半径 1 的圆,圆心在 (1, 1),两个坐标都在 0 到 2 之间
  • 提交恰好 n 个圆:一个共同半径 radius 与 n 个圆心 centers
  • 约束每个圆完整落在容器内;两两内部不重叠,相切允许
  • 目标让共同半径尽可能大
挑战这个纪录 ↗

当前展示:起步布局

2y0
0x2
已验证构造r = 0.158944541

帮助理解

哪里有优化空间

最优构形是「卡死」的接触结构:圆彼此顶住、顶住边界,常出现斜排、错位、以及不碰任何邻居的游离圆。规整的网格摆法几乎从不最优。

前沿在哪里

n = 1..14 与 19 已证明;其余规模的最优性仍未知。本站接入 Packomania 中 n = 1..300 的公开构型,大规模部分集中成一张表供算法批量挑战。

查看来源
单位圆内的等圆装箱 n = 31 的当前构型
构型与历史

起步布局

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

挑战这个纪录 ↗提交证明 / 思路 ↓在讨论区分享证明或思路,审核采纳后可获得证明分。
ANSWER FORMAT

答案怎么写

容器是半径 1 的圆,圆心在 (1, 1),所以两个坐标都在 0 到 2 之间。坐标和半径用同一个单位,直接写成小数,例如 "0.5",最多九位小数。

提交 radius 与 centers。每个数写成十进制字符串,例如 "0.2"。

起步布局答案

{
  "centers": [
    [
      "0.724699978",
      "0.205277292"
    ],
    [
      "1.275300022",
      "0.205277292"
    ],
    [
      "0.449399957",
      "0.364221834"
    ],
    [
      "1",
      "0.364221834"
    ],
    [
      "1.550600043",
      "0.364221834"
    ],
    [
      "0.724699978",
      "0.523166375"
    ],
    [
      "1.275300022",
      "0.523166375"
    ],
    [
      "0.449399957",
      "0.682110917"
    ],
    [
      "1",
      "0.682110917"
    ],
    [
      "1.550600043",
      "0.682110917"
    ],
    [
      "0.174099935",
      "0.841055458"
    ],
    [
      "0.724699978",
      "0.841055458"
    ],
    [
      "1.275300022",
      "0.841055458"
    ],
    [
      "1.825900065",
      "0.841055458"
    ],
    [
      "0.449399957",
      "1"
    ],
    [
      "1",
      "1"
    ],
    [
      "1.550600043",
      "1"
    ],
    [
      "1.275300022",
      "1.158944542"
    ],
    [
      "0.174099935",
      "1.158944542"
    ],
    [
      "0.724699978",
      "1.158944542"
    ],
    [
      "1.825900065",
      "1.158944542"
    ],
    [
      "0.449399957",
      "1.317889083"
    ],
    [
      "1",
      "1.317889083"
    ],
    [
      "1.550600043",
      "1.317889083"
    ],
    [
      "0.724699978",
      "1.476833625"
    ],
    [
      "1.275300022",
      "1.476833625"
    ],
    [
      "0.449399957",
      "1.635778166"
    ],
    [
      "1",
      "1.635778166"
    ],
    [
      "1.550600043",
      "1.635778166"
    ],
    [
      "0.724699978",
      "1.794722708"
    ],
    [
      "1.275300022",
      "1.794722708"
    ]
  ],
  "radius": "0.158944541"
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看+

子题参数

{
  "n": 31
}

起步布局答案

{
  "centers": [
    [
      "0.724699978",
      "0.205277292"
    ],
    [
      "1.275300022",
      "0.205277292"
    ],
    [
      "0.449399957",
      "0.364221834"
    ],
    [
      "1",
      "0.364221834"
    ],
    [
      "1.550600043",
      "0.364221834"
    ],
    [
      "0.724699978",
      "0.523166375"
    ],
    [
      "1.275300022",
      "0.523166375"
    ],
    [
      "0.449399957",
      "0.682110917"
    ],
    [
      "1",
      "0.682110917"
    ],
    [
      "1.550600043",
      "0.682110917"
    ],
    [
      "0.174099935",
      "0.841055458"
    ],
    [
      "0.724699978",
      "0.841055458"
    ],
    [
      "1.275300022",
      "0.841055458"
    ],
    [
      "1.825900065",
      "0.841055458"
    ],
    [
      "0.449399957",
      "1"
    ],
    [
      "1",
      "1"
    ],
    [
      "1.550600043",
      "1"
    ],
    [
      "1.275300022",
      "1.158944542"
    ],
    [
      "0.174099935",
      "1.158944542"
    ],
    [
      "0.724699978",
      "1.158944542"
    ],
    [
      "1.825900065",
      "1.158944542"
    ],
    [
      "0.449399957",
      "1.317889083"
    ],
    [
      "1",
      "1.317889083"
    ],
    [
      "1.550600043",
      "1.317889083"
    ],
    [
      "0.724699978",
      "1.476833625"
    ],
    [
      "1.275300022",
      "1.476833625"
    ],
    [
      "0.449399957",
      "1.635778166"
    ],
    [
      "1",
      "1.635778166"
    ],
    [
      "1.550600043",
      "1.635778166"
    ],
    [
      "0.724699978",
      "1.794722708"
    ],
    [
      "1.275300022",
      "1.794722708"
    ]
  ],
  "radius": "0.158944541"
}

提交 radius 与 centers。每个数写成十进制字符串,例如 "0.2"。 · 验证器 v1.0.0

DISCUSSION

讨论区

聊思路、贴方法、问为什么卡住。所有登录用户都可以发帖;发言公开署名,与纪录使用同一个名字,署名后的 #编号是账号注册序号,冒不了名。新发言经自动审核后公开。

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