public bool ShouldTerminate(GeneticAlgorithmSession <TGeneSequence> geneticAlgorithmSession) { if (geneticAlgorithmSession.GenerationCount >= _generations) { return(true); } return(false); }
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); }