void InitializePopulation()
        {
            if (population == null)
            {
                population = new List <ISolution <T> >(populationSize);
            }
            else
            {
                population.Clear();
            }

            for (int i = 0; i < populationSize; i += 1)
            {
                var sol = sManager.CreateSolution();
                sol.Generation = currentGeneration;
                population.Add(sol);
            }
        }