/// <summary> /// Elects the best chromosome. /// </summary> private void ElectBestChromosome() { var newBestChromosome = Chromosomes.First(); ValidateBestChromosome(newBestChromosome); BestChromosome = newBestChromosome; }
/// <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(); }
/// <summary> /// Elects the best chromosome. /// </summary> private void ElectBestChromosome() { BestChromosome = Chromosomes.First(); }