Optimizing cubicles for a given floor plate

Hello all,

I am trying to work on a script in Grasshopper which would help me to maximize on the number of cubicles for a given floor plate. There are 4 different types of cubicles and the only constraints are:

  1. They have to all fall within the fixed floor plate.
  2. They have to be each separated by a (variable) ‘x’ unit distance from one another.

The idea is I’d let galapagos figure out whichever cubile it would like to use in whatever combination to give the best result in terms of maximum cubile area along with any orientation. (Note: some are larger to accomodate more people, some are smaller but would would require to have the spacing between them).

I am new to grasshopper and this is more like a personal challenge that I have taken up to build my understanding of software. I have spent quite a bit of time figuring out different ways to solve this, but I keep facing one problem or another in whatever approach I take. Either I am not aware of some components that would help me solve this or its just me not able to crack the logic or whether its too coplicated to be worked on Grasshopper I do not know. I would really appreciate if someone could help me with this process. I have attached the best probable solutions that I could come up with if it is of any help. (Note: they might be very basic or even the wrong approch to solve this problem!)

Many thanks,

Optimizing Cubicles.3dm (42.6 KB) Optimizing Cubicles.gh (18.3 KB)

I don’t think I can help you with this, since I haven’t really used Galapagos before. Also, if it is a simple problem that you don’t need to solve again, you can just randomize it using point cloud. I am unclear as to what you wish to achieve

Hey! Thanks for replying. Cool cool no worries! Realized I might need to learn a bit of code as well to solve this. Basically need to rearrange my data to achieve what I’m trying to do. Ooo didn’t realize I could internalize my data on Grasshopper! Will start doing that from the next time :slight_smile:

Its an interesting problem with not so straightforward solution. I’m not sure Galapagos is the right move here as it sounds like there would be too many variables for the solver to be effective. In broader sense the problem is a nesting or packing problem, which is a well studied but complex problem. One past thread that I thought had an interesting approach to this was here: Nesting randomly (sort of Wordle)

There is also a gh plugin called packrat that nests boxes efficiently inside a bounding box if you are looking for something more ready made.

As much as you could have taken on any ‘grasshopper challenge’ !

The help here, then, is for the ‘process’ of learning, as it doesn’t directly solve your challenge :wink:

Check this example, or this one - 'could help you grab quick insight about setting up some basic ‘rules’ for galapagos


Woow, I had almost given up you know! :man_facepalming:t4: Honestly this is some really valuable help. Thank you for this, hopefully I’d figure this one out now :grin::grin:

Hey Ryan, thanks so much for replying! I think this would be of some help :grin: