P82 · Packing and covering · Classic · Hard

Equal circles in regular polygons · m = 8 · n = 31

Pack n equal circles into the true regular m-gon with centre (1,1), circumradius 1 and first vertex (2,1), maximising their radius.

Instancem = 8 · n = 31
ObjectiveMaximize circle radius

Formal definition

  • ContainerThe editor and certificate normalize to the true regular m-gon with centre (1,1), circumradius 1 and first vertex (2,1). This is a coordinate convention only; scores use the literature's unit-piece scale. Boundary contact is allowed.
  • SubmissionSubmit {radius, placements:[{x,y,turn},…]}, with decimal strings of at most nine places. x,y are centres; circles require turn=0, polygons use turn=tan(θ/2). Coordinates and turn lie in ±4; 0 < radius ≤ 4.
  • ConstraintsExactly n congruent shapes lie wholly in the container with pairwise disjoint interiors. Polygon rotations are independent, not limited to quarter turns.
  • PrecisionInput decimals are exact rationals; regular-polygon vertices are algebraic, not rounded templates. Feasibility has no floating-point tolerance. A finite-decimal certificate is not a continuous optimality proof.
  • ObjectiveCircle radius r, larger is better; the container circumradius is 1.
Open the full editor
VERIFIED CONSTRUCTIONVERIFIED CONSTRUCTION

Getting a feel for it

Source and certificate

External targets are converted with their printed precision; decimal coordinate certificates are separate. Reconstruction loss never lowers the literature target, and a source construction is not automatically an optimality proof.

Source
The record-holding arrangement for Equal circles in regular polygons m = 8 · n = 31, 0.149878152
Current leader

0.149878152

circle radius

Answer sourceEckard Specht
Solution methodPublished reference construction
Challenge this record Submit a proof / idea Share a proof or idea in the discussion. Accepted contributions can earn proof points.
Record holder's solver noteNo solver note yet (expand)

The record holder has not shared a solver note yet.

ANSWER FORMAT

How to write your answer

the true regular m-gon with centre (1,1), circumradius 1 and first vertex (2,1)

Submit {radius, placements:[{x,y,turn},…]}, with decimal strings of at most nine places. x,y are centres; circles require turn=0, polygons use turn=tan(θ/2). Coordinates and turn lie in ±4; 0 < radius ≤ 4.

The current leader's answer

