public GeneticAlgorithm(IEvaluation <Element, EvaluationResult> evaluation, IStopCondition stopCondition, AGenerator <Element> generator, ASelection <EvaluationResult> selection, ACrossover crossover, IMutation <Element> mutation, int populationSize, AOptimizationState <Element, EvaluationResult, OptimizationResult> state, int?seed = null) : base(evaluation, stopCondition, generator, selection, mutation, populationSize, state) { this.crossover = crossover; indices = Utils.CreateIndexList(populationSize); shuffler = new Shuffler(seed); }
public APopulationOptimizer(IEvaluation <Element, EvaluationResult> evaluation, IStopCondition stopCondition, AGenerator <Element> generator, ASelection <EvaluationResult> selection, IMutation <Element> mutation, int populationSize, AOptimizationState <Element, EvaluationResult, OptimizationResult> state) : base(evaluation, stopCondition, state) { this.generator = generator; this.selection = selection; this.mutation = mutation; this.populationSize = populationSize; population = new List <Individual <Element, EvaluationResult> >(); }