public Evolver(IPopulationGenerator <T> generator, int populationSize, BreederBase <T> breeder, MutatorBase <T> mutator, Func <T, double> fitnessFunc) : this(GeneratePopulation(generator, populationSize), breeder, mutator, fitnessFunc) { }
public Evolver(List <T> initialPopulation, BreederBase <T> breeder, MutatorBase <T> mutator, Func <T, double> fitnessFunc) { _breeder = breeder; _populationSize = initialPopulation.Count; _mutator = mutator; _fitnessFunc = fitnessFunc; Population = initialPopulation; IsParallel = true; //default value, % of old population which won't make it to new one DeathRate = 0.7; }
protected EngineBase(EvolutionParameters evolutionParameters, IGenericFactory <Solution> solutionsFactory, PopulationGeneratorBase populationGenerator, MutatorBase objectMutator, MutatorBase stdDeviationsMutator, MutationRuleSupervisorBase mutationRuleSupervisor, ParentsSelectorBase parentsSelector, SurvivorsSelectorBase survivorsSelector, Statistics statistics, Stopwatch stoper) { Parameters = evolutionParameters; SolutionsFactory = solutionsFactory; PopulationGenerator = populationGenerator; ObjectMutator = objectMutator; StdDeviationsMutator = stdDeviationsMutator; MutationRuleSupervisor = mutationRuleSupervisor; ParentsSelector = parentsSelector; SurvivorsSelector = survivorsSelector; Statistics = statistics; Stoper = stoper; BasePopulation = new Solution[evolutionParameters.BasePopulationSize]; OffspringPopulation = new Solution[evolutionParameters.OffspringPopulationSize]; EvolutionStepsSimple = new List <Solution>(evolutionParameters.NumberOfGenerations); EvolutionSteps = new Dictionary <int, EvolutionStep>(evolutionParameters.NumberOfGenerations); }
public CmEngineWithoutRecombination(EvolutionParameters evolutionParameters, IGenericFactory <Solution> solutionsFactory, PopulationGeneratorBase populationGenerator, MutatorBase objectMutator, MutatorBase stdDeviationsMutator, MutationRuleSupervisorBase mutationRuleSupervisor, ParentsSelectorBase parentsSelector, SurvivorsSelectorBase survivorsSelector, Statistics statistics, Stopwatch stoper, MutatorBase rotationsMutator) : base(evolutionParameters, solutionsFactory, populationGenerator, objectMutator, stdDeviationsMutator, mutationRuleSupervisor, parentsSelector, survivorsSelector, statistics, stoper) { RotationsMutator = rotationsMutator; }