Пример #1
0
        private static ControllerGlassOpt GetOptimizationController(FormInputData inputData, SettingsOpt settings)
        {
            var optController = new ControllerGlassOpt(inputData, settings);

            optController.Initialize();
            return(optController);
        }
Пример #2
0
        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);
        }