Class LineSearch
java.lang.Object
org.apache.commons.math3.optim.nonlinear.scalar.LineSearch
Class for finding the minimum of the objective function along a given
direction.
- Since:
- 3.3
-
Constructor Summary
ConstructorsConstructorDescriptionLineSearch(MultivariateOptimizer optimizer, double relativeTolerance, double absoluteTolerance, double initialBracketingRange) TheBrentOptimizerdefault stopping criterion uses the tolerances to check the domain (point) values, not the function values. -
Method Summary
Modifier and TypeMethodDescriptionsearch(double[] startPoint, double[] direction) Finds the numberalphathat optimizesf(startPoint + alpha * direction).
-
Constructor Details
-
LineSearch
public LineSearch(MultivariateOptimizer optimizer, double relativeTolerance, double absoluteTolerance, double initialBracketingRange) TheBrentOptimizerdefault stopping criterion uses the tolerances to check the domain (point) values, not the function values. TherelativeToleranceandabsoluteTolerancearguments are thus passed to acustom checkerthat will use the function values.- Parameters:
optimizer- Optimizer on behalf of which the line search be performed. ItscomputeObjectiveValuemethod will be called by thesearchmethod.relativeTolerance- Search will stop when the function relative difference between successive iterations is below this value.absoluteTolerance- Search will stop when the function absolute difference between successive iterations is below this value.initialBracketingRange- Extent of the initial interval used to find an interval that brackets the optimum. If the optimized function varies a lot in the vicinity of the optimum, it may be necessary to provide a value lower than the distance between successive local minima.
-
-
Method Details
-
search
Finds the numberalphathat optimizesf(startPoint + alpha * direction).- Parameters:
startPoint- Starting point.direction- Search direction.- Returns:
- the optimum.
- Throws:
TooManyEvaluationsException- if the number of evaluations is exceeded.
-