Rhino.Compute: Galapagos from Server

Hi there,

I was wondering if anybody has tried to link / run Galapagos (or any other optimisation solver) through a Rhino.Compute sever application.

Any insight regarding this topic would be really helpful.

Many thanks

Miguel

This probably won’t work with how we’ve developed compute as a stateless system. That being said, you are free to develop another method of solving GH definitions on compute that would start solving and let you know when the solution is complete.

You have a few challenges:

  • Starting Galapagos programmatically
  • Having Galapagos / GH let you know when Galapagos is finished.
  • Writing a set of compute endpoints (for example: /solverStart, /solverStatus) that let you start the solver, and another that lets you check the status of your solve job.

There might be other solvers that do allow more programmatic control.

1 Like

Hi Miguel!
I am just curious.
Did you make any progress with running Galapagos on a server?

Hi archicoder,
No news on my end: I am avoiding the use of Galapagos on Rhino.Compute for now.
I believe this is a no-go at this moment but perhaps @DavidRutten has some news.
Best,

Miguel

Sorry, I’m not involved with the Rhino.Compute project, I have no idea how it works and what it can or could do.

No problem @DavidRutten - Thanks for your quick response in any case!
Best wishes

Miguel

Thank you guys for the responses!

Has anyone made progress here?

Cheers DK

Hi, any news on the topic? I am getting close to the point where I desperately need to run kind of Galapagos solver headless.

Maybe something like walacei could work? Wallacei | Food4Rhino

Does anyone have experience with geospiza? It seems to me that this meets all the criteria.

1 Like

Geospiza sounds promising!

An alternative route would be to run the genetic optimization client-side, and let compute calculate fintness values based on given parameters. That way you can also visualize the process (convergence, geometry, etc) while it’s solving, which is part of the joy IMO. However, it would require a genetic optimization library running in the client (like javascript).

I was part of a hack at AECTech Barcelona 2024, working on exactly this. You can find the hack here. The README links to a corresponding pull request in the ShapeDiver App Builder repository, which contains the code for the client-side genetic optimization, calling the computations of the fitness function in parallel on ShapeDiver.

@DanielK1 the code mentioned above is not part of the main App Builder distribution, because I never found the time to do this. If you are interested in continuing the work on this, I am happy to help.

I haven’t worked on it in a wile now, but all the source code would be also publicly available on GitHub if anyone is interested in to further progressing it. But I already tested it with compute and worked pretty well.

Geospiza Repo

1 Like