Ejemplo n.º 1
0
        /// <summary>
        /// Creates a genetic solver.
        /// </summary>
        public GeneticSolver()
        {
            _mutation_operation = new BestDetailedPlacementMutationOperation();
            _cross_over_operation = new SequentialContructiveCrossoverOperator();
            _generation_operation = new BestPlacementGenerationOperation();

            _eltism = 10;
            _mutation = 30;
            _cross = 20;

            _population = 20;
            _stagnation_count = 100;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Creates a genetic solver.
        /// </summary>
        public GeneticSolver()
        {
            _mutation_operation   = new BestDetailedPlacementMutationOperation();
            _cross_over_operation = new SequentialContructiveCrossoverOperator();
            _generation_operation = new BestPlacementGenerationOperation();

            _eltism   = 10;
            _mutation = 30;
            _cross    = 20;

            _population       = 20;
            _stagnation_count = 100;
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Creates a new solver.
 /// </summary>
 /// <param name="settings"></param>
 /// <param name="selector"></param>
 /// <param name="combined_operation"></param>
 /// <param name="problem"></param>
 /// <param name="fitness_calculator"></param>
 public Solver(
     ProblemType problem,
     SolverSettings settings,
     ISelector <GenomeType, ProblemType, WeightType> selector,
     IOperation <GenomeType, ProblemType, WeightType> combined_operation,
     IFitnessCalculator <GenomeType, ProblemType, WeightType> fitness_calculator)
 {
     _problem              = problem;
     _settings             = settings;
     _selector             = selector;
     _mutation_operation   = combined_operation;
     _crossOverOperation   = combined_operation;
     _generation_operation = combined_operation;
     _fitness_calculator   = fitness_calculator;
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Creates a genetic solver.
        /// </summary>
        /// <param name="population"></param>
        /// <param name="stagnation"></param>
        /// <param name="elitism"></param>
        /// <param name="mutation_operation"></param>
        /// <param name="mutation"></param>
        /// <param name="cross_over_operation"></param>
        /// <param name="cross_over"></param>
        /// <param name="generation_operation"></param>
        public GeneticSolver(int population, int stagnation, int elitism,
                             IMutationOperation <List <int>, GeneticProblem, Fitness> mutation_operation, int mutation,
                             ICrossOverOperation <List <int>, GeneticProblem, Fitness> cross_over_operation, int cross_over,
                             IGenerationOperation <List <int>, GeneticProblem, Fitness> generation_operation)
        {
            _mutation_operation   = mutation_operation;
            _cross_over_operation = cross_over_operation;
            _generation_operation = generation_operation;

            _eltism   = elitism;
            _mutation = mutation;
            _cross    = cross_over;

            _population       = population;
            _stagnation_count = stagnation;
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Creates a new solver.
 /// </summary>
 /// <param name="problem"></param>
 /// <param name="settings"></param>
 /// <param name="selector"></param>
 /// <param name="mutation"></param>
 /// <param name="cross_over"></param>
 /// <param name="generation"></param>
 /// <param name="fitness_calculator"></param>
 /// <param name="accept_only_better_cross_over"></param>
 /// <param name="accept_only_better_mutation"></param>
 public Solver(
     ProblemType problem,
     SolverSettings settings,
     ISelector <GenomeType, ProblemType, WeightType> selector,
     IMutationOperation <GenomeType, ProblemType, WeightType> mutation,
     ICrossOverOperation <GenomeType, ProblemType, WeightType> cross_over,
     IGenerationOperation <GenomeType, ProblemType, WeightType> generation,
     IFitnessCalculator <GenomeType, ProblemType, WeightType> fitness_calculator,
     bool accept_only_better_cross_over, bool accept_only_better_mutation)
 {
     _problem                          = problem;
     _settings                         = settings;
     _selector                         = selector;
     _generation_operation             = generation;
     _mutation_operation               = mutation;
     _crossOverOperation               = cross_over;
     _fitness_calculator               = fitness_calculator;
     _accept_only_better_on_cross_over = accept_only_better_cross_over;
     _accept_only_better_on_mutation   = accept_only_better_mutation;
 }
Ejemplo n.º 6
0
        /// <summary>
        /// Creates a genetic solver.
        /// </summary>
        /// <param name="population"></param>
        /// <param name="stagnation"></param>
        /// <param name="elitism"></param>
        /// <param name="mutation_operation"></param>
        /// <param name="mutation"></param>
        /// <param name="cross_over_operation"></param>
        /// <param name="cross_over"></param>
        /// <param name="generation_operation"></param>
        public GeneticSolver(int population, int stagnation, int elitism,
            IMutationOperation<List<int>, GeneticProblem, Fitness> mutation_operation, int mutation,
            ICrossOverOperation<List<int>, GeneticProblem, Fitness> cross_over_operation, int cross_over,
            IGenerationOperation<List<int>, GeneticProblem, Fitness> generation_operation)
        {
            _mutation_operation = mutation_operation;
            _cross_over_operation = cross_over_operation;
            _generation_operation = generation_operation;

            _eltism = elitism;
            _mutation = mutation;
            _cross = cross_over;

            _population = population;
            _stagnation_count = stagnation;
        }