// Cross-over rows between parents (so offspring is x rows from parent1 and
// y rows from parent2).
operators.add(new SudokuVerticalCrossover());
// Mutate the order of cells within individual rows.
operators.add(new SudokuRowMutation(new PoissonGenerator(2, rng),
new DiscreteUniformGenerator(1, 8, rng)));
EvolutionaryOperator<Sudoku> pipeline = new EvolutionPipeline<Sudoku>(operators);
EvolutionEngine<Sudoku> engine = new GenerationalEvolutionEngine<Sudoku>(new SudokuFactory(puzzle),
pipeline,