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