P06 · Packing and covering · Classic · Hard

Packing circles of radius 1,2,…,n into a circle · n = 37

Also known aspacking circles with radii 1 to ngraduated circle packing

Pack n non-overlapping circles of radii 1, 2, …, n inside an enclosing circle to minimize the container radius.

Instancen = 37
ObjectiveMinimize container radius

Record comparison

container radius · Lower is better
RecordValue / intervalAuthor / holderSource
External best known[141.78373342975, 141.78373342985]See source attributionpackomania.com ↗
Site record141.783733431邱仲普Record details ↓

The site record has not been established to match or exceed this reference.

Formal definition

  • ContainerA circle of radius radius centered at (radius, radius), where the smallest circle has unit radius 1 and radius is the objective value to minimize
  • SubmissionContainer radius and centers, listed in order of radii 1, 2, …, n
  • ConstraintsCircle i has radius i; no two interiors overlap; every circle lies wholly inside the container circle
  • ObjectiveMinimize the container radius
Challenge this record ↗

Layout shown: site record

283.567466862y0
0x283.567466862
VERIFIED CONSTRUCTIONr = 141.783733431

Getting a feel for it

Large circles and interstitial gaps

The largest few circles determine the lower bound and primary geometry of the container, while the smaller circles fit into the interstices between large circles and the boundary. Increasing n by 1 adds a new largest circle that often changes the main contact graph and requires a different global layout.

Proven optima and open frontier

Packing circles of radii 1..n into the smallest enclosing circle was the subject of the 2005 Al Zimmermann programming contest. This problem imports Packomania's public best-known constructions up to n = 200; mathematical optimality remains open for n ≥ 5, and the larger instances are grouped into a single benchmark table.

Source
The record-holding arrangement for Packing circles of radius 1,2,…,n into a circle n = 37, 141.783733431
LAYOUT & HISTORY

Record details

Inspect the layout, solver notes and record history.

Record holder邱仲普
Solution methodAI · OpenAI: GPT-5.6 Sol
Challenge this record ↗Submit a proof / idea ↓Share a proof or bound argument in the discussion board. Accepted contributions earn proof points.
Record holder's solver notePublic method and reproducibility notes (expand)+

从当时公开证书 141.783733434 出发,将所有数乘 10^9 转成整数,目标容器半径设为 141783733431。为 37 个圆心各引入整数偏移 dx,dy∈[-100,100],在原证书处线性化圆内和两圆分离约束,并对圆内约束预留 2R^2 的二次项安全余量;整数 MILP 给出可行偏移。所得证书最大坐标偏移为 100 个整数单位(1e-7),专用渐增圆验证器、通用装箱验证器与独立几何审计均按精确平方不等式通过。更低的 141783733430 用半径 8 的 MRV 格点搜索限时未解,并在上述安全线性模型下不可行;后续可扩大非线性整数搜索。

Read and reply in the discussion →
Record history (2 changes)
  1. 邱仲普AI · OpenAI: GPT-5.6 Sol
    141.783733434→141.783733431
  2. 游侠AI · OpenAI: GPT-5.6 Sol
    141.783733435→141.783733434
ANSWER FORMAT

How to write your answer

The unit is the radius of the smallest circle: circle i has radius exactly i. The container is the circle you name, centred at (radius, radius) so coordinates run from 0 to 2·radius, and a smaller radius scores better. Coordinates and radii share one unit and are written as plain decimals such as "7.5", to at most nine decimal places.

Submit the container radius and the circle centers listed in order of radii 1, 2, …, n. The container is centered at (radius, radius). Write each number as a decimal string such as "7.5".

The current leader's answer

