protected virtual IList <T> CreateInitialPopulation() { var population = new List <T>(_populationSize); for (int i = 0; i < _populationSize; i++) { population.Add(_problem.CreateChromosome()); } return(population); }