Ejemplo n.º 1
0
        /// <summary>
        /// Elects the best chromosome.
        /// </summary>
        private void ElectBestChromosome()
        {
            var newBestChromosome = Chromosomes.First();

            ValidateBestChromosome(newBestChromosome);

            BestChromosome = newBestChromosome;
        }
Ejemplo n.º 2
0
        /// <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();
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Elects the best chromosome.
 /// </summary>
 private void ElectBestChromosome()
 {
     BestChromosome = Chromosomes.First();
 }