public void BBBCTestArithmeticException(InvalidFunc TypeFunc)
        {
            BBBCOptimizer bb = new BBBCOptimizer();

            BBBCParams param = new BBBCParams(10, GeneralOptimizerTests.ITER_MAX, 0.4, 0.3);

            Assert.Throws <InvalidValueFunctionException>(() => GeneralOptimizerTests.TestInavlidFunction(bb, param, TypeFunc));
        }
        public void BBBCTestOptimization()
        {
            BBBCOptimizer bb = new BBBCOptimizer();

            BBBCParams param = new BBBCParams(10, GeneralOptimizerTests.ITER_MAX, 0.4, 0.3);

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

            Assert.False(error);
        }
        public void BBBCTestCancel()
        {
            BBBCOptimizer bb = new BBBCOptimizer();

            BBBCParams param = new BBBCParams(10, 1000 * 1000, 0.4, 0.3);

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

            Assert.False(error);
        }
        public void BBBCTestReporter()
        {
            BBBCOptimizer bb = new BBBCOptimizer();

            BBBCParams param = new BBBCParams(10, GeneralOptimizerTests.ITER_MAX, 0.4, 0.3);

            var reporter = new TestReporter(typeof(BBBCOptimizer), 1, GeneralOptimizerTests.ITER_MAX);

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

            Assert.False(reporter.Error);
        }
예제 #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 BBBCTestWrongParams()
        {
            BBBCOptimizer bb = new BBBCOptimizer();

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