1 10 package examples.grid.fitnessDistributed; 11 12 import org.jgap.*; 13 import org.jgap.distr.grid.*; 14 15 21 public class FitnessSplitStrategy 22 implements IRequestSplitStrategy { 23 24 private final static String CVS_REVISION = "$Revision: 1.3 $"; 25 26 private Configuration m_config; 27 28 public FitnessSplitStrategy(Configuration a_config) { 29 m_config = a_config; 30 } 31 32 public Configuration getConfiguration() { 33 return m_config; 34 } 35 36 47 public JGAPRequest[] split(JGAPRequest a_request) 48 throws Exception { 49 Population pop = a_request.getPopulation(); 50 pop.sortByFitness(); 55 int count = getConfiguration().getPopulationSize(); 56 JGAPRequest[] result = new JGAPRequest[count]; 57 for (int i = 0; i < count; i++) { 58 Configuration config = getConfiguration().newInstance(i + "", 61 "chromosome " + i); 62 IChromosome chrom = pop.getChromosome(i); 65 result[i] = (JGAPRequest) a_request.newInstance("Chromosome " + i, 66 i); 67 result[i].setPopulation(new Population(config, chrom)); 68 } 69 return result; 70 } 71 } 72 | Popular Tags |