Imitating the galapagos with Python script


I am thinking about reproducing how the Galapagos plugin works. How can I start with developing an evolutionary algorithm?

Unfortunately, Galapagos and other plugins for evolutionary algorithms probably won’t work for my purpose since they always use a friendly graphic interface that I can’t control when running Rhino.Compute.

The problem I am working on, from a mathematical point of view, is simple. I can reduce my problem to an algorithm that takes as an input a set of integers, does a bit of calculation using a small database, and compares the result with another vector. No geometry needs to be involved. I would probably do it with Numpy, but to find a solution close to optimum, I would need to check billions of trillions of possibilities.

Can somebody recommend any useful resources that might help with the development of an evolutionary algorithm? I will appreciate any tips :wink:
@DavidRutten maybe you would be so kind as to give some hints on what possibilities lie around.


If you’re going to be running Rhino.Compute in CPython there’s a ton of relevant libraries you can implement. I believe DEAP is one of the most popular:

1 Like

Nice! Thank you!

1 Like

Hi @archicoder,
We have taken a slight different approach to evolutionary algorithms in our case (similar to a packing problem).
Evolutionary algorithms could work in our case but the waiting time is crucial for user experience. Therefore, we are using a heuristic approach that does not use population solutions testing


On the end I did the algorithm from scratch in Numpy

Hands-On Genetic Algorithms with Python was a good book to start from.

Thanks for your support guys!