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)); }
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; }
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>(); }
public Mutation(ISolutionValidation solutionValidation, ISolutionEvaluator solutionEvaluator) { this.solutionValidation = solutionValidation; this.solutionEvaluator = solutionEvaluator; }
public Recombination(ISolutionEvaluator solutionEvaluator, ISolutionValidation solutionValidation) { this.solutionEvaluator = solutionEvaluator; this.solutionValidation = solutionValidation; }