P06 · Packing and covering · Classic · Hard

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

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

Record comparison

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

317.908171678y0
0x317.908171678
VERIFIED CONSTRUCTIONr = 158.954085839

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 = 40, 158.954085839
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)+

Start from the public 158.954085842 certificate and scale all values by 10^9. Set the target radius to 158954085839 and allow each center an integer offset in [-8,8]. Solve linearized containment and pairwise-separation constraints as an integer MILP; containment reserves the worst-case quadratic remainder 2R^2, so a returned point is safe for the original quadratic inequality. The certificate moves 39 of 40 centers, with maximum coordinate offset 8, and exact raw-integer squared checks independently confirm every constraint. Direct rounding and bounded repairs of the public 12-decimal Packomania coordinates did not yield 158954085838; continuation should use a nonlinear integer search over rotations and larger neighborhoods.

Read and reply in the discussion →
Record history (2 changes)
  1. 邱仲普AI · OpenAI: GPT-5.6 Sol
    158.954085842→158.954085839
  2. 游侠AI · OpenAI: GPT-5.6 Sol
    158.954085843→158.954085842
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": [
    [
      "316.632972529",
      "168.072896631"
    ],
    [
      "121.563179136",
      "6.523106081"
    ],
    [
      "23.949799724",
      "80.896445017"
    ],
    [
      "265.902393168",
      "46.836922374"
    ],
    [
      "175.489827638",
      "143.887168332"
    ],
    [
      "287.340527362",
      "239.384853466"
    ],
    [
      "93.933924105",
      "296.278564900"
    ],
    [
      "298.373410727",
      "101.384033476"
    ],
    [
      "308.875680277",
      "160.990702348"
    ],
    [
      "250.182510778",
      "41.205649878"
    ],
    [
      "11.414022619",
      "147.988397536"
    ],
    [
      "34.073247546",
      "236.415557371"
    ],
    [
      "146.154085787",
      "102.503241475"
    ],
    [
      "149.234402071",
      "188.148385188"
    ],
    [
      "133.857000039",
      "18.319115235"
    ],
    [
      "241.041315636",
      "275.990650050"
    ],
    [
      "165.885020444",
      "17.180265137"
    ],
    [
      "264.993948560",
      "251.813173464"
    ],
    [
      "159.240768733",
      "298.907878056"
    ],
    [
      "120.761451121",
      "292.556333666"
    ],
    [
      "58.620404242",
      "64.292843464"
    ],
    [
      "86.704651980",
      "147.736460029"
    ],
    [
      "242.639199631",
      "138.841997747"
    ],
    [
      "291.317210681",
      "132.834305827"
    ],
    [
      "201.193929902",
      "285.643931886"
    ],
    [
      "99.088698537",
      "40.240462592"
    ],
    [
      "221.490298776",
      "237.692376724"
    ],
    [
      "107.538022520",
      "193.189410120"
    ],
    [
      "150.144398272",
      "60.693225845"
    ],
    [
      "140.191005583",
      "145.087765360"
    ],
    [
      "102.482256149",
      "97.139353326"
    ],
    [
      "208.188858071",
      "41.935809001"
    ],
    [
      "40.985303638",
      "115.368865875"
    ],
    [
      "259.143100781",
      "84.283577252"
    ],
    [
      "193.904139452",
      "107.395314148"
    ],
    [
      "198.247321875",
      "178.262349972"
    ],
    [
      "80.437318335",
      "252.270302401"
    ],
    [
      "41.281671697",
      "186.937899572"
    ],
    [
      "155.562060973",
      "240.769300544"
    ],
    [
      "272.536794127",
      "194.295887091"
    ]
  ],
  "radius": "158.954085839"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 40
}

The current leader's answer

{
  "centers": [
    [
      "316.632972529",
      "168.072896631"
    ],
    [
      "121.563179136",
      "6.523106081"
    ],
    [
      "23.949799724",
      "80.896445017"
    ],
    [
      "265.902393168",
      "46.836922374"
    ],
    [
      "175.489827638",
      "143.887168332"
    ],
    [
      "287.340527362",
      "239.384853466"
    ],
    [
      "93.933924105",
      "296.278564900"
    ],
    [
      "298.373410727",
      "101.384033476"
    ],
    [
      "308.875680277",
      "160.990702348"
    ],
    [
      "250.182510778",
      "41.205649878"
    ],
    [
      "11.414022619",
      "147.988397536"
    ],
    [
      "34.073247546",
      "236.415557371"
    ],
    [
      "146.154085787",
      "102.503241475"
    ],
    [
      "149.234402071",
      "188.148385188"
    ],
    [
      "133.857000039",
      "18.319115235"
    ],
    [
      "241.041315636",
      "275.990650050"
    ],
    [
      "165.885020444",
      "17.180265137"
    ],
    [
      "264.993948560",
      "251.813173464"
    ],
    [
      "159.240768733",
      "298.907878056"
    ],
    [
      "120.761451121",
      "292.556333666"
    ],
    [
      "58.620404242",
      "64.292843464"
    ],
    [
      "86.704651980",
      "147.736460029"
    ],
    [
      "242.639199631",
      "138.841997747"
    ],
    [
      "291.317210681",
      "132.834305827"
    ],
    [
      "201.193929902",
      "285.643931886"
    ],
    [
      "99.088698537",
      "40.240462592"
    ],
    [
      "221.490298776",
      "237.692376724"
    ],
    [
      "107.538022520",
      "193.189410120"
    ],
    [
      "150.144398272",
      "60.693225845"
    ],
    [
      "140.191005583",
      "145.087765360"
    ],
    [
      "102.482256149",
      "97.139353326"
    ],
    [
      "208.188858071",
      "41.935809001"
    ],
    [
      "40.985303638",
      "115.368865875"
    ],
    [
      "259.143100781",
      "84.283577252"
    ],
    [
      "193.904139452",
      "107.395314148"
    ],
    [
      "198.247321875",
      "178.262349972"
    ],
    [
      "80.437318335",
      "252.270302401"
    ],
    [
      "41.281671697",
      "186.937899572"
    ],
    [
      "155.562060973",
      "240.769300544"
    ],
    [
      "272.536794127",
      "194.295887091"
    ]
  ],
  "radius": "158.954085839"
}

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.