public void Run()
 {
     for (int i = 0; i < IterationsCount; i++)
     {
         var adamChromosome = new Chromosome(this.JobShop);
         var population     = new Population(this.MinPopulation, this.MaxPopulation, adamChromosome);
         var fitness        = new Fitness();
         var selection;
         var crossover = new Crossover(new CycleCrossover());
         var mutation;
         var operatorStrategy = new OperatorsStrategy();
         var geneticAlgorithm =
             new GeneticAlgorithm(population, fitness, selection, crossover, mutation)
         {
             Termination          = new GenerationNumberTermination(),
             MutationProbability  = this.MutationProbability,
             CrossoverProbability = this.CrossoverProbability,
             OperatorsStrategy    = operatorStrategy,
             Reinsertion          = new SurvivorSelection(new EliteSelection(), fitness)
         };
         var stopwatch = new Stopwatch();
     }
 }
Exemplo n.º 2
0
 /// <summary>Mutates the specified chromosomes.</summary>
 /// <param name="chromosomes">The chromosomes.</param>
 private void Mutate(IList <IChromosome> chromosomes)
 {
     OperatorsStrategy.Mutate(Mutation, MutationProbability, chromosomes);
 }
Exemplo n.º 3
0
 /// <summary>Crosses the specified parents.</summary>
 /// <param name="parents">The parents.</param>
 private IList <IChromosome> Cross(IList <IChromosome> parents)
 {
     return(OperatorsStrategy.Cross(Population, Crossover, CrossoverProbability, parents));
 }