From ac7e850be6e6c862fecca813329903915db2a32a Mon Sep 17 00:00:00 2001 From: Patrick Kofod Mogensen Date: Thu, 17 Dec 2020 17:15:22 +0100 Subject: [PATCH] Fix reset of LBFGS. (#891) * Fix reset of LBFGS. * And add a test for NelderMead. * Test begin --- src/multivariate/solvers/first_order/l_bfgs.jl | 2 +- test/multivariate/solvers/constrained/fminbox.jl | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/multivariate/solvers/first_order/l_bfgs.jl b/src/multivariate/solvers/first_order/l_bfgs.jl index c3233f3b0..959b4c8d3 100644 --- a/src/multivariate/solvers/first_order/l_bfgs.jl +++ b/src/multivariate/solvers/first_order/l_bfgs.jl @@ -154,7 +154,7 @@ function reset!(method, state::LBFGSState, obj, x) value_gradient!(obj, x) project_tangent!(method.manifold, gradient(obj), x) - pseudo_iteration = 0 + state.pseudo_iteration = 0 end function initial_state(method::LBFGS, options, d, initial_x) T = real(eltype(initial_x)) diff --git a/test/multivariate/solvers/constrained/fminbox.jl b/test/multivariate/solvers/constrained/fminbox.jl index d9f2b995e..1900480d6 100644 --- a/test/multivariate/solvers/constrained/fminbox.jl +++ b/test/multivariate/solvers/constrained/fminbox.jl @@ -137,4 +137,8 @@ end optimize(x -> sqrt(x[1]), (g,x)->(g[1]=1/(2*sqrt(x[1]))), [0.0], [10.0], [1.0], Fminbox(m)) optimize(x -> sqrt(x[1]), [0.0], [10.0], [1.0], Fminbox(m); autodiff=:forwarddiff) end +end + +@testset "#865" begin + optimize(x -> sum(x), [0.,0.0], [2.0,2.0], [1.,1.0], Fminbox(NelderMead())) end \ No newline at end of file