Sean,
But I changed my direction and implemented it using GA and not GP.
So I really need of one GeneVectorIndividual cause my individual should be a vector of Genes. But you're right, I have 4 ways to mutate my gene:
1. Inserting a discipline and their workload in a random period of the a also random day
2. Removing a discipline...
3. change the discipline...
4. Change the workload.
The problem is in the second way, when removing a discipline. So I remove this way and my populate increase in the next generations having a nice behavior.
So, I stil have a question. Two individual are selected for crossover and mutation process, but is generate two copies and not the real individuals, after the processes spoke before, these two clones are added in the new Subpopulation and the two parents are mantained in the Subpopulation too (right?). If I have many Subpopulations (> 1000), in the beginner generations, the algorithm is very fast but after to more generations the algorithm is not too fast as before. Why does it occur? It seems that the subpopulations is accumulating the number of individuals. How the algorithm define the fitness value to kill the weakest individuals?
Thanks for all.
Regards.