Exemple #1
0
        public void RunTabuSearchVRPSampleTest()
        {
            var vrp = CreateTabuSearchVrpSample();

            vrp.SetSeedRandomly.Value = false;
            SamplesUtils.RunAlgorithm(vrp);
            Assert.AreEqual(1473, SamplesUtils.GetDoubleResult(vrp, "BestQuality"));
            Assert.AreEqual(2102.1192622950812, SamplesUtils.GetDoubleResult(vrp, "CurrentAverageQuality"));
            Assert.AreEqual(4006, SamplesUtils.GetDoubleResult(vrp, "CurrentWorstQuality"));
            Assert.AreEqual(119072, SamplesUtils.GetIntResult(vrp, "EvaluatedMoves"));
        }
        public void RunGpLawnMowerSampleTest()
        {
            var ga = CreateGpLawnMowerSample();

            ga.SetSeedRandomly.Value = false;
            SamplesUtils.RunAlgorithm(ga);
            Assert.AreEqual(55, SamplesUtils.GetDoubleResult(ga, "BestQuality"));
            Assert.AreEqual(49.266, SamplesUtils.GetDoubleResult(ga, "CurrentAverageQuality"));
            Assert.AreEqual(1, SamplesUtils.GetDoubleResult(ga, "CurrentWorstQuality"));
            Assert.AreEqual(50950, SamplesUtils.GetIntResult(ga, "EvaluatedSolutions"));
        }
Exemple #3
0
        public void RunLocalSearchKnapsackSampleTest()
        {
            var ls = CreateLocalSearchKnapsackSample();

            ls.SetSeedRandomly.Value = false;
            SamplesUtils.RunAlgorithm(ls);
            Assert.AreEqual(345, SamplesUtils.GetDoubleResult(ls, "BestQuality"));
            Assert.AreEqual(340.70731707317071, SamplesUtils.GetDoubleResult(ls, "CurrentAverageQuality"));
            Assert.AreEqual(337, SamplesUtils.GetDoubleResult(ls, "CurrentWorstQuality"));
            Assert.AreEqual(82000, SamplesUtils.GetIntResult(ls, "EvaluatedMoves"));
        }
        public void RunIslandGaTspSampleTest()
        {
            var ga = CreateIslandGaTspSample();

            ga.SetSeedRandomly.Value = false;
            SamplesUtils.RunAlgorithm(ga);
            Assert.AreEqual(9918, SamplesUtils.GetDoubleResult(ga, "BestQuality"));
            Assert.AreEqual(10324.64, SamplesUtils.GetDoubleResult(ga, "CurrentAverageQuality"));
            Assert.AreEqual(11823, SamplesUtils.GetDoubleResult(ga, "CurrentWorstQuality"));
            Assert.AreEqual(495500, SamplesUtils.GetIntResult(ga, "EvaluatedSolutions"));
        }
        public void RunEsGriewankSampleTest()
        {
            var es = CreateEsGriewankSample();

            es.SetSeedRandomly.Value = false;
            SamplesUtils.RunAlgorithm(es);
            Assert.AreEqual(0, SamplesUtils.GetDoubleResult(es, "BestQuality"));
            Assert.AreEqual(0, SamplesUtils.GetDoubleResult(es, "CurrentAverageQuality"));
            Assert.AreEqual(0, SamplesUtils.GetDoubleResult(es, "CurrentWorstQuality"));
            Assert.AreEqual(100020, SamplesUtils.GetIntResult(es, "EvaluatedSolutions"));
        }
        public void RunTabuSearchTspSampleTest()
        {
            var ts = CreateTabuSearchTspSample();

            ts.SetSeedRandomly.Value = false;
            SamplesUtils.RunAlgorithm(ts);
            Assert.AreEqual(6294, SamplesUtils.GetDoubleResult(ts, "BestQuality"));
            Assert.AreEqual(7380.0386666666664, SamplesUtils.GetDoubleResult(ts, "CurrentAverageQuality"));
            Assert.AreEqual(8328, SamplesUtils.GetDoubleResult(ts, "CurrentWorstQuality"));
            Assert.AreEqual(750000, SamplesUtils.GetIntResult(ts, "EvaluatedMoves"));
        }
        public void RunGaGroupingProblemSampleTest()
        {
            var ga = CreateGaGroupingProblemSample();

            ga.SetSeedRandomly.Value = false;
            SamplesUtils.RunAlgorithm(ga);
            Assert.AreEqual(26, SamplesUtils.GetDoubleResult(ga, "BestQuality"));
            Assert.AreEqual(27.58, SamplesUtils.GetDoubleResult(ga, "CurrentAverageQuality"));
            Assert.AreEqual(105, SamplesUtils.GetDoubleResult(ga, "CurrentWorstQuality"));
            Assert.AreEqual(99100, SamplesUtils.GetIntResult(ga, "EvaluatedSolutions"));
        }
        public void RunVnsTspSampleTest()
        {
            var vns = CreateVnsTspSample();

            vns.SetSeedRandomly = false;
            SamplesUtils.RunAlgorithm(vns);
            Assert.AreEqual(867, SamplesUtils.GetDoubleResult(vns, "BestQuality"));
            Assert.AreEqual(867, SamplesUtils.GetDoubleResult(vns, "CurrentAverageQuality"));
            Assert.AreEqual(867, SamplesUtils.GetDoubleResult(vns, "CurrentWorstQuality"));
            Assert.AreEqual(12975173, SamplesUtils.GetIntResult(vns, "EvaluatedSolutions"));
        }
