Initial Generation for Galapagos Optimization

Hi everyone!

I tried to use Galapagos to find a solution to a problem with a lot of input parameters (defined as genomes in galapagos) and a single fitness parameter. The algorithm eventually finds pretty good designs but one problem I observed is, that the initial generation of genomes seems to not be entirely random. The sliders for all the input parameters or genomes allow three different integer values. However the initial generation only contains designs that use the first two values of each genome. That is a huge limitation of the design space and pushes the optimization in a difficult direction right from the start. I am guessing that there is some degree of random mutation of the genomes with each generation. So at some point there are designs using genomes representing the third value of the sliders but in order to keep those designs “alive” I have to keep the population fairly big and the variety high which conflicts with the ideal settings that would perform better and find an optimum faster.
Is there any way I can solve this problem? Is there a better way to set this up so that I do not run into this problem?

Cheers,
Lukas

This can even be demonstrated by a very simple example. Here I created just two number sliders that allow integer values from 0 to 2 (so again three values). These are assigned to be the genomes of the evolutionary algorithm in Galapagos. the fitness is defined as the sum of the two integer values of the sliders. If we set the initial population (initial boost) very high we can observe that no design with a “2” as the value of any of the two number sliders is considered.

Demo_Integer_Designspace.gh (4.1 KB)

Surely those values are discarded because they result in poor fitness?

No they are never checked. It can be observed in the visual representation of the initial generation in the Galapagos window. And also in the example file I uploaded the value that isn’t checked would be the ideal design parameter.

Hi Lukas.

Did you solve the problem? I have the same issue

1 Like