Stardew Beehouse Layout
Fairy rose honey sells for 680g a pop. With the Artisan profession, that jumps to 952g. It's the best passive income in Stardew Valley, and all you need is a fairy rose and some beehouses.
When I got onto the Ginger Island and found out that the left side of the farm has a few tillable tiles which makes it a great candidate for placing beehouses. However, most of the designs from the community are based on 1.5 where some tiles are no longer valid in 1.6, the current version I'm playing on.
After spending some time searching the internet for an updated design, I decided to try making one myself by hand with the Stardew Planner. However, this was extremely tedious and I only got up to 400 beehouses. So I thought to myself, why not build a tool that does this for me and best yet, does not rely on any single version? Furthermore, with 1.6 I could use garden pots as a substitute of soil, allowing me to fit even more beehouses in.
The rules
Beehouses in Stardew Valley pick up the flavour of the nearest flower within a 5-tile range. That range is measured in Manhattan distance, so you count tiles horizontally and vertically, no diagonals. Place a fairy rose, and every beehouse within that diamond-shaped area produces fairy rose honey.
But you can't just leave the flower sitting out in the open. Walk next to it with a controller and you'll accidentally pluck it, killing your entire honey operation. Every flower needs to be shielded on all 8 sides, surrounded by beehouses, obstacles, or the edge of the map. No walkable tile can touch it.
On top of that, every beehouse needs to be reachable. You need to be able to walk up to it and collect the honey and everything has to be connected, no isolated pockets of beehouses you can't get to.
Furthermore, beehouses that is diagonally adjacent to a collection spot that has interactable objects that is cardinally adjacent to both the beehouse and the collection spot makes it tricky to collect the honey via controller without manual selection. We shall refer this as hard spots.
Finally, tillable soil should always be preferred over garden pots and a layout with the same number of beehouses but fewer steps is considered more optimal. However, a layout with more beehouses is always better.
These constraints turn beehouse placement into a surprisingly tricky puzzle.
How it works
The optimiser runs in two phases. First, a greedy pass places flowers and beehouses using simple heuristics, trying many random orderings to explore different corridor shapes and find a good starting layout.
Then, simulated annealing takes over. It makes thousands of small random tweaks, adding beehouses, moving flowers, restructuring entire clusters. Early on it tolerates temporary setbacks to escape dead ends, then gradually becomes pickier until only genuine improvements are accepted.
Starting small: One Flower
To validate that the algorithm works, I started with the simplest possible case: a single flower on an open field. How many beehouses can you fit around one fairy rose?
The optimiser found 48.

Map overlay

Optimised layout
This matched what the Stardew community had already figured out independently. This Reddit post shows a 48-beehouse layout which is the exact same number which is a good sign.
Scaling up: Quality Sprinkler Cluster
Next test: 8 flowers arranged around a quality sprinkler, simulating a common farm setup. The flowers form a 3x3 grid with the sprinkler in the center, and since adjacent flowers shield each other, you get more density than 8 separate single-flower clusters would give you.
The optimiser found 76 beehouses across the 8 flowers.

Map overlay

Optimised layout
Going bigger: Ginger Island
With the algorithm validated on small layouts, I wanted to go bigger. Ginger Island was the obvious choice. Unlike the regular farm, Ginger Island has no seasons. Fairy roses bloom year-round, which means year-round honey production with zero maintenance.
The first challenge was getting the map right. I manually transcribed the terrain of the bottom-left section of Ginger Island West tile by tile, using this Reddit post showing all plantable areas as reference. Each tile gets classified: path (walkable, can place beehouses), soil (can plant flowers directly), pot (garden pot for flowers, more expensive), obstacle (rocks, water), entrance (where you enter the area), and so on.
The irregular coastline, ferns scattered everywhere and a pond right in the middle make this a much harder problem than an open field. You can't just tile a repeating pattern.

Map overlay

Overlay verified
The result
542 beehouses. 53 flowers (44 in garden pots). 808 steps to collect everything and get back to the entrance.
At 952g per fairy rose honey with the Artisan profession, that's 515,984g every few days from a single section of Ginger Island.

Optimised layout: 542 beehouses, 53 flowers, 808 steps, 9 hard spots
Since I play on controller, hard spots are a real pain. The optimiser supports eliminating hard spots entirely. With that constraint enabled, it found 533 beehouses across 43 flowers (39 in garden pots) in 808 steps, with zero hard spots.
That's 9 fewer beehouses and a drop from 515,984g to 507,416g per harvest, but every single beehouse can be collected without fighting the controller. Worth it.

Controller-friendly layout: 533 beehouses, 43 flowers, 808 steps, 0 hard spots
The optimiser also supports drawing the optimal route based on the optimal solution it has found, allowing you to know exactly where to start from and how to tour around the beehouses. As this is the layout I will be using, I will be showcasing the optimal route it has found.

Optimal route for Ginger Island layout
Closing thoughts
The optimiser is not guaranteed to find the best layout as that would be too computationally expensive. It however was able to find the optimal layout on a smaller scale, and finding a near optimal solution with a reasonable amount of time at a larger scale is well worth the trade off.
The project is open source if you want to try it on your own maps.