public void Crossover(Individual parent1, Individual parent2) { Individual children1=null; int k = _random.Next(0,1); for (int i = 0; i < parent2.Chromosome.Genes.Count; i++) { children1.Chromosome.Genes[i] = parent1.Chromosome.Genes[i] * k + (1 - k) * parent2.Chromosome.Genes[i]; Count.CalculateFitnes(children1); } IndividualsLambda.Add(new Individual (children1)); }
private Individual GetIndividual(List<double> distribution) { var rand = _random.NextDouble(); Individual result = null; for (int i = 0; i < distribution.Count; i++) { if (rand < distribution[i]) { result = new Individual(Individuals[i]); break; } } return result; }
public Individual(Individual individual) { Fitness = individual.Fitness; }