1 10 package org.jgap.gp.impl; 11 12 import java.util.Comparator ; 13 import org.jgap.*; 14 15 import org.jgap.gp.*; 16 17 28 public class GPProgramFitnessComparator 29 implements Comparator { 30 31 private final static String CVS_REVISION = "$Revision: 1.3 $"; 32 33 private IGPFitnessEvaluator m_fitnessEvaluator; 34 35 41 public GPProgramFitnessComparator() { 42 this(new DefaultGPFitnessEvaluator()); 43 } 44 45 51 public GPProgramFitnessComparator(IGPFitnessEvaluator a_evaluator) { 52 if (a_evaluator == null) { 53 throw new IllegalArgumentException ("Evaluator must not be null"); 54 } 55 m_fitnessEvaluator = a_evaluator; 56 } 57 58 69 public int compare(final Object a_program1, final Object a_program2) { 70 IGPProgram progOne = (IGPProgram) a_program1; 71 IGPProgram progTwo = (IGPProgram) a_program2; 72 if (m_fitnessEvaluator.isFitter(progOne, progTwo)) { 73 return -1; 74 } 75 else if (m_fitnessEvaluator.isFitter(progTwo, progOne)) { 76 return 1; 77 } 78 else { 79 return 0; 80 } 81 } 82 } 83 | Popular Tags |