示例#1
0
        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> >();
        }