Thanks Sean. I forgot to change fitness class name in the parameter. It works by changing the appropriate name. I am subclassing MultiobjectiveFitness.java and xyz is the child class. Thanks again. BTW, I had a second asking on ranking vs fitness also. Would you please clarify the concept. -Bari On Sun, Jan 3, 2016 at 12:34 AM, Sean Luke <[log in to unmask]> wrote: > On Jan 2, 2016, at 11:20 PM, Atm Golam Bari <[log in to unmask]> wrote: > > >>> I am using MultiobjectiveFitness.java and > NSGA2MultiobjectiveFitness.java in my own evaluator as is but renaming > NSGA2MultiobjectiveFitness to xyz. When I call > assignFrontRanks(Subpopulation subpop) inside the evluator (same as > NSGA2Evaluator calls this method), I get ClassCastException Error on the > line ((xyz)(((Individual)(front.get(ind))).fitness)).rank = rank; I can't > find the reason. Any clue? > > Sound like your fitness object can't be cast to an xyz. This implies that > it's probably still an NSGA2MultiobjectiveFitness. Did you change what the > fitness class was in your parameter file? > > Why are you renaming MultiobjectiveFitness.java? This is highly > nonstandard and seems like something that's going to cause a whole heap of > problems. Why not just subclass it? > > Sean >