Browse Source

Optimization: Handle case where optimum is found on last iteration in BFGS

unified_optimization
Scott Stephens 13 years ago
committed by Christoph Ruegg
parent
commit
547e339223
  1. 2
      src/Numerics/Optimization/BfgsMinimizer.cs

2
src/Numerics/Optimization/BfgsMinimizer.cs

@ -102,7 +102,7 @@ namespace MathNet.Numerics.Optimization
break; break;
} }
if (iterations == MaximumIterations) if (iterations == MaximumIterations && currentExitCondition == MinimizationResult.ExitCondition.None)
throw new MaximumIterationsException(String.Format("Maximum iterations ({0}) reached.", MaximumIterations)); throw new MaximumIterationsException(String.Format("Maximum iterations ({0}) reached.", MaximumIterations));
return new MinimizationWithLineSearchResult(objective, iterations, MinimizationResult.ExitCondition.AbsoluteGradient, totalLineSearchSteps, iterationsWithNontrivialLineSearch); return new MinimizationWithLineSearchResult(objective, iterations, MinimizationResult.ExitCondition.AbsoluteGradient, totalLineSearchSteps, iterationsWithNontrivialLineSearch);

Loading…
Cancel
Save