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); }