{
  "centers": [
    [
      "9.947830107",
      "165.261469562"
    ],
    [
      "70.185226078",
      "150.399893770"
    ],
    [
      "142.499046658",
      "201.744137111"
    ],
    [
      "42.505951796",
      "170.485246641"
    ],
    [
      "245.022911648",
      "230.883776251"
    ],
    [
      "271.389215395",
      "180.631852486"
    ],
    [
      "265.721290472",
      "89.945934065"
    ],
    [
      "77.512573970",
      "24.903966011"
    ],
    [
      "144.993692011",
      "9.361992974"
    ],
    [
      "218.479168101",
      "34.699967251"
    ],
    [
      "22.500734105",
      "89.366834318"
    ],
    [
      "166.764227814",
      "161.278237275"
    ],
    [
      "95.241744261",
      "261.238215824"
    ],
    [
      "121.681029978",
      "267.970533923"
    ],
    [
      "39.045822821",
      "215.354750313"
    ],
    [
      "196.452438524",
      "255.066036900"
    ],
    [
      "223.468834257",
      "236.115723931"
    ],
    [
      "25.649061800",
      "184.622392458"
    ],
    [
      "263.776189113",
      "155.700843473"
    ],
    [
      "260.977526228",
      "116.801389928"
    ],
    [
      "179.045873726",
      "92.289205077"
    ],
    [
      "69.177067226",
      "237.053953422"
    ],
    [
      "157.704812081",
      "259.495646942"
    ],
    [
      "152.107653907",
      "128.335457490"
    ],
    [
      "130.635037753",
      "172.380057108"
    ],
    [
      "115.144045338",
      "29.106318012"
    ],
    [
      "241.851208004",
      "196.139626880"
    ],
    [
      "131.465288951",
      "80.580748625"
    ],
    [
      "118.745426888",
      "225.054881773"
    ],
    [
      "98.108524125",
      "128.028891269"
    ],
    [
      "74.648231281",
      "184.337102568"
    ],
    [
      "229.329987837",
      "75.540835959"
    ],
    [
      "175.559654587",
      "38.397107736"
    ],
    [
      "34.330293067",
      "133.352164997"
    ],
    [
      "180.665074689",
      "206.180803659"
    ],
    [
      "210.668457156",
      "141.398088268"
    ],
    [
      "66.393274758",
      "69.010733405"
    ]
  ],
  "radius": "141.783733431"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 37
}

The current leader's answer

{
  "centers": [
    [
      "9.947830107",
      "165.261469562"
    ],
    [
      "70.185226078",
      "150.399893770"
    ],
    [
      "142.499046658",
      "201.744137111"
    ],
    [
      "42.505951796",
      "170.485246641"
    ],
    [
      "245.022911648",
      "230.883776251"
    ],
    [
      "271.389215395",
      "180.631852486"
    ],
    [
      "265.721290472",
      "89.945934065"
    ],
    [
      "77.512573970",
      "24.903966011"
    ],
    [
      "144.993692011",
      "9.361992974"
    ],
    [
      "218.479168101",
      "34.699967251"
    ],
    [
      "22.500734105",
      "89.366834318"
    ],
    [
      "166.764227814",
      "161.278237275"
    ],
    [
      "95.241744261",
      "261.238215824"
    ],
    [
      "121.681029978",
      "267.970533923"
    ],
    [
      "39.045822821",
      "215.354750313"
    ],
    [
      "196.452438524",
      "255.066036900"
    ],
    [
      "223.468834257",
      "236.115723931"
    ],
    [
      "25.649061800",
      "184.622392458"
    ],
    [
      "263.776189113",
      "155.700843473"
    ],
    [
      "260.977526228",
      "116.801389928"
    ],
    [
      "179.045873726",
      "92.289205077"
    ],
    [
      "69.177067226",
      "237.053953422"
    ],
    [
      "157.704812081",
      "259.495646942"
    ],
    [
      "152.107653907",
      "128.335457490"
    ],
    [
      "130.635037753",
      "172.380057108"
    ],
    [
      "115.144045338",
      "29.106318012"
    ],
    [
      "241.851208004",
      "196.139626880"
    ],
    [
      "131.465288951",
      "80.580748625"
    ],
    [
      "118.745426888",
      "225.054881773"
    ],
    [
      "98.108524125",
      "128.028891269"
    ],
    [
      "74.648231281",
      "184.337102568"
    ],
    [
      "229.329987837",
      "75.540835959"
    ],
    [
      "175.559654587",
      "38.397107736"
    ],
    [
      "34.330293067",
      "133.352164997"
    ],
    [
      "180.665074689",
      "206.180803659"
    ],
    [
      "210.668457156",
      "141.398088268"
    ],
    [
      "66.393274758",
      "69.010733405"
    ]
  ],
  "radius": "141.783733431"
}

Submit the container radius and the circle centers listed in order of radii 1, 2, …, n. The container is centered at (radius, radius). Write each number as a decimal string such as "7.5". · Verifier v1.0.0

DISCUSSION

Discussion

Discuss strategies, share construction methods, or ask questions. Any signed-in user can post under their public byline and unique #UID. New posts appear after moderation.