/// <summary> /// Ends the generation. /// </summary> /// <param name="chromosomesNumber">Chromosomes number to keep on generation.</param> public void End(int chromosomesNumber) { Chromosomes = Chromosomes.OrderByDescending(c => c.Fitness.Value).ToList(); if (Chromosomes.Count > chromosomesNumber) { Chromosomes = Chromosomes.Take(chromosomesNumber).ToList(); } ElectBestChromosome(); }
/// <summary> /// Ends the generation. /// </summary> /// <param name="chromosomesNumber">Chromosomes number to keep on generation.</param> public void End(int chromosomesNumber) { Chromosomes = Chromosomes .Where(ValidateChromosome) .OrderByDescending(c => c.Fitness.Value) .ToList(); if (Chromosomes.Count > chromosomesNumber) { Chromosomes = Chromosomes.Take(chromosomesNumber).ToList(); } BestChromosome = Chromosomes.First(); }
public List <Chromosome> Take(int size) { var list = Chromosomes.Take(size).ToList(); return(list); }