P01 · Packing and covering · Classic · Hard

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

Also known ascircle packing in a squarepacking equal circles in a unit squarecsq

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

Instancen = 173
ObjectiveMaximize common radius

Record comparison

common radius · Higher is better
RecordValue / intervalAuthor / holderSource
External best known[0.0392515334535, 0.0392515334545]See source attributionpackomania.com ↗
Site recordNo player record yet——

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
Challenge this record ↗

Layout shown: starter layout

1y0
0x1
VERIFIED CONSTRUCTIONr = 0.039251533

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

The optima for n = 1–30 are proved and make a compact gallery of classic contact structures. For n = 31–300 the public Packomania frontier is imported; optimality remains open except at n = 36. The large instances share one dense table for algorithmic challenges.

Source
The current arrangement for Equal-circle packing in a unit square n = 173
LAYOUT & HISTORY

Starter layout

Inspect the layout, solver notes and record history.

Challenge this record ↗Submit a proof / idea ↓Share a proof or idea in the discussion. Accepted contributions can earn proof points.
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".

Starter answer

{
  "centers": [
    [
      "0.144793265",
      "0.039251533"
    ],
    [
      "0.223296331",
      "0.039251533"
    ],
    [
      "0.301799399",
      "0.039251533"
    ],
    [
      "0.380302466",
      "0.039251533"
    ],
    [
      "0.45972774",
      "0.039251533"
    ],
    [
      "0.54027226",
      "0.039251533"
    ],
    [
      "0.619697534",
      "0.039251533"
    ],
    [
      "0.698200601",
      "0.039251533"
    ],
    [
      "0.776703669",
      "0.039251533"
    ],
    [
      "0.855206735",
      "0.039251533"
    ],
    [
      "0.047100106",
      "0.047100106"
    ],
    [
      "0.952899894",
      "0.047100106"
    ],
    [
      "0.5",
      "0.10663756"
    ],
    [
      "0.420015103",
      "0.106968872"
    ],
    [
      "0.579984897",
      "0.106968872"
    ],
    [
      "0.262547865",
      "0.107237184"
    ],
    [
      "0.737452135",
      "0.107237184"
    ],
    [
      "0.105541731",
      "0.107237184"
    ],
    [
      "0.184044798",
      "0.107237184"
    ],
    [
      "0.341050932",
      "0.107237184"
    ],
    [
      "0.658949068",
      "0.107237184"
    ],
    [
      "0.815955202",
      "0.107237184"
    ],
    [
      "0.894458269",
      "0.107237184"
    ],
    [
      "0.039251533",
      "0.149288833"
    ],
    [
      "0.960748467",
      "0.149288833"
    ],
    [
      "0.460287363",
      "0.174354899"
    ],
    [
      "0.539712637",
      "0.174354899"
    ],
    [
      "0.380763569",
      "0.174954523"
    ],
    [
      "0.619236431",
      "0.174954523"
    ],
    [
      "0.223296332",
      "0.175222834"
    ],
    [
      "0.301799399",
      "0.175222834"
    ],
    [
      "0.698200601",
      "0.175222834"
    ],
    [
      "0.776703668",
      "0.175222834"
    ],
    [
      "0.127110432",
      "0.185987732"
    ],
    [
      "0.872889568",
      "0.185987732"
    ],
    [
      "0.039251533",
      "0.2277919"
    ],
    [
      "0.960748467",
      "0.2277919"
    ],
    [
      "0.5",
      "0.242072238"
    ],
    [
      "0.42103583",
      "0.242340549"
    ],
    [
      "0.57896417",
      "0.242340549"
    ],
    [
      "0.341512035",
      "0.242940173"
    ],
    [
      "0.658487965",
      "0.242940173"
    ],
    [
      "0.184044798",
      "0.243208484"
    ],
    [
      "0.262547865",
      "0.243208484"
    ],
    [
      "0.737452135",
      "0.243208484"
    ],
    [
      "0.815955202",
      "0.243208484"
    ],
    [
      "0.108539629",
      "0.264695712"
    ],
    [
      "0.891460371",
      "0.264695712"
    ],
    [
      "0.041935943",
      "0.306249057"
    ],
    [
      "0.958064057",
      "0.306249057"
    ],
    [
      "0.460748467",
      "0.310057888"
    ],
    [
      "0.539251533",
      "0.310057888"
    ],
    [
      "0.381784296",
      "0.310326199"
    ],
    [
      "0.618215704",
      "0.310326199"
    ],
    [
      "0.302260502",
      "0.310925823"
    ],
    [
      "0.697739498",
      "0.310925823"
    ],
    [
      "0.223296332",
      "0.311194134"
    ],
    [
      "0.776703668",
      "0.311194134"
    ],
    [
      "0.114385886",
      "0.342980786"
    ],
    [
      "0.885614114",
      "0.342980786"
    ],
    [
      "0.421496933",
      "0.378043538"
    ],
    [
      "0.578503067",
      "0.378043538"
    ],
    [
      "0.5",
      "0.378043538"
    ],
    [
      "0.342532762",
      "0.378311849"
    ],
    [
      "0.657467238",
      "0.378311849"
    ],
    [
      "0.263008969",
      "0.378911473"
    ],
    [
      "0.736991031",
      "0.378911473"
    ],
    [
      "0.184044798",
      "0.379179784"
    ],
    [
      "0.815955202",
      "0.379179784"
    ],
    [
      "0.039251533",
      "0.384706214"
    ],
    [
      "0.960748467",
      "0.384706214"
    ],
    [
      "0.108715051",
      "0.421278762"
    ],
    [
      "0.891284949",
      "0.421278762"
    ],
    [
      "0.382245399",
      "0.446029188"
    ],
    [
      "0.460748466",
      "0.446029188"
    ],
    [
      "0.539251534",
      "0.446029188"
    ],
    [
      "0.617754601",
      "0.446029188"
    ],
    [
      "0.303281229",
      "0.446297499"
    ],
    [
      "0.696718771",
      "0.446297499"
    ],
    [
      "0.223757435",
      "0.446897123"
    ],
    [
      "0.776242565",
      "0.446897123"
    ],
    [
      "0.042310536",
      "0.463149658"
    ],
    [
      "0.957689464",
      "0.463149658"
    ],
    [
      "0.154962778",
      "0.484712816"
    ],
    [
      "0.845037222",
      "0.484712816"
    ],
    [
      "0.5",
      "0.514014838"
    ],
    [
      "0.342993866",
      "0.514014838"
    ],
    [
      "0.421496933",
      "0.514014838"
    ],
    [
      "0.578503067",
      "0.514014838"
    ],
    [
      "0.657006134",
      "0.514014838"
    ],
    [
      "0.264029696",
      "0.51428315"
    ],
    [
      "0.735970304",
      "0.51428315"
    ],
    [
      "0.039251533",
      "0.541593103"
    ],
    [
      "0.960748467",
      "0.541593103"
    ],
    [
      "0.195365121",
      "0.552334533"
    ],
    [
      "0.804634879",
      "0.552334533"
    ],
    [
      "0.11686867",
      "0.553353697"
    ],
    [
      "0.88313133",
      "0.553353697"
    ],
    [
      "0.460748467",
      "0.582000488"
    ],
    [
      "0.539251533",
      "0.582000488"
    ],
    [
      "0.303742333",
      "0.582000488"
    ],
    [
      "0.382245399",
      "0.582000488"
    ],
    [
      "0.617754601",
      "0.582000488"
    ],
    [
      "0.696257667",
      "0.582000488"
    ],
    [
      "0.067875129",
      "0.614691812"
    ],
    [
      "0.932124871",
      "0.614691812"
    ],
    [
      "0.235504327",
      "0.620815435"
    ],
    [
      "0.764495673",
      "0.620815435"
    ],
    [
      "0.156999518",
      "0.620824036"
    ],
    [
      "0.843000482",
      "0.620824036"
    ],
    [
      "0.421496933",
      "0.649986139"
    ],
    [
      "0.5",
      "0.649986139"
    ],
    [
      "0.578503067",
      "0.649986139"
    ],
    [
      "0.342993866",
      "0.649986139"
    ],
    [
      "0.657006134",
      "0.649986139"
    ],
    [
      "0.039251533",
      "0.687790522"
    ],
    [
      "0.960748467",
      "0.687790522"
    ],
    [
      "0.274760734",
      "0.688805865"
    ],
    [
      "0.725239266",
      "0.688805865"
    ],
    [
      "0.196257667",
      "0.688805866"
    ],
    [
      "0.803742333",
      "0.688805866"
    ],
    [
      "0.117747984",
      "0.688809686"
    ],
    [
      "0.882252016",
      "0.688809686"
    ],
    [
      "0.3822454",
      "0.717971789"
    ],
    [
      "0.460748467",
      "0.717971789"
    ],
    [
      "0.539251533",
      "0.717971789"
    ],
    [
      "0.6177546",
      "0.717971789"
    ],
    [
      "0.077617137",
      "0.756280024"
    ],
    [
      "0.922382863",
      "0.756280024"
    ],
    [
      "0.235509201",
      "0.756791516"
    ],
    [
      "0.314012268",
      "0.756791516"
    ],
    [
      "0.685987732",
      "0.756791516"
    ],
    [
      "0.764490799",
      "0.756791516"
    ],
    [
      "0.157006133",
      "0.756791516"
    ],
    [
      "0.842993867",
      "0.756791516"
    ],
    [
      "0.421496933",
      "0.785957439"
    ],
    [
      "0.5",
      "0.785957439"
    ],
    [
      "0.578503067",
      "0.785957439"
    ],
    [
      "0.039251533",
      "0.824769527"
    ],
    [
      "0.960748467",
      "0.824769527"
    ],
    [
      "0.196257667",
      "0.824777166"
    ],
    [
      "0.274760734",
      "0.824777166"
    ],
    [
      "0.353263801",
      "0.824777166"
    ],
    [
      "0.646736199",
      "0.824777166"
    ],
    [
      "0.725239266",
      "0.824777166"
    ],
    [
      "0.803742333",
      "0.824777166"
    ],
    [
      "0.1177546",
      "0.824777166"
    ],
    [
      "0.8822454",
      "0.824777166"
    ],
    [
      "0.460748467",
      "0.853943089"
    ],
    [
      "0.539251533",
      "0.853943089"
    ],
    [
      "0.078496451",
      "0.892758997"
    ],
    [
      "0.921503549",
      "0.892758997"
    ],
    [
      "0.157006134",
      "0.892762816"
    ],
    [
      "0.235509201",
      "0.892762816"
    ],
    [
      "0.314012268",
      "0.892762816"
    ],
    [
      "0.392515335",
      "0.892762816"
    ],
    [
      "0.607484665",
      "0.892762816"
    ],
    [
      "0.685987732",
      "0.892762816"
    ],
    [
      "0.764490799",
      "0.892762816"
    ],
    [
      "0.842993866",
      "0.892762816"
    ],
    [
      "0.5",
      "0.921928739"
    ],
    [
      "0.039251533",
      "0.960748466"
    ],
    [
      "0.960748467",
      "0.960748466"
    ],
    [
      "0.1177546",
      "0.960748467"
    ],
    [
      "0.196257667",
      "0.960748467"
    ],
    [
      "0.274760734",
      "0.960748467"
    ],
    [
      "0.353263801",
      "0.960748467"
    ],
    [
      "0.431766868",
      "0.960748467"
    ],
    [
      "0.568233132",
      "0.960748467"
    ],
    [
      "0.646736199",
      "0.960748467"
    ],
    [
      "0.725239266",
      "0.960748467"
    ],
    [
      "0.803742333",
      "0.960748467"
    ],
    [
      "0.8822454",
      "0.960748467"
    ]
  ],
  "radius": "0.039251533"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 173
}