{
  "placements": [
    {
      "turn": "0",
      "x": "0.638229777",
      "y": "0.312077077"
    },
    {
      "turn": "0",
      "x": "0.915168493",
      "y": "0.197365305"
    },
    {
      "turn": "0",
      "x": "0.382438813",
      "y": "0.468361519"
    },
    {
      "turn": "0",
      "x": "1.210379377",
      "y": "0.249368935"
    },
    {
      "turn": "0",
      "x": "0.267727041",
      "y": "0.745300235"
    },
    {
      "turn": "0",
      "x": "0.739027206",
      "y": "0.594377842"
    },
    {
      "turn": "0",
      "x": "1.015965923",
      "y": "0.479666069"
    },
    {
      "turn": "0",
      "x": "0.554978021",
      "y": "0.830978225"
    },
    {
      "turn": "0",
      "x": "1.321803704",
      "y": "0.527646607"
    },
    {
      "turn": "0",
      "x": "0.174768693",
      "y": "1.030278461"
    },
    {
      "turn": "0",
      "x": "1.613474897",
      "y": "0.458496342"
    },
    {
      "turn": "0",
      "x": "0.852161260",
      "y": "0.871964818"
    },
    {
      "turn": "0",
      "x": "1.129099976",
      "y": "0.757253046"
    },
    {
      "turn": "0",
      "x": "0.531079321",
      "y": "1.129780326"
    },
    {
      "turn": "0",
      "x": "1.436515477",
      "y": "0.804585324"
    },
    {
      "turn": "0",
      "x": "0.289480466",
      "y": "1.307217178"
    },
    {
      "turn": "0",
      "x": "1.728186669",
      "y": "0.735435059"
    },
    {
      "turn": "0",
      "x": "0.830927068",
      "y": "1.170968083"
    },
    {
      "turn": "0",
      "x": "1.243811749",
      "y": "1.034191762"
    },
    {
      "turn": "0",
      "x": "0.645791094",
      "y": "1.406719042"
    },
    {
      "turn": "0",
      "x": "1.539008621",
      "y": "1.086274867"
    },
    {
      "turn": "0",
      "x": "0.404192238",
      "y": "1.584155894"
    },
    {
      "turn": "0",
      "x": "1.102242490",
      "y": "1.298411346"
    },
    {
      "turn": "0",
      "x": "1.830679813",
      "y": "1.017124602"
    },
    {
      "turn": "0",
      "x": "0.932760390",
      "y": "1.545655479"
    },
    {
      "turn": "0",
      "x": "1.396851248",
      "y": "1.353724299"
    },
    {
      "turn": "0",
      "x": "0.678656487",
      "y": "1.704668215"
    },
    {
      "turn": "0",
      "x": "1.696354678",
      "y": "1.341414167"
    },
    {
      "turn": "0",
      "x": "1.228088349",
      "y": "1.624504064"
    },
    {
      "turn": "0",
      "x": "1.000000000",
      "y": "1.837773056"
    },
    {
      "turn": "0",
      "x": "1.557263851",
      "y": "1.606946811"
    }
  ],
  "radius": "0.149878152"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer

Instance parameters

{
  "n": 31,
  "sides": 8
}

The current leader's answer

{
  "placements": [
    {
      "turn": "0",
      "x": "0.638229777",
      "y": "0.312077077"
    },
    {
      "turn": "0",
      "x": "0.915168493",
      "y": "0.197365305"
    },
    {
      "turn": "0",
      "x": "0.382438813",
      "y": "0.468361519"
    },
    {
      "turn": "0",
      "x": "1.210379377",
      "y": "0.249368935"
    },
    {
      "turn": "0",
      "x": "0.267727041",
      "y": "0.745300235"
    },
    {
      "turn": "0",
      "x": "0.739027206",
      "y": "0.594377842"
    },
    {
      "turn": "0",
      "x": "1.015965923",
      "y": "0.479666069"
    },
    {
      "turn": "0",
      "x": "0.554978021",
      "y": "0.830978225"
    },
    {
      "turn": "0",
      "x": "1.321803704",
      "y": "0.527646607"
    },
    {
      "turn": "0",
      "x": "0.174768693",
      "y": "1.030278461"
    },
    {
      "turn": "0",
      "x": "1.613474897",
      "y": "0.458496342"
    },
    {
      "turn": "0",
      "x": "0.852161260",
      "y": "0.871964818"
    },
    {
      "turn": "0",
      "x": "1.129099976",
      "y": "0.757253046"
    },
    {
      "turn": "0",
      "x": "0.531079321",
      "y": "1.129780326"
    },
    {
      "turn": "0",
      "x": "1.436515477",
      "y": "0.804585324"
    },
    {
      "turn": "0",
      "x": "0.289480466",
      "y": "1.307217178"
    },
    {
      "turn": "0",
      "x": "1.728186669",
      "y": "0.735435059"
    },
    {
      "turn": "0",
      "x": "0.830927068",
      "y": "1.170968083"
    },
    {
      "turn": "0",
      "x": "1.243811749",
      "y": "1.034191762"
    },
    {
      "turn": "0",
      "x": "0.645791094",
      "y": "1.406719042"
    },
    {
      "turn": "0",
      "x": "1.539008621",
      "y": "1.086274867"
    },
    {
      "turn": "0",
      "x": "0.404192238",
      "y": "1.584155894"
    },
    {
      "turn": "0",
      "x": "1.102242490",
      "y": "1.298411346"
    },
    {
      "turn": "0",
      "x": "1.830679813",
      "y": "1.017124602"
    },
    {
      "turn": "0",
      "x": "0.932760390",
      "y": "1.545655479"
    },
    {
      "turn": "0",
      "x": "1.396851248",
      "y": "1.353724299"
    },
    {
      "turn": "0",
      "x": "0.678656487",
      "y": "1.704668215"
    },
    {
      "turn": "0",
      "x": "1.696354678",
      "y": "1.341414167"
    },
    {
      "turn": "0",
      "x": "1.228088349",
      "y": "1.624504064"
    },
    {
      "turn": "0",
      "x": "1.000000000",
      "y": "1.837773056"
    },
    {
      "turn": "0",
      "x": "1.557263851",
      "y": "1.606946811"
    }
  ],
  "radius": "0.149878152"
}

Submit {radius, placements:[{x,y,turn},…]}, with decimal strings of at most nine places. x,y are centres; circles require turn=0, polygons use turn=tan(θ/2). Coordinates and turn lie in ±4; 0 < radius ≤ 4. · 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.

No threads yet. Be the first to talk about this problem?