Print

Print


Hi All,

Hope you all are doing good! I am learning ECJ and getting a problem.

I need to modify the first cell of an individual's genome and then send that individual to problem's evaluate(). As for example, if the genome is [10, 5, 3, 11, 12], I want to keep the first number (here it is 10) between 1 to 5. I can do that using IntegerVectorIndividual's genome field. But I can't modify the Individual in that way. As a result, I am not able to send a modified individual to problem's evaluate().

I read about Individual and the documentation says that Individual is immuatable but modification can be done and it is safe in a single threaded environment. But I am not finding any way (eg. any method like SetGenome() in IntegerVectorIndividual) to do that. Any suggestion is appreciated.

NB: I am not subclassing EvolutionState directly, I am using state = ec.simple.simpleEvolutionState in param file but eval is replaced by my own evaluator which is extending ec.simple.SimpleEvaluator.

Thanks for your time
-Bari