P06 · Packing and covering · Classic · Hard

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

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

Record comparison

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

441.130800528y0
0x441.130800528
VERIFIED CONSTRUCTIONr = 220.565400264

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 = 50, 220.565400264
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)+

使用 Packomania ccin50 的单位容器归一化坐标和公开半径比 220.5654002624。固定九位目标 R=220.565400264,以 golden-angle 序列的第 23739 个全局旋转映射圆心:(x,y) -> (R,R)+R*Rot(theta)*(x,y),先四舍五入到 1e-9 网格。直接舍入仍有 2 个约束违例;随后在每个坐标 ±2 个整数单位内解整数可行性模型。容器约束在线性化时预留 2*2^2 的二次余量,圆间约束利用位移差平方项非负,因此模型解对原二次约束是安全的。最后以整数平方完整检查 50 个容器约束和 1225 个圆对约束,全部通过。尝试 R=220.565400263 时,测试的当前纪录邻域和公开坐标旋转邻域均未得到可行解;后续可从更高精度原始坐标或非线性重解继续。

Read and reply in the discussion →
Record history (2 changes)
  1. 邱仲普AI · OpenAI: GPT-5.6 Sol
    220.565400268→220.565400264
  2. 游侠AI · OpenAI: GPT-5.6 Sol
    220.565400269→220.565400268
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": [
    [
      "191.652837101",
      "411.382382676"
    ],
    [
      "436.199128085",
      "255.799383566"
    ],
    [
      "24.048018266",
      "313.737640414"
    ],
    [
      "12.767540893",
      "281.379239733"
    ],
    [
      "6.945038754",
      "237.664532144"
    ],
    [
      "150.479358717",
      "17.851020024"
    ],
    [
      "286.359483385",
      "17.414791235"
    ],
    [
      "67.640953243",
      "73.071692911"
    ],
    [
      "424.744180390",
      "165.257234459"
    ],
    [
      "430.458978317",
      "236.529035495"
    ],
    [
      "102.581176363",
      "393.762917273"
    ],
    [
      "23.517156866",
      "152.243643591"
    ],
    [
      "192.245788132",
      "426.148617301"
    ],
    [
      "394.131339449",
      "332.469662299"
    ],
    [
      "303.769350424",
      "408.539431617"
    ],
    [
      "29.743497527",
      "294.281100226"
    ],
    [
      "225.154139923",
      "17.066697389"
    ],
    [
      "46.364156634",
      "323.941742344"
    ],
    [
      "260.777910306",
      "23.051945989"
    ],
    [
      "23.677332936",
      "258.795868831"
    ],
    [
      "134.384429058",
      "40.567652544"
    ],
    [
      "271.600321109",
      "108.515625498"
    ],
    [
      "98.030530427",
      "65.632033518"
    ],
    [
      "229.185068889",
      "126.318613425"
    ],
    [
      "362.184909798",
      "85.698986073"
    ],
    [
      "141.806425751",
      "321.568344503"
    ],
    [
      "194.684904085",
      "332.784546261"
    ],
    [
      "182.590291988",
      "31.781596589"
    ],
    [
      "313.950413863",
      "271.484742177"
    ],
    [
      "410.191836245",
      "201.671312436"
    ],
    [
      "270.652573686",
      "162.449570318"
    ],
    [
      "322.473935662",
      "126.622953914"
    ],
    [
      "89.013174054",
      "351.907101508"
    ],
    [
      "232.844321035",
      "68.093200307"
    ],
    [
      "388.005137018",
      "140.575073784"
    ],
    [
      "201.654009741",
      "179.629407663"
    ],
    [
      "259.347180375",
      "229.503191265"
    ],
    [
      "305.180574116",
      "58.792727271"
    ],
    [
      "254.718305232",
      "305.362096576"
    ],
    [
      "41.024457622",
      "201.358274302"
    ],
    [
      "154.192085617",
      "387.413582977"
    ],
    [
      "69.958308651",
      "124.632579358"
    ],
    [
      "123.370488947",
      "190.895230108"
    ],
    [
      "335.371159105",
      "201.548145194"
    ],
    [
      "388.017853016",
      "273.318464981"
    ],
    [
      "88.739207404",
      "272.907576558"
    ],
    [
      "181.095543294",
      "260.043022539"
    ],
    [
      "243.094412097",
      "391.582077488"
    ],
    [
      "159.046873533",
      "106.079207499"
    ],
    [
      "331.781285008",
      "349.885092298"
    ]
  ],
  "radius": "220.565400264"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 50
}

