示例#1
0
 public HomeController(Mailer mailer, ISolutionEvaluator solutionEvaluator,
                       IProblemGenerator problemGenerator, SolutionRepository solutionRepository,
                       RegistrationRepository registrationRepository)
 {
     _mailer                 = mailer ?? throw new ArgumentNullException(nameof(mailer));
     _solutionEvaluator      = solutionEvaluator ?? throw new ArgumentNullException(nameof(solutionEvaluator));
     _problemGenerator       = problemGenerator ?? throw new ArgumentNullException(nameof(problemGenerator));
     _solutionRepository     = solutionRepository ?? throw new ArgumentNullException(nameof(solutionRepository));
     _registrationRepository = registrationRepository ?? throw new ArgumentNullException(nameof(registrationRepository));
 }
示例#2
0
 public RandomSolutionGenerator(
     IOrder order,
     IStockList stockList,
     ISolutionEvaluator solutionEvaluator,
     ISolutionValidation solutionValidation,
     IMaterialCutter materialCutter
     )
 {
     this.order              = order;
     this.stockList          = stockList;
     this.solutionEvaluator  = solutionEvaluator;
     this.solutionValidation = solutionValidation;
     this.materialCutter     = materialCutter;
 }
示例#3
0
 public SolutionStrategyFactory(
     IRandomSolutionGenerator randomSolutionGenerator,
     IParentSelection parentSelection,
     IRecombination recombination,
     IBestSolutionFinder bestSolutionFinder,
     IMutation mutation,
     ISolutionEvaluator solutionEvaluator,
     IAdptiveChanceAdjuster adptiveChanceAdjuster,
     ICSVFileWriter csvFileWriter
     )
 {
     this.randomSolutionGenerator = randomSolutionGenerator;
     this.parentSelection         = parentSelection;
     this.recombination           = recombination;
     this.bestSolutionFinder      = bestSolutionFinder;
     this.mutation              = mutation;
     this.solutionEvaluator     = solutionEvaluator;
     this.adptiveChanceAdjuster = adptiveChanceAdjuster;
     this.csvFileWriter         = csvFileWriter;
 }
        public EvolutionarySolution(
            IRandomSolutionGenerator randomSolutionGenerator,
            IParentSelection parentSelection,
            IRecombination recombination,
            IBestSolutionFinder bestSolutionFinder,
            IMutation mutation,
            ISolutionEvaluator solutionEvaluator,
            IAdptiveChanceAdjuster adptiveChanceAdjuster
            )
        {
            this.randomSolutionGenerator = randomSolutionGenerator;
            this.parentSelection         = parentSelection;
            this.recombination           = recombination;
            this.bestSolutionFinder      = bestSolutionFinder;
            this.mutation              = mutation;
            this.solutionEvaluator     = solutionEvaluator;
            this.adptiveChanceAdjuster = adptiveChanceAdjuster;

            solutions = new Dictionary <int, Solution>();

            parentPopulation    = new List <Solution>();
            offspringPopulation = new List <Solution>();
        }
示例#5
0
 public Mutation(ISolutionValidation solutionValidation, ISolutionEvaluator solutionEvaluator)
 {
     this.solutionValidation = solutionValidation;
     this.solutionEvaluator  = solutionEvaluator;
 }
示例#6
0
 public Recombination(ISolutionEvaluator solutionEvaluator, ISolutionValidation solutionValidation)
 {
     this.solutionEvaluator  = solutionEvaluator;
     this.solutionValidation = solutionValidation;
 }