Example #1
0
        public void Perform()
        {
            BulkSolver bulkSolver = new BulkSolver()
            {
                MainDirectory       = MAIN_DIRECTORY,
                ParallelExecution   = false,
                ReportProgrssToFile = true,
                LengthFilter        = new[] { "week.json" },
                //KindFilter = new[] { "1_ch_n", "2_ch_n", "2_ch_v", "3_ch_n", "3edu1", "3edu2", "4ch3n1a1", "4ch3n1a2" },
                DifficultyFilter           = new[] { "medium" },
                StartingSolutionsDirectory = Path.Combine(MAIN_DIRECTORY, "solutions", "base_solutions_all"),
                SavedSubpath = "evolutionary_optimization"
            };
            Random random = new Random();

            while (true)
            {
                int    population           = random.Next(15, 46);
                int    parentCandidates     = random.Next(1, 5);
                double mutationRate         = random.NextDouble();
                double crossoverRate        = random.NextDouble();
                double powerForMut          = random.NextDouble() * 6 + 1;
                double mutationProbability  = 0.1 * Math.Pow(0.5, powerForMut);
                double powerForCros         = random.NextDouble() * 6 + 1;
                double crossoverProbability = 0.5 * Math.Pow(0.5, powerForCros);
                string desc = $"{population}_{parentCandidates}_{mutationRate:0.###}_{crossoverRate:0.###}_{mutationProbability:0.#######}_{crossoverProbability:0.#######}";
                Console.WriteLine($"currently testing {desc}\n\n\n");
                bulkSolver.SolveEverything(() => EvolutionaryMakerParametrized(population, parentCandidates, mutationRate, crossoverRate, mutationProbability, crossoverProbability, desc));
            }
        }
Example #2
0
        public void Perform()
        {
            BulkSolver bulkSolver = new BulkSolver()
            {
                MainDirectory              = MAIN_DIRECTORY,
                ParallelExecution          = false,
                ReportProgrssToFile        = true,
                LengthFilter               = new[] { "week.json", "month.json" },
                DifficultyFilter           = new[] { "medium" },
                StartingSolutionsDirectory = Path.Combine(MAIN_DIRECTORY, "solutions", "base_solutions_all"),
            };

            bulkSolver.SolveEverything(EvolutionaryBest);
            BulkSolver bulkSolver2 = new BulkSolver()
            {
                MainDirectory              = MAIN_DIRECTORY,
                ParallelExecution          = true,
                MaxThreads                 = 15,
                ReportProgrssToFile        = true,
                LengthFilter               = new[] { "week.json", "month.json" },
                DifficultyFilter           = new[] { "medium" },
                StartingSolutionsDirectory = Path.Combine(MAIN_DIRECTORY, "solutions", "base_solutions_all"),
            };

            bulkSolver2.SolveEverything(SimulatedAnnealingBest);
        }
        public void Perform()
        {
            BulkSolver bulkSolver = new BulkSolver()
            {
                Times             = 3,
                MainDirectory     = MAIN_DIRECTORY,
                ParallelExecution = true,
                MaxThreads        = 15,
                LengthFilter      = new[] { "week.json" },
                //KindFilter = new[] { "1_ch_n", "2_ch_n", "2_ch_v", "3_ch_n", "3edu1", "3edu2", "4ch3n1a1", "4ch3n1a2" },
                DifficultyFilter           = new[] { "medium" },
                StartingSolutionsDirectory = Path.Combine(MAIN_DIRECTORY, "solutions", "base_solutions_all"),
                SavedSubpath = "annealing_optimization"
            };

            for (int i = 2; i < 10; i += 1)
            {
                for (int j = 2; j < 10; ++j)
                {
                    double alpha = 1.0 - Math.Pow(0.25, i);
                    double beta  = Math.Pow(0.25, j);
                    bulkSolver.SolveEverything(() => { return(SimulatedAnnealingMakerParametrized(alpha, beta, $"{alpha}_{beta}")); });
                }
            }
        }
        public void Perform()
        {
            BulkSolver bulkSolver = new BulkSolver()
            {
                Times               = 3,
                MainDirectory       = MAIN_DIRECTORY,
                ParallelExecution   = true,
                ReportProgrssToFile = true,
                MaxThreads          = 15,
                LengthFilter        = new[] { "week.json" },
                //KindFilter = new[] { "1_ch_n", "2_ch_n", "2_ch_v", "3_ch_n", "3edu1", "3edu2", "4ch3n1a1", "4ch3n1a2" },
                DifficultyFilter           = new[] { "medium" },
                StartingSolutionsDirectory = Path.Combine(MAIN_DIRECTORY, "solutions", "base_solutions_all"),
                SavedSubpath = "annealing_optimization3"
            };

            for (double i = 6.9; i < 8.1; i += 0.1)
            {
                for (double j = 7.9; j < 11.1; j += 0.29)
                {
                    Console.WriteLine($"started {i} {j}");
                    double alpha = 1.0 - Math.Pow(0.25, i);
                    double beta  = Math.Pow(0.25, j);
                    bulkSolver.SolveEverything(() => { return(SimulatedAnnealingMakerParametrized(alpha, beta, $"{alpha}_{beta}")); });
                }
            }
        }
 public void Perform()
 {
     BulkSolver bulkSolver = new BulkSolver()
     {
         MainDirectory = MAIN_DIRECTORY,
         ParallelExecution = true,
         MaxThreads = 15,
         LengthFilter = new[] { "week.json", "month.json" },
     };
     bulkSolver.SolveEverything(RandomSlow);
     bulkSolver.SolveEverything(RandomFast);
 }
        public void Perform()
        {
            BulkSolver bulkSolver = new BulkSolver()
            {
                Times                = 2,
                MainDirectory        = MAIN_DIRECTORY,
                ParallelExecution    = true,
                MaxThreads           = 15,
                TotalStatsCategories = new[] { "trivial", "very_easy", "easy", "medium", "hard", "extreme" },
                LengthFilter         = new[] { "week.json", "month.json" },
            };

            bulkSolver.SolveEverything(LocalSearchFinal);
        }
