P06 · Packing and covering · Classic · Hard

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

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

Record comparison

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

377.929938012y0
0x377.929938012
VERIFIED CONSTRUCTIONr = 188.964969006

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 = 45, 188.964969006
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 188.964969009 certificate and scale every value by 10^9. Set target radius 188964969006, allow each center an integer offset in [-8,8], and solve linearized containment and pairwise-separation constraints as an integer MILP. Containment reserves the worst-case quadratic remainder 2R^2, so returned points satisfy the original quadratic constraints. All 45 centers move, maximum coordinate offset 8; three independent exact raw-integer squared checks confirm feasibility. The published 188.9649690047 value suggests grid target 188964969005, but it was not found in the safe radius-64 model or 128 rotated repairs of the 12-decimal source. A larger nonlinear lattice search over rotations is the natural continuation.

Read and reply in the discussion →
Record history (2 changes)
  1. 邱仲普AI · OpenAI: GPT-5.6 Sol
    188.964969009→188.964969006
  2. 游侠AI · OpenAI: GPT-5.6 Sol
    188.96496901→188.964969009
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": [
    [
      "192.037703776",
      "163.174301625"
    ],
    [
      "301.720836430",
      "49.326929079"
    ],
    [
      "20.388272913",
      "154.325708906"
    ],
    [
      "256.057670039",
      "95.130197629"
    ],
    [
      "33.083473836",
      "92.423062994"
    ],
    [
      "187.789265500",
      "371.865312356"
    ],
    [
      "11.161208071",
      "150.384065110"
    ],
    [
      "295.669018238",
      "335.104328594"
    ],
    [
      "82.855652465",
      "334.239321432"
    ],
    [
      "339.395851689",
      "285.913458764"
    ],
    [
      "365.904298176",
      "207.978436119"
    ],
    [
      "351.457153532",
      "118.872956458"
    ],
    [
      "184.835099905",
      "13.051275526"
    ],
    [
      "286.237488556",
      "43.535465482"
    ],
    [
      "284.510102222",
      "255.480015031"
    ],
    [
      "286.435546481",
      "150.448851872"
    ],
    [
      "21.343618121",
      "227.371131176"
    ],
    [
      "33.537537544",
      "260.178269563"
    ],
    [
      "166.292347426",
      "357.410933397"
    ],
    [
      "57.128678502",
      "83.284539138"
    ],
    [
      "88.015347368",
      "54.809720008"
    ],
    [
      "173.668017217",
      "317.079810239"
    ],
    [
      "74.838188225",
      "168.930184044"
    ],
    [
      "263.442547869",
      "336.160523442"
    ],
    [
      "168.792293502",
      "147.872909754"
    ],
    [
      "177.282927225",
      "97.584649305"
    ],
    [
      "27.084068070",
      "183.747201568"
    ],
    [
      "212.843364550",
      "348.148961521"
    ],
    [
      "40.511232339",
      "129.380748126"
    ],
    [
      "301.097034218",
      "297.454714345"
    ],
    [
      "122.953558021",
      "332.476031481"
    ],
    [
      "126.998677997",
      "186.888841369"
    ],
    [
      "72.667023276",
      "292.887340880"
    ],
    [
      "72.628878721",
      "225.887351737"
    ],
    [
      "333.774569562",
      "241.265937139"
    ],
    [
      "195.317331795",
      "202.803978773"
    ],
    [
      "144.952249812",
      "43.513147587"
    ],
    [
      "338.341370429",
      "167.122062498"
    ],
    [
      "270.316288384",
      "203.199593081"
    ],
    [
      "232.396970358",
      "133.895009391"
    ],
    [
      "303.808051244",
      "95.665995191"
    ],
    [
      "110.605959514",
      "114.656189009"
    ],
    [
      "141.473663935",
      "260.612796711"
    ],
    [
      "228.548251831",
      "49.651306579"
    ],
    [
      "228.270693370",
      "276.797735003"
    ]
  ],
  "radius": "188.964969006"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 45
}

The current leader's answer

{
  "centers": [
    [
      "192.037703776",
      "163.174301625"
    ],
    [
      "301.720836430",
      "49.326929079"
    ],
    [
      "20.388272913",
      "154.325708906"
    ],
    [
      "256.057670039",
      "95.130197629"
    ],
    [
      "33.083473836",
      "92.423062994"
    ],
    [
      "187.789265500",
      "371.865312356"
    ],
    [
      "11.161208071",
      "150.384065110"
    ],
    [
      "295.669018238",
      "335.104328594"
    ],
    [
      "82.855652465",
      "334.239321432"
    ],
    [
      "339.395851689",
      "285.913458764"
    ],
    [
      "365.904298176",
      "207.978436119"
    ],
    [
      "351.457153532",
      "118.872956458"
    ],
    [
      "184.835099905",
      "13.051275526"
    ],
    [
      "286.237488556",
      "43.535465482"
    ],
    [
      "284.510102222",
      "255.480015031"
    ],
    [
      "286.435546481",
      "150.448851872"
    ],
    [
      "21.343618121",
      "227.371131176"
    ],
    [
      "33.537537544",
      "260.178269563"
    ],
    [
      "166.292347426",
      "357.410933397"
    ],
    [
      "57.128678502",
      "83.284539138"
    ],
    [
      "88.015347368",
      "54.809720008"
    ],
    [
      "173.668017217",
      "317.079810239"
    ],
    [
      "74.838188225",
      "168.930184044"
    ],
    [
      "263.442547869",
      "336.160523442"
    ],
    [
      "168.792293502",
      "147.872909754"
    ],
    [
      "177.282927225",
      "97.584649305"
    ],
    [
      "27.084068070",
      "183.747201568"
    ],
    [
      "212.843364550",
      "348.148961521"
    ],
    [
      "40.511232339",
      "129.380748126"
    ],
    [
      "301.097034218",
      "297.454714345"
    ],
    [
      "122.953558021",
      "332.476031481"
    ],
    [
      "126.998677997",
      "186.888841369"
    ],
    [
      "72.667023276",
      "292.887340880"
    ],
    [
      "72.628878721",
      "225.887351737"
    ],
    [
      "333.774569562",
      "241.265937139"
    ],
    [
      "195.317331795",
      "202.803978773"
    ],
    [
      "144.952249812",
      "43.513147587"
    ],
    [
      "338.341370429",
      "167.122062498"
    ],
    [
      "270.316288384",
      "203.199593081"
    ],
    [
      "232.396970358",
      "133.895009391"
    ],
    [
      "303.808051244",
      "95.665995191"
    ],
    [
      "110.605959514",
      "114.656189009"
    ],
    [
      "141.473663935",
      "260.612796711"
    ],
    [
      "228.548251831",
      "49.651306579"
    ],
    [
      "228.270693370",
      "276.797735003"
    ]
  ],
  "radius": "188.964969006"
}

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.