Exemple #9
0
        public void RunAlpsGaTspSampleTest()
        {
            var alpsGa = CreateAlpsGaTspSample();

            alpsGa.SetSeedRandomly.Value = false;
            SamplesUtils.RunAlgorithm(alpsGa);
            Assert.AreEqual(7967, SamplesUtils.GetDoubleResult(alpsGa, "BestQuality"));
            Assert.AreEqual(17565.174444444445, SamplesUtils.GetDoubleResult(alpsGa, "CurrentAverageQuality"));
            Assert.AreEqual(50295, SamplesUtils.GetDoubleResult(alpsGa, "CurrentWorstQuality"));
            Assert.AreEqual(621900, SamplesUtils.GetIntResult(alpsGa, "EvaluatedSolutions"));
        }
        public void RunGpTimeSeriesSampleTest()
        {
            var osga = CreateGpTimeSeriesSample();

            osga.SetSeedRandomly.Value = false;
            SamplesUtils.RunAlgorithm(osga);

            Assert.AreEqual(0.015441526903606416, SamplesUtils.GetDoubleResult(osga, "BestQuality"), 1E-8);
            Assert.AreEqual(0.017420834241279298, SamplesUtils.GetDoubleResult(osga, "CurrentAverageQuality"), 1E-8);
            Assert.AreEqual(0.065195703753298972, SamplesUtils.GetDoubleResult(osga, "CurrentWorstQuality"), 1E-8);
            Assert.AreEqual(92000, SamplesUtils.GetIntResult(osga, "EvaluatedSolutions"));
        }
        public void RunGpMultiplexerSampleTest()
        {
            var osga = CreateGpMultiplexerSample();

            osga.SetSeedRandomly.Value = false;
            SamplesUtils.RunAlgorithm(osga);

            Assert.AreEqual(1856, SamplesUtils.GetDoubleResult(osga, "BestQuality"), 1E-8);
            Assert.AreEqual(1784.76, SamplesUtils.GetDoubleResult(osga, "CurrentAverageQuality"), 1E-8);
            Assert.AreEqual(1536, SamplesUtils.GetDoubleResult(osga, "CurrentWorstQuality"), 1E-8);
            Assert.AreEqual(66900, SamplesUtils.GetIntResult(osga, "EvaluatedSolutions"));
        }
        public void RunGpTimeSeriesSampleTest()
        {
            var osga = CreateGpTimeSeriesSample();

            osga.SetSeedRandomly.Value = false;
            SamplesUtils.RunAlgorithm(osga);

            Assert.AreEqual(0.020952753415199643, SamplesUtils.GetDoubleResult(osga, "BestQuality"), 1E-8);
            Assert.AreEqual(0.023220938866319357, SamplesUtils.GetDoubleResult(osga, "CurrentAverageQuality"), 1E-8);
            Assert.AreEqual(0.023716788824595391, SamplesUtils.GetDoubleResult(osga, "CurrentWorstQuality"), 1E-8);
            Assert.AreEqual(48200, SamplesUtils.GetIntResult(osga, "EvaluatedSolutions"));
        }
        public void RunGpSymbolicRegressionSampleTest()
        {
            var ga = CreateGpSymbolicRegressionSample();

            ga.SetSeedRandomly.Value = false;
            SamplesUtils.RunAlgorithm(ga);
            Assert.AreEqual(0.858344291534625, SamplesUtils.GetDoubleResult(ga, "BestQuality"), 1E-8);
            Assert.AreEqual(0.56758466520692641, SamplesUtils.GetDoubleResult(ga, "CurrentAverageQuality"), 1E-8);
            Assert.AreEqual(0, SamplesUtils.GetDoubleResult(ga, "CurrentWorstQuality"), 1E-8);
            Assert.AreEqual(50950, SamplesUtils.GetIntResult(ga, "EvaluatedSolutions"));
            var bestTrainingSolution = (IRegressionSolution)ga.Results["Best training solution"].Value;

            Assert.AreEqual(0.85504801557844745, bestTrainingSolution.TrainingRSquared, 1E-8);
            Assert.AreEqual(0.86259381948647817, bestTrainingSolution.TestRSquared, 1E-8);
            var bestValidationSolution = (IRegressionSolution)ga.Results["Best validation solution"].Value;

            Assert.AreEqual(0.84854338315539746, bestValidationSolution.TrainingRSquared, 1E-8);
            Assert.AreEqual(0.8662813452656678, bestValidationSolution.TestRSquared, 1E-8);
        }
        public void RunGpSymbolicClassificationSampleTest()
        {
            var ga = CreateGpSymbolicClassificationSample();

            ga.SetSeedRandomly.Value = false;
            SamplesUtils.RunAlgorithm(ga);
            Assert.AreEqual(0.141880203907627, SamplesUtils.GetDoubleResult(ga, "BestQuality"), 1E-8);
            Assert.AreEqual(4.3246992327753295, SamplesUtils.GetDoubleResult(ga, "CurrentAverageQuality"), 1E-8);
            Assert.AreEqual(100.62175156249987, SamplesUtils.GetDoubleResult(ga, "CurrentWorstQuality"), 1E-8);
            Assert.AreEqual(100900, SamplesUtils.GetIntResult(ga, "EvaluatedSolutions"));
            var bestTrainingSolution = (IClassificationSolution)ga.Results["Best training solution"].Value;

            Assert.AreEqual(0.80875, bestTrainingSolution.TrainingAccuracy, 1E-8);
            Assert.AreEqual(0.795031055900621, bestTrainingSolution.TestAccuracy, 1E-8);
            var bestValidationSolution = (IClassificationSolution)ga.Results["Best validation solution"].Value;

            Assert.AreEqual(0.81375, bestValidationSolution.TrainingAccuracy, 1E-8);
            Assert.AreEqual(0.788819875776398, bestValidationSolution.TestAccuracy, 1E-8);
        }
