public void FWOptimizerTestArithmeticException(InvalidFunc TypeFunc)
        {
            FWOptimizer fw = new FWOptimizer();

            FWParams param = new FWParams(10, 1000 * 1000, 3, 5, 10, 40);

            Assert.Throws <InvalidValueFunctionException>(() => GeneralOptimizerTests.TestInavlidFunction(fw, param, TypeFunc));
        }
        public void FWOptimizerTestOptimization()
        {
            FWOptimizer fw = new FWOptimizer();

            FWParams param = new FWParams(10, GeneralOptimizerTests.ITER_MAX, 3, 1, 2, 4);

            bool error = GeneralOptimizerTests.TestOptimizer(fw, param);

            Assert.False(error);
        }
        public void FWOptimizerTestCancel()
        {
            FWOptimizer fw = new FWOptimizer();

            // Distance is Manhattan distance.
            FWParams param = new FWParams(10, 1000 * 1000, 3, 5, 10, 40);

            bool error = GeneralOptimizerTests.TestCancel(fw, param);

            Assert.False(error);
        }
        public void FWOptimizerTestReporter()
        {
            FWOptimizer fw = new FWOptimizer();

            FWParams param = new FWParams(10, GeneralOptimizerTests.ITER_MAX, 3, 1, 4, 5);

            var reporter = new TestReporter(typeof(FWOptimizer), 0, GeneralOptimizerTests.ITER_MAX - 1);

            // Optimization f(x,y)=x^2 + y^2 on [-10;10]x[-10;10].
            fw.Minimize(param, new OOOptimizationProblem(GeneralOptimizerTests.TargetFunction, GeneralOptimizerTests.LowerBounds, GeneralOptimizerTests.UpperBounds), reporter);

            Assert.False(reporter.Error);
        }
Esempio n. 5
0
        private static void Main(string[] args)
        {
            IOOOptimizer <BBBCParams> bbbc = new BBBCOptimizer();
            IOOOptimizer <FWParams>   fw   = new FWOptimizer();
            IOOOptimizer <GEMParams>  gem  = new GEMOptimizer();

            BBBCParams param1 = new BBBCParams(20, 200, 0.4, 0.5);
            FWParams   param2 = new FWParams(20, 100, 20, 10, 20, 40);
            GEMParams  param3 = new GEMParams(1, 100, 50, 2 * Math.Sqrt(2), 100);

            IOOOptProblem param = new RastriginProblem();

            Console.WriteLine("Exact solution: f(x) = 0, x = (0, 0).");
            Console.WriteLine();

            Test(bbbc, param1, param, "BBBC");
            Test(fw, param2, param, "Fireworks");
            Test(gem, param3, param, "GEM");

            Console.WriteLine("Complete");
            Console.ReadKey();
        }
        public void FWOptimizerTestWrongParams()
        {
            FWOptimizer fw = new FWOptimizer();

            Assert.Throws <ArgumentException>(() => GeneralOptimizerTests.TestWrongParams(fw));
        }