@PublicationReference(author={"Y. Liu","C. Storey"}, title="Efficient generalized conjugate gradient algorithms, Part 1: theory", type=Journal, publication="Journal of Optimization Theory and Applications", pages={129,137}, year=1991, notes={"I\'ve seen independent analyses that indicate that this is the most efficient CG algorithm out there.","For example, http://www.ici.ro/camo/neculai/cg.ppt"}) public class FunctionMinimizerLiuStorey extends FunctionMinimizerConjugateGradient
DEFAULT_LINE_MINIMIZER, DEFAULT_MAX_ITERATIONS, DEFAULT_TOLERANCE, lineFunction
initialGuess, result, tolerance
data, keepGoing
maxIterations
DEFAULT_ITERATION, iteration
Constructor and Description |
---|
FunctionMinimizerLiuStorey()
Creates a new instance of FunctionMinimizerLiuStorey
|
FunctionMinimizerLiuStorey(LineMinimizer<?> lineMinimizer)
Creates a new instance of FunctionMinimizerLiuStorey
|
FunctionMinimizerLiuStorey(LineMinimizer<?> lineMinimizer,
Vector initialGuess,
double tolerance,
int maxIterations)
Creates a new instance of FunctionMinimizerLiuStorey
|
Modifier and Type | Method and Description |
---|---|
protected double |
computeScaleFactor(Vector gradientCurrent,
Vector gradientPrevious)
Computes the conjugate gradient parameter for the particular update
scheme.
|
cleanupAlgorithm, getLineMinimizer, initializeAlgorithm, setLineMinimizer, step
getInitialGuess, getResult, getTolerance, setInitialGuess, setResult, setTolerance
clone, getData, getKeepGoing, learn, setData, setKeepGoing, stop
getMaxIterations, isResultValid, setMaxIterations
addIterativeAlgorithmListener, fireAlgorithmEnded, fireAlgorithmStarted, fireStepEnded, fireStepStarted, getIteration, getListeners, removeIterativeAlgorithmListener, setIteration, setListeners
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
learn
clone
getMaxIterations, setMaxIterations
addIterativeAlgorithmListener, getIteration, removeIterativeAlgorithmListener
isResultValid, stop
public FunctionMinimizerLiuStorey()
public FunctionMinimizerLiuStorey(LineMinimizer<?> lineMinimizer)
lineMinimizer
- Work-horse algorithm that minimizes the function along a directionpublic FunctionMinimizerLiuStorey(LineMinimizer<?> lineMinimizer, Vector initialGuess, double tolerance, int maxIterations)
initialGuess
- Initial guess about the minimum of the methodtolerance
- Tolerance of the minimization algorithm, must be >= 0.0, typically ~1e-10lineMinimizer
- Work-horse algorithm that minimizes the function along a directionmaxIterations
- Maximum number of iterations, must be >0, typically ~100protected double computeScaleFactor(Vector gradientCurrent, Vector gradientPrevious)
FunctionMinimizerConjugateGradient
computeScaleFactor
in class FunctionMinimizerConjugateGradient
gradientCurrent
- Gradient at the current evaluation pointgradientPrevious
- Gradient at the previous evaluation point