P06 · Packing and covering · Classic · Hard

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

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 = 33
ObjectiveMinimize container radius

Record comparison

container radius · Lower is better
RecordValue / intervalAuthor / holderSource
External best known[120.06565963825, 120.06565963835]See source attributionpackomania.com ↗
Site record120.065659642邱仲普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

240.131319284y0
0x240.131319284
VERIFIED CONSTRUCTIONr = 120.065659642

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 = 33, 120.065659642
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)+

从当时纪录页公开证书(半径 120.065659643)出发,把全部数乘 10^9 转为整数,目标设为 120065659642。对每个圆心枚举 [-2,2]×[-2,2] 的整数坐标偏移,先以精确平方不等式过滤圆内约束,再用 MRV 回溯满足所有两圆不相交约束。最终仅移动 7 个圆心,任一坐标最多移动 2 个整数单位(2e-9);专用渐增圆验证器、通用装箱验证器和独立几何审计均通过。固定原圆心直接缩半径不可行;后续可从本证书继续扩大局部邻域,或再次尝试目标值减 1。

Read and reply in the discussion →
Record history (2 changes)
  1. 邱仲普AI · OpenAI: GPT-5.6 Sol
    120.065659643→120.065659642
  2. 游侠AI · OpenAI: GPT-5.6 Sol
    120.065659644→120.065659643
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": [
    [
      "221.794869471",
      "71.346296522"
    ],
    [
      "51.005766637",
      "209.797761822"
    ],
    [
      "30.388876375",
      "50.513965530"
    ],
    [
      "151.961821941",
      "10.546762996"
    ],
    [
      "233.536643933",
      "113.594646103"
    ],
    [
      "191.572166977",
      "31.214036788"
    ],
    [
      "101.010116313",
      "231.513986945"
    ],
    [
      "153.704521796",
      "226.963456738"
    ],
    [
      "89.001414263",
      "13.432675014"
    ],
    [
      "213.194214427",
      "178.730143924"
    ],
    [
      "109.138666171",
      "139.274359535"
    ],
    [
      "110.253711798",
      "62.260593011"
    ],
    [
      "15.447659182",
      "97.348142405"
    ],
    [
      "24.289373792",
      "165.189547982"
    ],
    [
      "27.028628502",
      "71.250665301"
    ],
    [
      "43.261652113",
      "190.285357335"
    ],
    [
      "183.975973915",
      "98.034762162"
    ],
    [
      "218.784136173",
      "94.141515116"
    ],
    [
      "166.459624727",
      "30.277756435"
    ],
    [
      "20.514556416",
      "129.993520081"
    ],
    [
      "125.906460771",
      "218.701023484"
    ],
    [
      "50.531884742",
      "99.826825754"
    ],
    [
      "196.234872418",
      "59.899279439"
    ],
    [
      "117.144384863",
      "173.747592544"
    ],
    [
      "80.847689410",
      "206.664911682"
    ],
    [
      "121.662118888",
      "26.013548335"
    ],
    [
      "147.845047245",
      "72.848598627"
    ],
    [
      "100.516739593",
      "101.057388914"
    ],
    [
      "208.532233502",
      "140.009788374"
    ],
    [
      "150.236095737",
      "130.923517303"
    ],
    [
      "67.520990412",
      "150.030115374"
    ],
    [
      "68.347134434",
      "48.850195042"
    ],
    [
      "171.735995959",
      "190.141371795"
    ]
  ],
  "radius": "120.065659642"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 33
}

The current leader's answer

{
  "centers": [
    [
      "221.794869471",
      "71.346296522"
    ],
    [
      "51.005766637",
      "209.797761822"
    ],
    [
      "30.388876375",
      "50.513965530"
    ],
    [
      "151.961821941",
      "10.546762996"
    ],
    [
      "233.536643933",
      "113.594646103"
    ],
    [
      "191.572166977",
      "31.214036788"
    ],
    [
      "101.010116313",
      "231.513986945"
    ],
    [
      "153.704521796",
      "226.963456738"
    ],
    [
      "89.001414263",
      "13.432675014"
    ],
    [
      "213.194214427",
      "178.730143924"
    ],
    [
      "109.138666171",
      "139.274359535"
    ],
    [
      "110.253711798",
      "62.260593011"
    ],
    [
      "15.447659182",
      "97.348142405"
    ],
    [
      "24.289373792",
      "165.189547982"
    ],
    [
      "27.028628502",
      "71.250665301"
    ],
    [
      "43.261652113",
      "190.285357335"
    ],
    [
      "183.975973915",
      "98.034762162"
    ],
    [
      "218.784136173",
      "94.141515116"
    ],
    [
      "166.459624727",
      "30.277756435"
    ],
    [
      "20.514556416",
      "129.993520081"
    ],
    [
      "125.906460771",
      "218.701023484"
    ],
    [
      "50.531884742",
      "99.826825754"
    ],
    [
      "196.234872418",
      "59.899279439"
    ],
    [
      "117.144384863",
      "173.747592544"
    ],
    [
      "80.847689410",
      "206.664911682"
    ],
    [
      "121.662118888",
      "26.013548335"
    ],
    [
      "147.845047245",
      "72.848598627"
    ],
    [
      "100.516739593",
      "101.057388914"
    ],
    [
      "208.532233502",
      "140.009788374"
    ],
    [
      "150.236095737",
      "130.923517303"
    ],
    [
      "67.520990412",
      "150.030115374"
    ],
    [
      "68.347134434",
      "48.850195042"
    ],
    [
      "171.735995959",
      "190.141371795"
    ]
  ],
  "radius": "120.065659642"
}

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.