Exemple #1
0
        public bool ShouldTerminate(GeneticAlgorithmSession <TGeneSequence> geneticAlgorithmSession)
        {
            if (geneticAlgorithmSession.GenerationCount >= _generations)
            {
                return(true);
            }

            return(false);
        }
Exemple #2
0
        public bool ShouldTerminate(GeneticAlgorithmSession <TGeneSequence> geneticAlgorithmSession)
        {
            var bestFitness = geneticAlgorithmSession.CurrentPopulation.Max(x => x.FitnessScore);

            if (bestFitness == _lastBestFitness)
            {
                _staleCount++;
            }
            else
            {
                _staleCount      = 0;
                _lastBestFitness = bestFitness;
            }

            if (bestFitness > 0 && _staleCount >= _staleGenerations)
            {
                return(true);
            }

            return(false);
        }