Exemple #15
0
        public void RunPsoRastriginSampleTest()
        {
            var pso = CreatePsoRastriginSample();

            pso.SetSeedRandomly.Value = false;
            SamplesUtils.RunAlgorithm(pso);
            if (Environment.Is64BitProcess)
            {
                Assert.AreEqual(0, SamplesUtils.GetDoubleResult(pso, "BestQuality"));
                Assert.AreEqual(3.9649516110677525, SamplesUtils.GetDoubleResult(pso, "CurrentAverageQuality"), 1e-08);
                Assert.AreEqual(25.566430359483757, SamplesUtils.GetDoubleResult(pso, "CurrentWorstQuality"), 1e-08);
                Assert.AreEqual(200, SamplesUtils.GetIntResult(pso, "Iterations"));
            }
            else
            {
                Assert.AreEqual(0, SamplesUtils.GetDoubleResult(pso, "BestQuality"));
                Assert.AreEqual(3.3957460831564048, SamplesUtils.GetDoubleResult(pso, "CurrentAverageQuality"), 1e-08);
                Assert.AreEqual(34.412788077766145, SamplesUtils.GetDoubleResult(pso, "CurrentWorstQuality"), 1e-08);
                Assert.AreEqual(200, SamplesUtils.GetIntResult(pso, "Iterations"));
            }
        }
        public void RunPsoSchwefelSampleTest()
        {
            var pso = CreatePsoSchwefelSample();

            pso.SetSeedRandomly.Value = false;
            SamplesUtils.RunAlgorithm(pso);
            if (!Environment.Is64BitProcess)
            {
                Assert.AreEqual(118.44027985932837, SamplesUtils.GetDoubleResult(pso, "BestQuality"));
                Assert.AreEqual(140.71570105946438, SamplesUtils.GetDoubleResult(pso, "CurrentAverageQuality"));
                Assert.AreEqual(220.956806502853, SamplesUtils.GetDoubleResult(pso, "CurrentWorstQuality"));
                Assert.AreEqual(1000, SamplesUtils.GetIntResult(pso, "Iterations"));
            }
            else
            {
                Assert.AreEqual(118.43958282879345, SamplesUtils.GetDoubleResult(pso, "BestQuality"));
                Assert.AreEqual(139.43946864779372, SamplesUtils.GetDoubleResult(pso, "CurrentAverageQuality"));
                Assert.AreEqual(217.14654589055152, SamplesUtils.GetDoubleResult(pso, "CurrentWorstQuality"));
                Assert.AreEqual(1000, SamplesUtils.GetIntResult(pso, "Iterations"));
            }
        }
