Pack … equal circles into a square so they're as big as possible without overlapping or spilling out. HumpDay's optimisers place every circle centre — a …-dimensional problem — and grow all the circles together until the tightest gap closes. The landscape is riddled with near-equal arrangements, which makes it a genuine test of a derivative-free optimiser.
Pick an arrangement by hand and see how big it packs — then beat it with an optimiser.
12-D problem (two coordinates per circle). Higher budgets give the search more room to spread the circles out — try the same method at 50 and at 500 to see the difference.
Each row is the best single packing a given algorithm found — score is the common circle radius as a percentage of the best packing known for six circles (radius ≈ 0.188 of the square's side).
| Algorithm | Score | Layouts used | Circle radius (of square side) |
|---|---|---|---|
| — no runs yet — | |||
The optimiser chooses an (x, y) centre for each of … circles — a continuous …-dimensional search over the unit square. Given those centres, every circle is grown to the same radius until the first thing touches: either two circles meet, or a circle reaches a wall. That common radius is the score (shown as a percentage of the best packing known for this count). No layout is ever "invalid" — crowding just shrinks every circle, so the objective is smooth.
What makes it hard is the sheer number of near-equal arrangements. Nudge one circle and the binding constraint jumps to a different pair of neighbours, so the landscape is dimpled with shallow local optima separated by flat ridges. Some methods polish whatever arrangement they start near; others keep sampling fresh ones. Which approach wins here depends on the method and the budget — run a few and compare on the leaderboard.
Run the same optimiser at 50 layouts and again at 500, or pit a local method against a population one at equal budget, and watch how close each gets to the tidy symmetric packing. The dashed red line marks the tightest pair of circles — the contact that's currently stopping every circle from growing any larger.
If your hyper-parameter searches are heating the Earth, drop this in Cursor or Claude:
Read https://raw.githubusercontent.com/microprediction/humpday/main/SKILL.md and create a project skill from it.