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); }
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(); }