@PublicationReference(author="R. Fletcher",title="Practical Methods of Optimization, Second Edition",type=Book,year=1987,pages=54,notes="Section 3.2, Equation 3.2.11") @PublicationReference(author="Wikipedia",title="Davidon-Fletcher-Powell formula",type=WebPage,year=2008,url="http://en.wikipedia.org/wiki/Davidon-Fletcher-Powell_formula") public class FunctionMinimizerDFP extends FunctionMinimizerQuasiNewton
DEFAULT_LINE_MINIMIZER, DEFAULT_MAX_ITERATIONS, DEFAULT_TOLERANCE
initialGuess, result, tolerance
data, keepGoing
maxIterations
DEFAULT_ITERATION, iteration
Constructor and Description |
---|
FunctionMinimizerDFP()
Creates a new instance of FunctionMinimizerBFGS
|
FunctionMinimizerDFP(LineMinimizer<?> lineMinimizer)
Creates a new instance of FunctionMinimizerBFGS
|
FunctionMinimizerDFP(LineMinimizer<?> lineMinimizer,
Vector initialGuess,
double tolerance,
int maxIterations)
Creates a new instance of FunctionMinimizerBFGS
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
updateHessianInverse(Matrix hessianInverse,
Vector delta,
Vector gamma)
The step that makes BFGS/DFP/SR1 different from each other.
|
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 FunctionMinimizerDFP()
public FunctionMinimizerDFP(LineMinimizer<?> lineMinimizer)
lineMinimizer
- Work-horse algorithm that minimizes the function along a directionpublic FunctionMinimizerDFP(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 ~100@PublicationReference(author="R. Fletcher", title="Practical Methods of Optimization, Second Edition", type=Book, year=1987, pages=54, notes="Section 3.2, Equation 3.2.11") protected boolean updateHessianInverse(Matrix hessianInverse, Vector delta, Vector gamma)
FunctionMinimizerQuasiNewton
updateHessianInverse
in class FunctionMinimizerQuasiNewton
hessianInverse
- Current estimate of the Hessian inverse. Must be modified!delta
- Change in the search points (xnew-xold)gamma
- Change in the gradients (gnew-gold)