Parametric gene pool in evolution

I am trying to create a gene pool that will have variable borders and the number of sliders according to certain inputs. Then I want to use this parametric gene pool in evolution via wallaceiX.

How to make a parametric gene pool is already addressed in this thread
Parametric genome list
There are several variants of how to dynamically change the boundaries and number of gene pool sliders.

A problem with dynamically changing gene pool arises during evolution in wallaceiX, which moves individual sliders in the gene pool. I would need the gene pool to be changed according to the parameters first, and then WallaceiX set different values ​​in the sliders in the reset gene pool. However, it seems to me that the gene pool setting does not happen before the wallaceiX sliders are changed, so the evolution does not work. Or there is another reason why the script does not work.
In my opinion, I would need the appropriate gene pool to be created according to the parameters, and then WalaceiX would overwrite the values ​​in it.
I know that the grasshopper is not ideal for real-time simulations. It would be possible to find out the values ​​for setting the gene pool by one evolution, then set it, and in the second evolution just move the sliders in the gene pool. However, I would like to do both together.

I am adding an optimization task in which I have this problem. I am looking for the optimal number and size of holes in the wall. The criterion is to maximize the view through the wall and minimize the area of the holes. The size of the holes is changed by the sliders in the gene pool. For a different grid to distribute the holes, it is necessary to change the number of sliders in the gene pool and the boundaries so that the holes cannot overlap.



parametric gene pool in evolution.gh (74.0 KB)

Could someone please explain to me why it doesn’t work and in the best case how to make it work?

You can not change the size of the genepool parametrically during the simulation. There is another way to do this. What is the maximum number of genes you may need? create a gene pool with that count. then based on the need of your design problem at every iteration, split that gene pool into two lists, one with the required number of genes and the second list is the excessive ones. This way you are not changing the gene pool object but at the same time are taking into account the changes in the design problem that may require different length genes.

Thank you very much for your reply. I didn’t realize I needed the same amount of genes.
Interesting way to get around it. Thanks. I’ll try it.

Even though we are using only those genes which are required but the optimization process will be longer because Wallacei is carrying out the randomization of excessive genes which have zero contribution to the optimization process. It will unnecessarily increase the time of simulation for problems having a large number of gene pool entries. Is there a way to get around this problem?