Example #7
0
        public void Perform()
        {
            BulkSolver bulkSolver = new BulkSolver()
            {
                MainDirectory       = MAIN_DIRECTORY,
                ParallelExecution   = true,
                MaxThreads          = 15,
                ReportProgrssToFile = true,
                LengthFilter        = new[] { "week.json", "month.json" },
            };

            bulkSolver.SolveEverything(InitialBad);
            bulkSolver.SolveEverything(InitialGood);
        }
        public void Perform()
        {
            BulkSolver bulkSolver = new BulkSolver()
            {
                MainDirectory       = MAIN_DIRECTORY,
                ParallelExecution   = true,
                MaxThreads          = 15,
                ReportProgrssToFile = true,
                LengthFilter        = new[] { "week.json", "month.json" },
            };

            bulkSolver.SolveEverything(InsertionStartEndingDeleteConfiguration);
            bulkSolver.SolveEverything(CompundNoIncom);
        }
Example #9
0
        public void Perform()
        {
            BulkSolver bulkSolver = new BulkSolver()
            {
                Times               = 38,
                MainDirectory       = MAIN_DIRECTORY,
                ParallelExecution   = true,
                ReportProgrssToFile = true,
                MaxThreads          = 15,
                DifficultyFilter    = new[] { "trivial", "easy", "very_easy", "hard", "extreme" },
                LengthFilter        = new[] { "week.json", "month.json" },
            };

            bulkSolver.SolveEverything(LocalSearchFinal);
        }
Example #10
0
        public void Perform()
        {
            BulkSolver bulkSolver = new BulkSolver()
            {
                MainDirectory                 = MAIN_DIRECTORY,
                ParallelExecution             = false,
                ReportProgrssToFile           = true,
                PickOnlyBestStartingSolutions = true,
                LengthFilter               = new[] { "week.json" },
                DifficultyFilter           = new[] { "medium" },
                StartingSolutionsDirectory = Path.Combine(MAIN_DIRECTORY, "annealing_optimization3", "solutions") + @"\*\",
            };

            bulkSolver.SolveEverything(EvolutionaryBest);
        }