final MutationPolicy mutationPolicy,
final double mutationRate,
final SelectionPolicy selectionPolicy) throws OutOfRangeException {
if (crossoverRate < 0 || crossoverRate > 1) {
throw new OutOfRangeException(LocalizedFormats.CROSSOVER_RATE,
crossoverRate, 0, 1);
}
if (mutationRate < 0 || mutationRate > 1) {
throw new OutOfRangeException(LocalizedFormats.MUTATION_RATE,
mutationRate, 0, 1);
}
this.crossoverPolicy = crossoverPolicy;
this.crossoverRate = crossoverRate;
this.mutationPolicy = mutationPolicy;