Exemple #17
0
        public void RunGPSymbolicRegressionSampleWithOSTest()
        {
            var osga = CreateGpSymbolicRegressionSample();

            osga.SetSeedRandomly.Value    = false;
            osga.Seed.Value               = seed;
            osga.MaximumGenerations.Value = 10; //reduce unit test runtime

            SamplesUtils.RunAlgorithm(osga);
            var bestTrainingSolution = (IRegressionSolution)osga.Results["Best training solution"].Value;

            if (Environment.Is64BitProcess)
            {
                // the following are the result values as produced on builder.heuristiclab.com
                // Unfortunately, running the same test on a different machine results in different values
                // For x86 environments the results below match but on x64 there is a difference
                // We tracked down the ConstantOptimizationEvaluator as a possible cause but have not
                // been able to identify the real cause. Presumably, execution on a Xeon and a Core i7 processor
                // leads to different results.
                Assert.AreEqual(0.90811178793448177, SamplesUtils.GetDoubleResult(osga, "BestQuality"), 1E-8, Environment.NewLine + "Best Quality differs.");
                Assert.AreEqual(0.87264498853305739, SamplesUtils.GetDoubleResult(osga, "CurrentAverageQuality"), 1E-8, Environment.NewLine + "Current Average Quality differs.");
                Assert.AreEqual(0.75425658608938817, SamplesUtils.GetDoubleResult(osga, "CurrentWorstQuality"), 1E-8, Environment.NewLine + "Current Worst Quality differs.");
                Assert.AreEqual(8900, SamplesUtils.GetIntResult(osga, "EvaluatedSolutions"), Environment.NewLine + "Evaluated Solutions differ.");
                Assert.AreEqual(0.90811178793448177, bestTrainingSolution.TrainingRSquared, 1E-8, Environment.NewLine + "Best Training Solution Training R² differs.");
                // Assert.AreEqual(0.896290231994223, bestTrainingSolution.TestRSquared, 1E-8, Environment.NewLine + "Best Training Solution Test R² differs.");
            }
            else
            {
                Assert.AreEqual(0.9971536312165723, SamplesUtils.GetDoubleResult(osga, "BestQuality"), 1E-8, Environment.NewLine + "Best Qualitiy differs.");
                Assert.AreEqual(0.98382832370544937, SamplesUtils.GetDoubleResult(osga, "CurrentAverageQuality"), 1E-8, Environment.NewLine + "Current Average Quality differs.");
                Assert.AreEqual(0.960805603777699, SamplesUtils.GetDoubleResult(osga, "CurrentWorstQuality"), 1E-8, Environment.NewLine + "Current Worst Quality differs.");
                Assert.AreEqual(10500, SamplesUtils.GetIntResult(osga, "EvaluatedSolutions"), Environment.NewLine + "Evaluated Solutions differ.");
                Assert.AreEqual(0.9971536312165723, bestTrainingSolution.TrainingRSquared, 1E-8, Environment.NewLine + "Best Training Solution Training R² differs.");
                Assert.AreEqual(0.010190137960908724, bestTrainingSolution.TestRSquared, 1E-8, Environment.NewLine + "Best Training Solution Test R² differs.");
            }
        }