/// <summary> /// Resets all configuration settings for this instance. /// </summary> public static void Reset() { Rnd = new Random((int)DateTime.Now.Ticks); Individual = new IndividualConfiguration(); Populous = new PopulousConfiguration(); Selection = new SelectionConfiguration(); Mutation = new MutationConfiguration(); Crossover = new CrossoverConfiguration(); CrossoverProvider.RebuildSelectionArray(); }
void PopulateNextGeneration(Population <T> nextGen, List <Individual <T> > fittestList) { fittestList.ForEach(f => nextGen.Add(f)); while (nextGen.PopulationSize < _population.PopulationSize) { Individual <T>[] parents = SelectParents(fittestList); Individual <T> child = CrossoverProvider.GetNextCrossover().PerformCrossover(parents [0], parents [1]); nextGen.Add(child); } ; }