private static ControllerGlassOpt GetOptimizationController(FormInputData inputData, SettingsOpt settings) { var optController = new ControllerGlassOpt(inputData, settings); optController.Initialize(); return(optController); }
private static GeneticAlgorithm SetGeneticAlgorithmSettings(SettingsOpt settings, ControllerGlassOpt optController) { var selection = optController.CreateSelection(); var crossover = optController.CreateCrossover(); var mutation = optController.CreateMutation(); var fitness = optController.CreateFitness(); var adamChromosome = optController.CreateChromosome(); var population = new Population(settings.MinPopulationSize, settings.MaxPopulationSize, adamChromosome); population.GenerationStrategy = new TrackingGenerationStrategy(); var geneticAlgorithm = new GeneticAlgorithm(population, fitness, selection, crossover, mutation); optController.ConfigGA(geneticAlgorithm); geneticAlgorithm.Termination = optController.CreateTermination(); geneticAlgorithm.MutationProbability = ConstantsOpt.MutationRate; geneticAlgorithm.CrossoverProbability = ConstantsOpt.CrossoverRate; return(geneticAlgorithm); }