I have a question I guess about the basic functioning of JGAP. I am using the DefaultConfiguration (35% crossover rate, 8.3% (1/12) mutation rate with BestChromosomeSelector with a rate of 90%) with a BulkFitnessFunction.
What am I trying to figure out for my particular optimization problem is the number of individual evaluations required in a GA to match closely the results of a brute force optimization (one which evaluates every possibility),
in order to properly set the population size and number of evolutions.
Now, I would expect that the total number of different individuals for a particular pop. size. and number of evolutions would be approximately
Since in the first evolution all individuals must be evaluated, and then afterwards the % of new ones which results from crossover and mutation. And this actually seems to be the case IF the BulkFitnessFunction is called
every evolution…but for some reason, this is not the case.
If I run 40 evolutions for example, only in e.g. 29 cases will the BulkFitnessFunction’s evaluate() method be called. Some evolutions are skipped. Why? I cannot seem to find anything in the documentation about this. How
can I force it to evaluate the fitness at each evolution, and even if I can do this, should I?