Starter answer

{
  "centers": [
    [
      "0.144793265",
      "0.039251533"
    ],
    [
      "0.223296331",
      "0.039251533"
    ],
    [
      "0.301799399",
      "0.039251533"
    ],
    [
      "0.380302466",
      "0.039251533"
    ],
    [
      "0.45972774",
      "0.039251533"
    ],
    [
      "0.54027226",
      "0.039251533"
    ],
    [
      "0.619697534",
      "0.039251533"
    ],
    [
      "0.698200601",
      "0.039251533"
    ],
    [
      "0.776703669",
      "0.039251533"
    ],
    [
      "0.855206735",
      "0.039251533"
    ],
    [
      "0.047100106",
      "0.047100106"
    ],
    [
      "0.952899894",
      "0.047100106"
    ],
    [
      "0.5",
      "0.10663756"
    ],
    [
      "0.420015103",
      "0.106968872"
    ],
    [
      "0.579984897",
      "0.106968872"
    ],
    [
      "0.262547865",
      "0.107237184"
    ],
    [
      "0.737452135",
      "0.107237184"
    ],
    [
      "0.105541731",
      "0.107237184"
    ],
    [
      "0.184044798",
      "0.107237184"
    ],
    [
      "0.341050932",
      "0.107237184"
    ],
    [
      "0.658949068",
      "0.107237184"
    ],
    [
      "0.815955202",
      "0.107237184"
    ],
    [
      "0.894458269",
      "0.107237184"
    ],
    [
      "0.039251533",
      "0.149288833"
    ],
    [
      "0.960748467",
      "0.149288833"
    ],
    [
      "0.460287363",
      "0.174354899"
    ],
    [
      "0.539712637",
      "0.174354899"
    ],
    [
      "0.380763569",
      "0.174954523"
    ],
    [
      "0.619236431",
      "0.174954523"
    ],
    [
      "0.223296332",
      "0.175222834"
    ],
    [
      "0.301799399",
      "0.175222834"
    ],
    [
      "0.698200601",
      "0.175222834"
    ],
    [
      "0.776703668",
      "0.175222834"
    ],
    [
      "0.127110432",
      "0.185987732"
    ],
    [
      "0.872889568",
      "0.185987732"
    ],
    [
      "0.039251533",
      "0.2277919"
    ],
    [
      "0.960748467",
      "0.2277919"
    ],
    [
      "0.5",
      "0.242072238"
    ],
    [
      "0.42103583",
      "0.242340549"
    ],
    [
      "0.57896417",
      "0.242340549"
    ],
    [
      "0.341512035",
      "0.242940173"
    ],
    [
      "0.658487965",
      "0.242940173"
    ],
    [
      "0.184044798",
      "0.243208484"
    ],
    [
      "0.262547865",
      "0.243208484"
    ],
    [
      "0.737452135",
      "0.243208484"
    ],
    [
      "0.815955202",
      "0.243208484"
    ],
    [
      "0.108539629",
      "0.264695712"
    ],
    [
      "0.891460371",
      "0.264695712"
    ],
    [
      "0.041935943",
      "0.306249057"
    ],
    [
      "0.958064057",
      "0.306249057"
    ],
    [
      "0.460748467",
      "0.310057888"
    ],
    [
      "0.539251533",
      "0.310057888"
    ],
    [
      "0.381784296",
      "0.310326199"
    ],
    [
      "0.618215704",
      "0.310326199"
    ],
    [
      "0.302260502",
      "0.310925823"
    ],
    [
      "0.697739498",
      "0.310925823"
    ],
    [
      "0.223296332",
      "0.311194134"
    ],
    [
      "0.776703668",
      "0.311194134"
    ],
    [
      "0.114385886",
      "0.342980786"
    ],
    [
      "0.885614114",
      "0.342980786"
    ],
    [
      "0.421496933",
      "0.378043538"
    ],
    [
      "0.578503067",
      "0.378043538"
    ],
    [
      "0.5",
      "0.378043538"
    ],
    [
      "0.342532762",
      "0.378311849"
    ],
    [
      "0.657467238",
      "0.378311849"
    ],
    [
      "0.263008969",
      "0.378911473"
    ],
    [
      "0.736991031",
      "0.378911473"
    ],
    [
      "0.184044798",
      "0.379179784"
    ],
    [
      "0.815955202",
      "0.379179784"
    ],
    [
      "0.039251533",
      "0.384706214"
    ],
    [
      "0.960748467",
      "0.384706214"
    ],
    [
      "0.108715051",
      "0.421278762"
    ],
    [
      "0.891284949",
      "0.421278762"
    ],
    [
      "0.382245399",
      "0.446029188"
    ],
    [
      "0.460748466",
      "0.446029188"
    ],
    [
      "0.539251534",
      "0.446029188"
    ],
    [
      "0.617754601",
      "0.446029188"
    ],
    [
      "0.303281229",
      "0.446297499"
    ],
    [
      "0.696718771",
      "0.446297499"
    ],
    [
      "0.223757435",
      "0.446897123"
    ],
    [
      "0.776242565",
      "0.446897123"
    ],
    [
      "0.042310536",
      "0.463149658"
    ],
    [
      "0.957689464",
      "0.463149658"
    ],
    [
      "0.154962778",
      "0.484712816"
    ],
    [
      "0.845037222",
      "0.484712816"
    ],
    [
      "0.5",
      "0.514014838"
    ],
    [
      "0.342993866",
      "0.514014838"
    ],
    [
      "0.421496933",
      "0.514014838"
    ],
    [
      "0.578503067",
      "0.514014838"
    ],
    [
      "0.657006134",
      "0.514014838"
    ],
    [
      "0.264029696",
      "0.51428315"
    ],
    [
      "0.735970304",
      "0.51428315"
    ],
    [
      "0.039251533",
      "0.541593103"
    ],
    [
      "0.960748467",
      "0.541593103"
    ],
    [
      "0.195365121",
      "0.552334533"
    ],
    [
      "0.804634879",
      "0.552334533"
    ],
    [
      "0.11686867",
      "0.553353697"
    ],
    [
      "0.88313133",
      "0.553353697"
    ],
    [
      "0.460748467",
      "0.582000488"
    ],
    [
      "0.539251533",
      "0.582000488"
    ],
    [
      "0.303742333",
      "0.582000488"
    ],
    [
      "0.382245399",
      "0.582000488"
    ],
    [
      "0.617754601",
      "0.582000488"
    ],
    [
      "0.696257667",
      "0.582000488"
    ],
    [
      "0.067875129",
      "0.614691812"
    ],
    [
      "0.932124871",
      "0.614691812"
    ],
    [
      "0.235504327",
      "0.620815435"
    ],
    [
      "0.764495673",
      "0.620815435"
    ],
    [
      "0.156999518",
      "0.620824036"
    ],
    [
      "0.843000482",
      "0.620824036"
    ],
    [
      "0.421496933",
      "0.649986139"
    ],
    [
      "0.5",
      "0.649986139"
    ],
    [
      "0.578503067",
      "0.649986139"
    ],
    [
      "0.342993866",
      "0.649986139"
    ],
    [
      "0.657006134",
      "0.649986139"
    ],
    [
      "0.039251533",
      "0.687790522"
    ],
    [
      "0.960748467",
      "0.687790522"
    ],
    [
      "0.274760734",
      "0.688805865"
    ],
    [
      "0.725239266",
      "0.688805865"
    ],
    [
      "0.196257667",
      "0.688805866"
    ],
    [
      "0.803742333",
      "0.688805866"
    ],
    [
      "0.117747984",
      "0.688809686"
    ],
    [
      "0.882252016",
      "0.688809686"
    ],
    [
      "0.3822454",
      "0.717971789"
    ],
    [
      "0.460748467",
      "0.717971789"
    ],
    [
      "0.539251533",
      "0.717971789"
    ],
    [
      "0.6177546",
      "0.717971789"
    ],
    [
      "0.077617137",
      "0.756280024"
    ],
    [
      "0.922382863",
      "0.756280024"
    ],
    [
      "0.235509201",
      "0.756791516"
    ],
    [
      "0.314012268",
      "0.756791516"
    ],
    [
      "0.685987732",
      "0.756791516"
    ],
    [
      "0.764490799",
      "0.756791516"
    ],
    [
      "0.157006133",
      "0.756791516"
    ],
    [
      "0.842993867",
      "0.756791516"
    ],
    [
      "0.421496933",
      "0.785957439"
    ],
    [
      "0.5",
      "0.785957439"
    ],
    [
      "0.578503067",
      "0.785957439"
    ],
    [
      "0.039251533",
      "0.824769527"
    ],
    [
      "0.960748467",
      "0.824769527"
    ],
    [
      "0.196257667",
      "0.824777166"
    ],
    [
      "0.274760734",
      "0.824777166"
    ],
    [
      "0.353263801",
      "0.824777166"
    ],
    [
      "0.646736199",
      "0.824777166"
    ],
    [
      "0.725239266",
      "0.824777166"
    ],
    [
      "0.803742333",
      "0.824777166"
    ],
    [
      "0.1177546",
      "0.824777166"
    ],
    [
      "0.8822454",
      "0.824777166"
    ],
    [
      "0.460748467",
      "0.853943089"
    ],
    [
      "0.539251533",
      "0.853943089"
    ],
    [
      "0.078496451",
      "0.892758997"
    ],
    [
      "0.921503549",
      "0.892758997"
    ],
    [
      "0.157006134",
      "0.892762816"
    ],
    [
      "0.235509201",
      "0.892762816"
    ],
    [
      "0.314012268",
      "0.892762816"
    ],
    [
      "0.392515335",
      "0.892762816"
    ],
    [
      "0.607484665",
      "0.892762816"
    ],
    [
      "0.685987732",
      "0.892762816"
    ],
    [
      "0.764490799",
      "0.892762816"
    ],
    [
      "0.842993866",
      "0.892762816"
    ],
    [
      "0.5",
      "0.921928739"
    ],
    [
      "0.039251533",
      "0.960748466"
    ],
    [
      "0.960748467",
      "0.960748466"
    ],
    [
      "0.1177546",
      "0.960748467"
    ],
    [
      "0.196257667",
      "0.960748467"
    ],
    [
      "0.274760734",
      "0.960748467"
    ],
    [
      "0.353263801",
      "0.960748467"
    ],
    [
      "0.431766868",
      "0.960748467"
    ],
    [
      "0.568233132",
      "0.960748467"
    ],
    [
      "0.646736199",
      "0.960748467"
    ],
    [
      "0.725239266",
      "0.960748467"
    ],
    [
      "0.803742333",
      "0.960748467"
    ],
    [
      "0.8822454",
      "0.960748467"
    ]
  ],
  "radius": "0.039251533"
}

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

DISCUSSION

Discussion

Talk strategy, share methods, ask why you are stuck. Every signed-in user can post. Posts carry your public byline, the same name your records use; the #number after it is the account's signup ordinal, so a name cannot be worn by someone else. New posts appear after an automated review.