diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/optim/nonlinear/scalar/noderiv/SimplexOptimizer.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/optim/nonlinear/scalar/noderiv/SimplexOptimizer.java index 7140907f7..2a714b691 100644 --- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/optim/nonlinear/scalar/noderiv/SimplexOptimizer.java +++ b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/optim/nonlinear/scalar/noderiv/SimplexOptimizer.java @@ -531,7 +531,7 @@ public class SimplexOptimizer extends MultivariateOptimizer { goalType, new InitialGuess(init), simplex, - new NelderMeadTransform()); + new MultiDirectionalTransform()); } /** diff --git a/commons-math-legacy/src/test/resources/org/apache/commons/math4/legacy/optim/nonlinear/scalar/noderiv/std_test_func.simplex.hedar_fukushima.csv b/commons-math-legacy/src/test/resources/org/apache/commons/math4/legacy/optim/nonlinear/scalar/noderiv/std_test_func.simplex.hedar_fukushima.csv index bebc13554..dcd585e96 100644 --- a/commons-math-legacy/src/test/resources/org/apache/commons/math4/legacy/optim/nonlinear/scalar/noderiv/std_test_func.simplex.hedar_fukushima.csv +++ b/commons-math-legacy/src/test/resources/org/apache/commons/math4/legacy/optim/nonlinear/scalar/noderiv/std_test_func.simplex.hedar_fukushima.csv @@ -30,28 +30,37 @@ # # Caveat: Some tests are commented out (cf. JIRA: MATH-1552). # -PARABOLA, 8, 0 0 0 0 0 0 0 0, 20, 40, 1e-4, 900, true -PARABOLA, 16, 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0, 20, 40, 5e-4, 5200, true -ROSENBROCK, 2, 1 1, 0.9, 1.1, 1e-4, 160, true -ROSENBROCK, 4, 1 1 1 1, 0.9, 1.1, 1e-4, 500, true -ROSENBROCK, 8, 1 1 1 1 1 1 1 1, 0.9, 1.1, 2e-4, 2200, true -ROSENBROCK, 16, 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1, 0.9, 1.1, 3e-1, 9000, true -POWELL, 4, 0 0 0 0, 4, 5, 4e-3, 400, true -POWELL, 8, 0 0 0 0 0 0 0 0, 4, 5, 2e-2, 1760, true -CIGAR, 2, 0 0, 2, 3, 5e-5, 150, true -SPHERE, 2, 0 0, 2, 3, 5e-4, 110, true -ELLI, 2, 0 0, 3, 4, 1e-4, 150, true -TWO_AXES, 2, 0 0, 3, 4, 1e-4, 170, true -CIG_TAB, 2, 0 0, 3, 4, 2e-3, 160, true -TABLET, 2, 0 0, 3, 4, 2e-4, 160, true -SUM_POW, 2, 0 0, 3, 4, 1e-2, 110, true -ACKLEY, 2, 0 0, 2, 4, 1e-6, 170, true -RASTRIGIN, 2, 0 0, 6, 10, 5e-5, 130, true -GRIEWANK, 2, 0 0, 2, 3, 1e-1, 120, true -LEVY, 2, 1 1, 0.9, 1.1, 1e-3, 110, true -SCHWEFEL, 2, 420.9687 420.9687, 9, 11, 1, 110, true -ZAKHAROV, 2, 0 0, 3, 4, 1e-4, 130, true -PERM, 2, 1 2, 0.9, 1.1, 2e-3, 150, true -STYBLINSKI_TANG, 2, -2.903534 -2.903534, 1, 2, 1e-4, 120, true +PARABOLA, 8, 0 0 0 0 0 0 0 0, 20, 40, 1e-4, 1600, true +PARABOLA, 16, 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0, 20, 40, 5e-4, 6000, true +ROSENBROCK, 2, 1 1, 0.9, 1.1, 2e-3, 11000, true +ROSENBROCK, 4, 1 1 1 1, 0.9, 1.1, 3e-3, 40000, true +ROSENBROCK, 8, 1 1 1 1 1 1 1 1, 0.9, 1.1, 3e-3, 130000, true +ROSENBROCK, 16, 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1, 0.9, 1.1, 5e-2, 400000, true +POWELL, 4, 0 0 0 0, 4, 5, 5e-2, 12000, true +POWELL, 8, 0 0 0 0 0 0 0 0, 4, 5, 6e-2, 53000, true +CIGAR, 2, 0 0, 2, 3, 5e-5, 200, true +CIGAR, 11, 0 0 0 0 0 0 0 0 0 0 0, 2, 3, 5e-5, 3300, true +SPHERE, 2, 0 0, 2, 3, 5e-4, 140, true +SPHERE, 11, 0 0 0 0 0 0 0 0 0 0 0, 2, 3, 5e-4, 2500, true +ELLI, 2, 0 0, 3, 4, 1e-4, 210, true +TWO_AXES, 2, 0 0, 3, 4, 1e-4, 240, true +TWO_AXES, 11, 0 0 0 0 0 0 0 0 0 0 0, 3, 4, 1e-4, 4000, true +CIG_TAB, 2, 0 0, 3, 4, 2e-3, 220, true +CIG_TAB, 11, 0 0 0 0 0 0 0 0 0 0 0, 3, 4, 2e-3, 3400, true +TABLET, 2, 0 0, 3, 4, 2e-4, 200, true +TABLET, 11, 0 0 0 0 0 0 0 0 0 0 0, 3, 4, 2e-4, 3400, true +SUM_POW, 2, 0 0, 3, 4, 1e-2, 150, true +SUM_POW, 11, 0 0 0 0 0 0 0 0 0 0 0, 3, 4, 1e-2, 2500, true +ACKLEY, 2, 0 0, 2, 4, 1e-6, 250, true +ACKLEY, 6, 0 0 0 0 0 0, 2, 4, 1e-6, 1400, true +#RASTRIGIN, 2, 0 0, 6, 10, 5e-5, 170, true +GRIEWANK, 2, 0 0, 2, 3, 1e-1, 140, true +GRIEWANK, 11, 0 0 0 0 0 0 0 0 0 0 0, 2, 3, 1e-1, 2200, true +LEVY, 2, 1 1, 0.9, 1.1, 1e-3, 150, true +LEVY, 9, 1 1 1 1 1 1 1 1 1, 0.9, 1.1, 1e-3, 1600, true +SCHWEFEL, 2, 420.9687 420.9687, 9, 11, 1, 150, true +ZAKHAROV, 2, 0 0, 3, 4, 1e-4, 180, true +PERM, 2, 1 2, 0.9, 1.1, 3e-3, 25000, true +STYBLINSKI_TANG, 2, -2.903534 -2.903534, 1, 2, 1e-4, 150, true #HAPPY_CAT, 2, -1 -1, 2, 3, 1e-4, 500, true #SALOMON, 2, 0 0, 2, 3, 1e-4, 500, true diff --git a/commons-math-legacy/src/test/resources/org/apache/commons/math4/legacy/optim/nonlinear/scalar/noderiv/std_test_func.simplex.multidirectional.csv b/commons-math-legacy/src/test/resources/org/apache/commons/math4/legacy/optim/nonlinear/scalar/noderiv/std_test_func.simplex.multidirectional.csv index ee704aab0..e751e0366 100644 --- a/commons-math-legacy/src/test/resources/org/apache/commons/math4/legacy/optim/nonlinear/scalar/noderiv/std_test_func.simplex.multidirectional.csv +++ b/commons-math-legacy/src/test/resources/org/apache/commons/math4/legacy/optim/nonlinear/scalar/noderiv/std_test_func.simplex.multidirectional.csv @@ -30,37 +30,46 @@ # # Caveat: Some tests are commented out (cf. JIRA: MATH-1552). # -PARABOLA, 8, 0 0 0 0 0 0 0 0, 20, 40, 1e-4, 1500, false +PARABOLA, 8, 0 0 0 0 0 0 0 0, 20, 40, 1e-4, 1550, false PARABOLA, 8, 0 0 0 0 0 0 0 0, 20, 40, 1e-4, 2600, true PARABOLA, 16, 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0, 20, 40, 1e-4, 5800, false PARABOLA, 16, 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0, 20, 40, 1e-4, 10000, true ROSENBROCK, 2, 1 1, 0.9, 1.1, 3e-3, 11000, false -ROSENBROCK, 2, 1 1, 0.9, 1.1, 3e-3, 500, true -ROSENBROCK, 4, 1 1 1 1, 0.9, 1.1, 3e-3, 31000, false -ROSENBROCK, 4, 1 1 1 1, 0.9, 1.1, 3e-3, 1900, true +ROSENBROCK, 2, 1 1, 0.9, 1.1, 3e-3, 12000, true +ROSENBROCK, 4, 1 1 1 1, 0.9, 1.1, 3e-3, 46000, false +ROSENBROCK, 4, 1 1 1 1, 0.9, 1.1, 3e-3, 33000, true ROSENBROCK, 8, 1 1 1 1 1 1 1 1, 0.9, 1.1, 4e-3, 115000, false -ROSENBROCK, 8, 1 1 1 1 1 1 1 1, 0.9, 1.1, 3e-3, 8100, true -ROSENBROCK, 16, 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1, 0.9, 1.1, 2e-1, 420000, false -ROSENBROCK, 16, 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1, 0.9, 1.1, 3e-1, 30000, true -POWELL, 4, 0 0 0 0, 4, 5, 5e-2, 11700, false, target/debug__, 0 1 LAST 0 -POWELL, 4, 0 0 0 0, 4, 5, 4e-3, 1900, true +ROSENBROCK, 8, 1 1 1 1 1 1 1 1, 0.9, 1.1, 3e-3, 130000, true +ROSENBROCK, 16, 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1, 0.9, 1.1, 2e-1, 460000, false +ROSENBROCK, 16, 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1, 0.9, 1.1, 3e-1, 420000, true +POWELL, 4, 0 0 0 0, 4, 5, 5e-2, 11700, false +POWELL, 4, 0 0 0 0, 4, 5, 5e-2, 14000, true POWELL, 8, 0 0 0 0 0 0 0 0, 4, 5, 7e-2, 46000, false -POWELL, 8, 0 0 0 0 0 0 0 0, 4, 5, 4e-2, 9000, true +POWELL, 8, 0 0 0 0 0 0 0 0, 4, 5, 7e-2, 45000, true CIGAR, 2, 0 0, 2, 3, 5e-5, 160, false +CIGAR, 11, 0 0 0 0 0 0 0 0 0 0 0, 2, 3, 5e-5, 3100, false SPHERE, 2, 0 0, 2, 3, 5e-4, 120, false +SPHERE, 11, 0 0 0 0 0 0 0 0 0 0 0, 2, 3, 5e-4, 2260, false ELLI, 2, 0 0, 3, 4, 1e-4, 150, false -TWO_AXES, 2, 0 0, 3, 4, 1e-4, 180, false +TWO_AXES, 2, 0 0, 3, 4, 1e-4, 200, false +TWO_AXES, 11, 0 0 0 0 0 0 0 0 0 0 0, 3, 4, 1e-4, 3700, false CIG_TAB, 2, 0 0, 3, 4, 1e-3, 170, false -TABLET, 2, 0 0, 3, 4, 2e-4, 150, false +CIG_TAB, 11, 0 0 0 0 0 0 0 0 0 0 0, 3, 4, 1e-3, 3300, false +TABLET, 2, 0 0, 3, 4, 2e-4, 160, false +TABLET, 11, 0 0 0 0 0 0 0 0 0 0 0, 3, 4, 2e-4, 3100, false SUM_POW, 2, 0 0, 3, 4, 1e-2, 120, false +SUM_POW, 11, 0 0 0 0 0 0 0 0 0 0 0, 3, 4, 1e-2, 2200, false ACKLEY, 2, 0 0, 2, 4, 1e-6, 220, false -RASTRIGIN, 2, 0 0, 6, 10, 1e-3, 160, false -GRIEWANK, 2, 0 0, 2, 3, 1e-1, 110, false +ACKLEY, 6, 0 0 0 0 0 0, 2, 4, 1e-6, 1400, false +RASTRIGIN, 2, 0 0, 6, 10, 1e-3, 180, false +GRIEWANK, 2, 0 0, 2, 3, 1e-1, 120, false +GRIEWANK, 11, 0 0 0 0 0 0 0 0 0 0 0, 2, 3, 1e-1, 2000, false LEVY, 2, 1 1, 0.9, 1.1, 1e-3, 120, false -SCHWEFEL, 2, 420.9687 420.9687, 9, 11, 1, 120, false +LEVY, 9, 1 1 1 1 1 1 1 1 1, 0.9, 1.1, 1e-3, 1400, false +SCHWEFEL, 2, 420.9687 420.9687, 9, 11, 1, 130, false ZAKHAROV, 2, 0 0, 3, 4, 1e-4, 130, false PERM, 2, 1 2, 0.9, 1.1, 2e-3, 24000, false -PERM, 2, 1 2, 0.9, 1.1, 2e-3, 430, true +PERM, 2, 1 2, 0.9, 1.1, 2e-3, 24100, true STYBLINSKI_TANG, 2, -2.903534 -2.903534, 1, 2, 1e-4, 120, false #HAPPY_CAT, 2, -1 -1, 2, 3, 1e-4, 50, false #SALOMON, 2, 0 0, 2, 3, 1e-4, 50, false diff --git a/commons-math-legacy/src/test/resources/org/apache/commons/math4/legacy/optim/nonlinear/scalar/noderiv/std_test_func.simplex.nelder_mead.csv b/commons-math-legacy/src/test/resources/org/apache/commons/math4/legacy/optim/nonlinear/scalar/noderiv/std_test_func.simplex.nelder_mead.csv index 15dcfccdf..686c74232 100644 --- a/commons-math-legacy/src/test/resources/org/apache/commons/math4/legacy/optim/nonlinear/scalar/noderiv/std_test_func.simplex.nelder_mead.csv +++ b/commons-math-legacy/src/test/resources/org/apache/commons/math4/legacy/optim/nonlinear/scalar/noderiv/std_test_func.simplex.nelder_mead.csv @@ -34,21 +34,30 @@ PARABOLA, 8, 0 0 0 0 0 0 0 0, 20, 40, 1e-4, 700, false PARABOLA, 16, 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0, 20, 40, 5e-4, 3600, false ROSENBROCK, 2, 1 1, 0.9, 1.1, 1e-4, 110, false ROSENBROCK, 4, 1 1 1 1, 0.9, 1.1, 1e-4, 400, false -ROSENBROCK, 8, 1 1 1 1 1 1 1 1, 0.9, 1.1, 3e-4, 2200, false -ROSENBROCK, 16, 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1, 0.9, 1.1, 5e-1, 7500, false +ROSENBROCK, 8, 1 1 1 1 1 1 1 1, 0.9, 1.1, 5e-4, 2200, false +ROSENBROCK, 16, 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1, 0.9, 1.1, 5e-1, 7600, false POWELL, 4, 0 0 0 0, 4, 5, 5e-3, 290, false POWELL, 8, 0 0 0 0 0 0 0 0, 4, 5, 3e-2, 1300, false CIGAR, 2, 0 0, 2, 3, 5e-5, 100, false +CIGAR, 11, 0 0 0 0 0 0 0 0 0 0 0, 2, 3, 5e-5, 2200, false SPHERE, 2, 0 0, 2, 3, 5e-4, 80, false +SPHERE, 11, 0 0 0 0 0 0 0 0 0 0 0, 2, 3, 5e-4, 1100, false ELLI, 2, 0 0, 3, 4, 1e-4, 350, false TWO_AXES, 2, 0 0, 3, 4, 1e-4, 120, false +#TWO_AXES, 11, 0 0 0 0 0 0 0 0 0 0 0, 3, 4, 1e-4, 120, false CIG_TAB, 2, 0 0, 3, 4, 1e-3, 100, false +#CIG_TAB, 11, 0 0 0 0 0 0 0 0 0 0 0, 3, 4, 1e-3, 100, false TABLET, 2, 0 0, 3, 4, 2e-4, 100, false +TABLET, 11, 0 0 0 0 0 0 0 0 0 0 0, 3, 4, 2e-4, 3000, false SUM_POW, 2, 0 0, 3, 4, 1e-2, 75, false +#SUM_POW, 11, 0 0 0 0 0 0 0 0 0 0 0, 3, 4, 1e-2, 75, false ACKLEY, 2, 0 0, 2, 4, 1e-6, 145, false +ACKLEY, 6, 0 0 0 0 0 0, 2, 4, 1e-6, 660, false RASTRIGIN, 2, 0 0, 6, 10, 5e-5, 105, false -GRIEWANK, 2, 0 0, 2, 3, 1e-1, 75, false +GRIEWANK, 2, 0 0, 2, 3, 1e-1, 80, false +GRIEWANK, 11, 0 0 0 0 0 0 0 0 0 0 0, 2, 3, 1e-1, 1200, false LEVY, 2, 1 1, 0.9, 1.1, 1e-3, 75, false +LEVY, 9, 1 1 1 1 1 1 1 1 1, 0.9, 1.1, 1e-3, 900, false SCHWEFEL, 2, 420.9687 420.9687, 9, 11, 1, 85, false ZAKHAROV, 2, 0 0, 3, 4, 1e-4, 85, false PERM, 2, 1 2, 0.9, 1.1, 2e-3, 110, false