private void Evaluate(Chromosome child)
 {
     child.Penalty = this.network.CalculateError(this.dataset, child.Values);
 }
 private void Mutate(Chromosome child)
 {
     Mutation.Mutate(child, this.random);
 }
 private Tuple <Chromosome, Chromosome> Select(out Chromosome worst)
 {
     return(Selection.Select(this.population, this.random, out worst));
 }
 private void Replace(Chromosome worst, Chromosome child)
 {
     this.population.Remove(worst);
     this.population.Add(child);
 }