EvaluatorType
- Type of Evaluator to use.public interface LineMinimizer<EvaluatorType extends Evaluator<java.lang.Double,java.lang.Double>> extends FunctionMinimizer<java.lang.Double,java.lang.Double,EvaluatorType>
Modifier and Type | Method and Description |
---|---|
boolean |
bracketingStep()
Continues the bracketing phase of the algorithm, which attempts to
place a bracket around a known minimum.
|
LineBracket |
getBracket()
Gets the LineBracket used to bound the search
|
LineBracketInterpolator<? super EvaluatorType> |
getInterpolator()
Gets the interpolator used to fit data points and derive an
interpolated (hypothesized) minimum to try next.
|
boolean |
isValidBracket()
Returns true if the algorithm has found a valid bracket on a minimum,
false if the algorithm needs to continue the bracketing phase
|
WeightedInputOutputPair<Vector,java.lang.Double> |
minimizeAlongDirection(DirectionalVectorToScalarFunction function,
java.lang.Double functionValue,
Vector gradient)
Minimizes a Vector function along the direction given by the
DirectionalVectorToScalarFunction.
|
boolean |
sectioningStep()
Continues the sectioning phase of the algorihtm.
|
getInitialGuess, getTolerance, learn, setInitialGuess, setTolerance
clone
getMaxIterations, getResult, setMaxIterations
addIterativeAlgorithmListener, getIteration, removeIterativeAlgorithmListener
isResultValid, stop
LineBracketInterpolator<? super EvaluatorType> getInterpolator()
LineBracket getBracket()
boolean isValidBracket()
boolean bracketingStep()
boolean sectioningStep()
WeightedInputOutputPair<Vector,java.lang.Double> minimizeAlongDirection(DirectionalVectorToScalarFunction function, java.lang.Double functionValue, Vector gradient)
function
is
taken to be the initialGuess.function
- Defines the direction to search along, and the initial guess. The
direction is scaled by the line-search solutionfunctionValue
- Value of function at initialGuess, may be nullgradient
- Derivative of the output with respect to the input of function
at the initial guess. Gradient may be null if it's not being computer.
So, gradient is not required for all line-search methods, but
will throw an exception if it's expected but not available.