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(); }
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; }