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));
        }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
 public Individual(Individual individual)
 {
     Fitness = individual.Fitness;
 }