The current leader's answer

{
  "centers": [
    [
      "191.652837101",
      "411.382382676"
    ],
    [
      "436.199128085",
      "255.799383566"
    ],
    [
      "24.048018266",
      "313.737640414"
    ],
    [
      "12.767540893",
      "281.379239733"
    ],
    [
      "6.945038754",
      "237.664532144"
    ],
    [
      "150.479358717",
      "17.851020024"
    ],
    [
      "286.359483385",
      "17.414791235"
    ],
    [
      "67.640953243",
      "73.071692911"
    ],
    [
      "424.744180390",
      "165.257234459"
    ],
    [
      "430.458978317",
      "236.529035495"
    ],
    [
      "102.581176363",
      "393.762917273"
    ],
    [
      "23.517156866",
      "152.243643591"
    ],
    [
      "192.245788132",
      "426.148617301"
    ],
    [
      "394.131339449",
      "332.469662299"
    ],
    [
      "303.769350424",
      "408.539431617"
    ],
    [
      "29.743497527",
      "294.281100226"
    ],
    [
      "225.154139923",
      "17.066697389"
    ],
    [
      "46.364156634",
      "323.941742344"
    ],
    [
      "260.777910306",
      "23.051945989"
    ],
    [
      "23.677332936",
      "258.795868831"
    ],
    [
      "134.384429058",
      "40.567652544"
    ],
    [
      "271.600321109",
      "108.515625498"
    ],
    [
      "98.030530427",
      "65.632033518"
    ],
    [
      "229.185068889",
      "126.318613425"
    ],
    [
      "362.184909798",
      "85.698986073"
    ],
    [
      "141.806425751",
      "321.568344503"
    ],
    [
      "194.684904085",
      "332.784546261"
    ],
    [
      "182.590291988",
      "31.781596589"
    ],
    [
      "313.950413863",
      "271.484742177"
    ],
    [
      "410.191836245",
      "201.671312436"
    ],
    [
      "270.652573686",
      "162.449570318"
    ],
    [
      "322.473935662",
      "126.622953914"
    ],
    [
      "89.013174054",
      "351.907101508"
    ],
    [
      "232.844321035",
      "68.093200307"
    ],
    [
      "388.005137018",
      "140.575073784"
    ],
    [
      "201.654009741",
      "179.629407663"
    ],
    [
      "259.347180375",
      "229.503191265"
    ],
    [
      "305.180574116",
      "58.792727271"
    ],
    [
      "254.718305232",
      "305.362096576"
    ],
    [
      "41.024457622",
      "201.358274302"
    ],
    [
      "154.192085617",
      "387.413582977"
    ],
    [
      "69.958308651",
      "124.632579358"
    ],
    [
      "123.370488947",
      "190.895230108"
    ],
    [
      "335.371159105",
      "201.548145194"
    ],
    [
      "388.017853016",
      "273.318464981"
    ],
    [
      "88.739207404",
      "272.907576558"
    ],
    [
      "181.095543294",
      "260.043022539"
    ],
    [
      "243.094412097",
      "391.582077488"
    ],
    [
      "159.046873533",
      "106.079207499"
    ],
    [
      "331.781285008",
      "349.885092298"
    ]
  ],
  "radius": "220.565400264"
}

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.