From ddcd611b2588e897ec5c61842fde0ae25bb78c30 Mon Sep 17 00:00:00 2001 From: Scott Stephens Date: Sat, 4 Jan 2014 16:37:55 -0600 Subject: [PATCH] Optimization: Handle case where optimum is found on last iteration in BFGS --- src/Numerics/Optimization/BfgsMinimizer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Numerics/Optimization/BfgsMinimizer.cs b/src/Numerics/Optimization/BfgsMinimizer.cs index 5aa230cb..0258c50f 100644 --- a/src/Numerics/Optimization/BfgsMinimizer.cs +++ b/src/Numerics/Optimization/BfgsMinimizer.cs @@ -102,7 +102,7 @@ namespace MathNet.Numerics.Optimization break; } - if (iterations == MaximumIterations) + if (iterations == MaximumIterations && currentExitCondition == MinimizationResult.ExitCondition.None) throw new MaximumIterationsException(String.Format("Maximum iterations ({0}) reached.", MaximumIterations)); return new MinimizationWithLineSearchResult(objective, iterations, MinimizationResult.ExitCondition.AbsoluteGradient, totalLineSearchSteps, iterationsWithNontrivialLineSearch);