Forcing Evaluation

Yossi Mossel ymossel at
Sun Aug 11 08:16:04 EDT 2002

Hi All,
  I am using galib with a noisy objective function - it does not always
return the same value for a specific genome.
As I am using elitism my best genomes from each generation get passed on 
from generation to generation without being re-evaluated.  I know this to be 
the case because the fitness of the best genome is a  monotonously 
increasing step function - this being highly unlikely considering how noisy 
my objective function is.  I would like to force galib to re-evaluate my 
genome in each generation.

I wrote the following population evaluator:

void PopEvaluator(GAPopulation & p)
  for(int i=0; i<p.size(); i++)

and set it using:

GAPopulation& pop = const_cast<GAPopulation&>(ga.population());

I expected this to solve the problem as I force evaluation in the population 
evaluator.  What happens is a bit surprising, my evaluator is used only 
every other call to the population evaluator, the other call goes to the 
default population evaluator which does not force evaluation.

I would be most appreciative of any input regarding this,

Yossi Mossel
M.Sc student
computational neuroscience
Tel Aviv University

MSN Photos is the easiest way to share and print your photos:

More information about the galib mailing list