示例#1
0
 public static void main(String[] args) {
   Random rng = new MersenneTwisterRNG();
   List<EvolutionaryOperator<Genome>> operators = new ArrayList<EvolutionaryOperator<Genome>>(2);
   operators.add(new GenomeCrossover(6));
   operators.add(new GenomeMutation()); // @CHETNA - TO EDIT
   EvolutionaryOperator<Genome> pipeline = new EvolutionPipeline<Genome>(operators);
   // SelectionStrategy <Object> selectionStrategy = new SigmaScaling(new
   // RouletteWheelSelection());
   SelectionStrategy<Object> selectionStrategy = new StochasticUniversalSampling();
   // SelectionStrategy <Object> selectionStrategy = new TournamentSelection();
   GenerationalEvolutionEngine<Genome> engine =
       new GenerationalEvolutionEngine<Genome>(
           new GenomeFactory(), pipeline, new GenomeFitnessEval(), selectionStrategy, rng);
   engine.addEvolutionObserver(new EvolutionLogger());
   engine.setSingleThreaded(true);
   Genome winner =
       engine.evolve(
           populationSize,
           eliteCount,
           new ElapsedTime(7200000),
           new GenerationCount(20),
           new Stagnation(3000, true));
   System.out.println("\n\nWINNER");
   winner.printParams();
   List<TerminationCondition> termConds = engine.getSatisfiedTerminationConditions();
   printTermConds(termConds);
 }