generative modeling for Rhino
I have some difficulties to impose a generation limit to Galapagos. I'm running Galapagos, in Grasshopper version 0.8.0062, with DIVA and set the Max. Stagnant to 20 generations and 15 individuals for each population. However the Galapagos Evolutionary Solver continues and I had to abort it manually somewhere in the 30th generation. I noticed that I'm not the only one with this kind of problem.
Below are some screenshots of the problem (Click on the images to look better).
Maybe I'm not understanding correctly the meaning of Max. Stagnant. If not, how can I limit the number of possible generations?
Need some urgent help with this matter!
Max stagnant means max number of generations that are not changing enough. There is no known to me generation limit, you can only limit calculation time - "runtime limit"
Taking thaht into account if I reduce MAX stagnant to a low value maybe the optimization cycle will be shorter no?
"Max stagnant means max number of generations that are not changing enough."
The exact definition of a stagnant iteration is one in which the fittest genome has the same fitness as the fittest genome in the previous iteration. So there may be a very large difference between two iterations, it's just that it did not yield a better overall answer.
If you make Max Stagnant very small it will indeed cut off the simulation earlier, but there will always be a few stagnant iterations as that is in the nature of the solver. This is why the scroller goes orange and then red if you pick low numbers. Also note that you can right-click on the scrollers to see a bunch of preset values (hover over them for tooltips that explain when a preset value makes sense).
There is no longer a way to limit the total number of iterations/generations. Now you have time-based and result-based abort settings.
Thanks David for the quick reply.
I've already notice the tips in the scrollers (a great and usefull feature by the way).
When you talk about result-based abort settings you're talking about stop the solver manually? Or there are other ways to stop the solver beside the time-based setting?
Introducing a generation/iteration limit (I don't know if this is possible) maybe a usefull feature, specially to this kind of problems that involves complex simulations (like DIVA simulations) that are time consuming and the user are not quite sure of the time that they make take (for instance a radiation map is more faster to compute then a year based climate metric).
Another question (maybe a request). Is there a way to select "individuals" (genomes) from past iterations? I mean, imagine that the evolutionary solver is generating geometrical previews in Rhino Viewport (I personal like to activate the Galapagos setting "show all genomes in Rhino") and some of the solutions that are being generated I may find interesting. It would be great to go back and select them in order to bake them. If Galapagos could allow the visualization of the several "individuals" geometrical output of each iteration/generation then it would be awesome.
Thanks David for the great work and for the patience to reply my doubts,
Luís dos Santos
I am wondering how did you solve your analysis. I am trying now to use Diva with Galapagos and would appreciate your feedback and experience with settings.
Sorry about the late reply. On regards linking DIVA with Galapagos the only way to converge is just let Galapagos end the optimization process by itself. You define this with the Max Stagnant. Like David reply the max stagnant will stop the evolutionary solver when it finds the number, that you've defined in Max stagnant, of genomes of equal fitness value. Notice that I'm always referring to the evolutionary solver and not to the shape annealing optimization process.
By my experience I find useful to increase the initial boost parameter. This will multiply the population of your first generation. There´re some studies and papers that suggest larger initial populations tend to produce more fast and yet accurate results with genetic algorithms. I can comproved that.
So, for settings (depending on your computer and the complexity of your model) I would say - Population 20 to 30; Initial boost 2 to 3. It will take about 2 a 3 days of computation time to converge with DIVA and Galapagos.