algorithmic modeling for Rhino
Dear All,
How one should interpret the results while Galapagos is running? How can I evaluate my fitness function?
The attached is an example from my def. Is that for instance mean that the beginning of the run it is more fit? So should I understand that my definition should be refined a bit?
From manual optimisation and experience we know that there is a certain bottom width and top width of a tower structure where we can expect optimal solution. If the structure is too wide then the diagonals are too long, too much wind drag on them and heavy structure. If the bottom width is to narrow, the structure is too slender and the deflection criteria can be fulfilled by only heavy main legs, thus heavy structure.
So, I am looking for an optimal solution with Galapagos, but I would like to understand more on the fitness function of it. Is it correct my interpretation that the beginning of the run of the solver it is more fit than a later stage?
Thank you.
Tags:
How one should interpret the results while Galapagos is running?
There's a lot of information. The most important two things to keep track of are the [+] icons in the fitness graph and the value next to the topmost green capsule, representing the best fitness found so far.
How can I evaluate my fitness function?
You don't. Galapagos evaluates the function all the time, that's how it knows when changes lead to improvements or not.
Is that for instance mean that the beginning of the run it is more fit?
This run shows that in Generation 2 a (marginally) better solution was found. The little plus-icon at the top of the orange graph at G=2 means that the fitness distribution went up. After that no better solutions were found.
If you're worried the solver is stuck in a local optimum, you can manually 'nuke' the population a few times to increase genetic diversity and maybe kick some genomes into a different optimum. Might work, might not, depending on how far away the other optimums are and how small their basins-of-attraction are.
[...] but I would like to understand more on the fitness function of it.
The fitness function is entirely your responsibility. Galapagos has zero understanding of the problems it is solving, it only knows whether a change made things better or worse. And it only knows that because it looks at the fitness function you wrote.
Is it correct my interpretation that the beginning of the run of the solver it is more fit than a later stage?
No, it did start out with a high fitness, but it was marginally improved near the start. After that, no further improvement could be found which means that Galapagos starts looking further and further afield for new solutions. This typically results in a worse average fitness for the population (the dropping dark orange line in the middle of the graph), but the fittest (best) solution is maintained, and that's the only one you care about.
Hi David,
Thank you for your very prompt and detailed reply, it helps for better understanding.
However, I am still struggling to solve one issue with Galapagos "co-operation" with Anemone loops. What happens, is that the first loop already produces a result (in this case the total weight of the structure) and Galapagos registers it. Then (I guess, it takes it as one result) goes to create the next generation. But this result is actually just a result from an initial value from Anemone.
I am triggering the loops by one of input params of Galapagos. So whenever the slider changes the loops starts again. But I would like to wait until all the loops had results, thus for the most optimal one. I should have around 5 or 6 loops. (see attached video, around 00:36)
Imagine the function of the loops as a small "galapagos". It is actually connected to Karamba3D optimiser component, so it looks for the lightest structure within one loop.
So the ideal way would be that Galapagos registers only, let say every 6th results, or alternatively wait 3 seconds for the last result. Then probably my fitness function would be a bit more efficient. (maybe)
Another video about Galapagos in action ;)
Thanks again, Br, Balazs
a year late, but may help new searchers:
when dealing with multiple loops and galapagos made me switch to GhPython, as python doesn't release an output until the whole script is complete.
"Is it correct my interpretation that the beginning of the run of the solver it is more fit than a later stage?"
"No, it did start out with a high fitness, but it was marginally improved near the start. After that, no further improvement could be found which means that Galapagos starts looking further and further afield for new solutions. This typically results in a worse average fitness for the population (the dropping dark orange line in the middle of the graph), but the fittest (best) solution is maintained, and that's the only one you care about"
According to this discussion is it correct to assume that in every plus-icon appearing in the generations graph I would have a "best solution" maybe with different designs? Or that the next plus-icon is a better solution than the previous one? I have several as in the attached image.
And what is the difference between the red line, the orange area and yellow area of the graph?
Thanks,
If someone is wondering like me, please check this discussion from 2013. https://www.grasshopper3d.com/forum/topics/galapagos-questions
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by