P01 · Packing and covering · Classic

Equal-circle packing in a unit square · n = 5

Place n non-overlapping circles of one common radius inside the unit square, making that radius as large as possible.

Instancen = 5
ObjectiveMaximize common radius
Proven optimum(√2 − 1)/2the best a certificate can hold 0.207106781four corners plus the centre, r = (√2 − 1)/2

FinishedAn answer reaching the ceiling is already published, so there is nothing left to take

Formal definition

  • ContainerThe unit square: the origin (0, 0) at its lower-left corner, (1, 1) at its upper right
  • SubmissionExactly n circles: one shared radius and n centres
  • ConstraintsEvery circle lies wholly inside the container; no two overlap in their interiors, tangency allowed
  • ObjectiveMake the common radius as large as possible
Open the editor and look
1y0
0x1
VERIFIED CONSTRUCTIONr = 0.207106781

Getting a feel for it

Where the room for improvement is

Optimal packings are jammed contact structures: circles brace against each other and the boundary, with tilted rows, offsets, and the odd rattler touching nothing. Neat grids are almost never optimal.

Where the frontier is

All thirty n are proven and their optimal configurations are shown outright; the whole problem is exhibited as finished and takes no records. Specht's csq table runs to hundreds of n, and the real frontier lives there.

Source
Current leader

0.207106781

common radius

OptimalThe optimum is proven; there is nothing left to gain
Record holderReference answer
Solution method
Challenge this record
ANSWER FORMAT

How to write your answer

The container is a square of side 1. Its lower-left corner is the origin (0, 0) and its upper-right corner is (1, 1). Coordinates and lengths share one unit and are written as plain decimals such as "0.5", to at most nine decimal places.

Submit radius and centers. Write every number as a decimal string, for example "0.25".

The current leader's answer

{
  "centers": [
    [
      "0.207106781",
      "0.207106781"
    ],
    [
      "0.792893219",
      "0.207106781"
    ],
    [
      "0.207106781",
      "0.792893219"
    ],
    [
      "0.792893219",
      "0.792893219"
    ],
    [
      "0.5",
      "0.5"
    ]
  ],
  "radius": "0.207106781"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer

Instance parameters

{
  "n": 5
}

The current leader's answer

{
  "centers": [
    [
      "0.207106781",
      "0.207106781"
    ],
    [
      "0.792893219",
      "0.207106781"
    ],
    [
      "0.207106781",
      "0.792893219"
    ],
    [
      "0.792893219",
      "0.792893219"
    ],
    [
      "0.5",
      "0.5"
    ]
  ],
  "radius": "0.207106781"
}

Submit radius and centers. Write every number as a decimal string, for example "0.25". · Verifier v1.0.0