public GeneticAlgorithm(int generationsPerRun, int populationSize, double crossoverRate, double mutationRate, int lowerBound, int upperBound, int selectionStrategy, int recombinationStrategy, int mutationStrategy)
        {
            var gen1 = new List <Candidate>();

            GenerationsPerRun     = generationsPerRun;
            LowerBound            = lowerBound;
            UpperBound            = upperBound;
            PopulationSize        = populationSize;
            CrossoverRate         = crossoverRate;
            MutationRate          = mutationRate;
            CurrentGeneration     = gen1;
            SelectionStrategy     = (SelectionStrategy)selectionStrategy;
            RecombinationStrategy = (RecombinationStrategy)recombinationStrategy;
            MutationStrategy      = (MutationStrategy)mutationStrategy;
            Generations.Add(gen1);
            InitializePopulation();
        }
Beispiel #2
0
 public PexEvolutionStrategyArithmeticSolver(
     string explorationName,
     bool isLoggingEnabled,
     bool isLoggingVerboseEnabled,
     int fitnessBudget,
     int populationSize,
     int offspringPopulationSize,
     RecombinationStrategy recombination,
     MutationStrategy mutation,
     bool selectFromOffspringOnly)
     : base(explorationName, isLoggingEnabled, isLoggingVerboseEnabled, fitnessBudget, "ES", null)
 {
     this.variableCount           = 0;
     this.populationSize          = populationSize;
     this.offspringPopulationSize = offspringPopulationSize;
     this.parentPopulation        = new ESSolution[this.populationSize];
     this.intermediatePopulation  = new SafeList <ESSolution>();
     this.selectFromOffspringOnly = selectFromOffspringOnly;
     this.recombination           = recombination;
     this.mutation = mutation;
 }