The issue with the shuffles is that the node you’re using to shuffle is TOO random. You need something that sequences through the list is a more controlled order, such as getting the next lexicographic permutation from the ordered list.
I took the liberty of altering your effort to illustrate how I tackle problems of this scope (less than 12 or less spaces to place with a central hallway - well I assumed you wanted the hallway central). This method produces some pretty good results for a bubble diagram style layout. I also added another evaluation method (as it was only returning a single design in the results due to it being the best performing), giving each space a noise value and looking for loud spaces adjacent to quiet ones. I also used rectangles instead of circles as they convert to walls easier later on, and the distance calculations is more real IMO.
Looks like this:
20 generations with a population of 100:
My method changes for spaces larger than 12 due to the upper limit of integers. Mapping the permutations to the overall scope and using a double slider and a divisor could get a bigger working range in theory, but the design space grows so fast it’s impossible to keep up. Sorting the larger chunks and coming back for firsts or breaking things up into smaller sets helps with a design space smaller than 12! (IE: place departments, then groups, then rooms, then desks).
The Graph: How I do it.dyn (191.3 KB)