diff --git a/test/test_lbfgs.cpp b/test/test_lbfgs.cpp index c93dd266e..f89940ddc 100644 --- a/test/test_lbfgs.cpp +++ b/test/test_lbfgs.cpp @@ -7,6 +7,7 @@ #include #include #include +#include namespace rdiff = boost::math::differentiation::reverse_mode; namespace bopt = boost::math::optimization; @@ -18,7 +19,7 @@ BOOST_AUTO_TEST_CASE(default_lbfgs_test) //, T, all_float_types) using T = double; constexpr size_t NITER = 10; constexpr size_t M = 10; - const T eps = T{1e-8}; + const T eps = T{1e-5}; RandomSample rng{T(-10), T(10)}; std::array, 2> x; @@ -26,8 +27,10 @@ BOOST_AUTO_TEST_CASE(default_lbfgs_test) //, T, all_float_types) x[1] = rng.next(); auto opt = bopt::make_lbfgs(&rosenbrock_saddle>, x, M); + auto constraint = bopt::unconstrained_policy,2>>{}; + auto convergence_policy = bopt::gradient_norm_convergence_policy(T{ 1e-20 }); - auto result = minimize(opt); + auto result = bopt::minimize(opt, constraint, convergence_policy); for (auto& xi : x) { BOOST_REQUIRE_CLOSE(xi, T{1.0}, eps); } @@ -85,7 +88,9 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(custom_init_lbfgs_test, T, all_float_types) x, M, bopt::costant_initializer_rvar(0.0)); - auto result = minimize(opt); + auto constraint = bopt::unconstrained_policy,2>>{}; + auto convergence_policy = bopt::gradient_norm_convergence_policy(T{ 1e-8 }); + auto result = minimize(opt, constraint, convergence_policy); for (auto& xi : x) { BOOST_REQUIRE_CLOSE(xi, T{1.0}, eps); diff --git a/test/test_nesterov_optimizer.cpp b/test/test_nesterov_optimizer.cpp index 83e43db25..bfda1de51 100644 --- a/test/test_nesterov_optimizer.cpp +++ b/test/test_nesterov_optimizer.cpp @@ -13,7 +13,7 @@ BOOST_AUTO_TEST_SUITE(nesterov_descent) BOOST_AUTO_TEST_CASE_TEMPLATE(default_nesterov_test, T, all_float_types) { - T lr = T{ 1e-4 }; + T lr = T{ 1e-5 }; T mu = T{ 0.95 }; RandomSample rng{ T(-10), (10) }; std::vector> x; @@ -22,7 +22,10 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(default_nesterov_test, T, all_float_types) T eps = T{ 1e-8 }; auto nag = bopt::make_nag(&quadratic_high_cond_2D>, x, lr, mu); - auto z = minimize(nag); + auto constraint = bopt::unconstrained_policy>>{}; + auto convergence_policy = bopt::gradient_norm_convergence_policy(T{ 1e-8 }); + + auto z = minimize(nag, constraint, convergence_policy); for (auto& xi : x) { BOOST_REQUIRE_SMALL(xi.item(), eps); }