Print

Print


Hello!

I have implemented a new betterThan operator into a CustomFitness class, 
which is an extended class of MultiObjectiveFitness.  I wrote  
pop.subpop.0.species.fitness = ec.multiobjective.CustomFitness inside my 
experiment param file. Once the execution starts, after the first 
generation fails, returning the next error:

Exception in thread "main" java.lang.ClassCastException: 
ec.multiobjective.CustomFitness cannot be cast to 
ec.multiobjective.nsga2.NSGA2MultiObjectiveFitness
         at 
ec.multiobjective.nsga2.NSGA2Breeder.assignFrontRanks(NSGA2Breeder.java:185)
         at 
ec.multiobjective.nsga2.NSGA2Breeder.buildArchive(NSGA2Breeder.java:121)
         at 
ec.multiobjective.nsga2.NSGA2Breeder.loadElites(NSGA2Breeder.java:82)
         at ec.simple.SimpleBreeder.breedPopulation(SimpleBreeder.java:225)
         at 
ec.multiobjective.nsga2.NSGA2Breeder.breedPopulation(NSGA2Breeder.java:113)
         at 
ec.simple.SimpleEvolutionState.evolve(SimpleEvolutionState.java:104)
         at ec.EvolutionState.run(EvolutionState.java:482)
         at ec.Evolve.main(Evolve.java:771)

I forgot something? Is it the right way to extend the betterThan operator?

Thanks in advance,
Adrián.