public String geneticAlgorithm(Set<String> population,
FitnessFunction fitnessFn, int iterations)
{
String bestIndividual = null;
validatePopulation(population);
clearInstrumentation();
setPopulationSize(population.Count);
// repeat
// until some individual is fit enough, or enough time has elapsed
for (int i = 0; i < iterations; i++)
{
bestIndividual = ga(population, fitnessFn);
}
setIterations(iterations);
// return the best individual in population, according to FITNESS-FN
return bestIndividual;
}