@PublicationReference(author={"William H. Press","Saul A. Teukolsky","William T. Vetterling","Brian P. Flannery"}, title="Numerical Recipes in C, Second Edition", type=Book, year=1992, pages={384,386}, url="http://www.nrbook.com/a/bookcpdf.php") public class LineMinimizerBacktracking extends AbstractAnytimeLineMinimizer<Evaluator<java.lang.Double,java.lang.Double>>
| Modifier and Type | Field and Description |
|---|---|
static double |
DEFAULT_GEOMETRIC_DECREASE
Default amount to decrease the step amount each iteration, 0.5.
|
static boolean |
DEFAULT_NUMERICAL_DERIVATIVE
Default flag to use numerical differentiation, true.
|
static double |
DEFAULT_SUFFICIENT_DECREASE
Default sufficient decrease value, 0.5
|
static double |
STEP_MAX
Maximum step size allowed by a parabolic fit, 100.0
|
DEFAULT_MAX_ITERATIONS, DEFAULT_TOLERANCEinitialGuess, result, tolerancedata, keepGoingmaxIterationsDEFAULT_ITERATION, iteration| Constructor and Description |
|---|
LineMinimizerBacktracking()
Creates a new instance of LineMinimizerBacktracking
|
LineMinimizerBacktracking(double geometricDecrease)
Creates a new instance of LineMinimizerBacktracking
|
LineMinimizerBacktracking(double geometricDecrease,
boolean numericalDerivative)
Creates a new instance of LineMinimizerBacktracking
|
LineMinimizerBacktracking(double geometricDecrease,
boolean numericalDerivative,
double sufficientDecrease)
Creates a new instance of LineMinimizerBacktracking
|
| 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.
|
double |
getGeometricDecrease()
Getter for geometricDecrease.
|
boolean |
getNumericalDerivative()
Getter for numericalDerivative
|
double |
getSufficientDecrease()
Getter for sufficientDecrease
|
protected boolean |
initializeAlgorithm()
Called to initialize the learning algorithm's state based on the
data that is stored in the data field.
|
boolean |
sectioningStep()
Continues the sectioning phase of the algorihtm.
|
void |
setGeometricDecrease(double geometricDecrease)
Setter for geometricDecrease
|
void |
setNumericalDerivative(boolean numericalDerivative)
Setter for numericalDerivative
|
void |
setSufficientDecrease(double sufficientDecrease)
Setter for sufficientDecrease
|
cleanupAlgorithm, getBracket, getInitialGuessFunctionValue, getInitialGuessSlope, getInterpolator, isValidBracket, minimizeAlongDirection, setBracket, setData, setInitialGuess, setInitialGuessFunctionValue, setInitialGuessSlope, setInterpolator, setValidBracket, stepgetInitialGuess, getResult, getTolerance, setResult, setToleranceclone, getData, getKeepGoing, learn, setKeepGoing, stopgetMaxIterations, isResultValid, setMaxIterationsaddIterativeAlgorithmListener, fireAlgorithmEnded, fireAlgorithmStarted, fireStepEnded, fireStepStarted, getIteration, getListeners, removeIterativeAlgorithmListener, setIteration, setListenersequals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetInitialGuess, getTolerance, learn, setToleranceclonegetMaxIterations, getResult, setMaxIterationsaddIterativeAlgorithmListener, getIteration, removeIterativeAlgorithmListenerisResultValid, stoppublic static final double STEP_MAX
public static final double DEFAULT_SUFFICIENT_DECREASE
public static final double DEFAULT_GEOMETRIC_DECREASE
public static final boolean DEFAULT_NUMERICAL_DERIVATIVE
public LineMinimizerBacktracking()
public LineMinimizerBacktracking(double geometricDecrease)
geometricDecrease - Amount to decrease the step amount each iteration.public LineMinimizerBacktracking(double geometricDecrease,
boolean numericalDerivative)
geometricDecrease - Amount to decrease the step amount each iteration.numericalDerivative - Flag whether or not to use the numerical differentiation.public LineMinimizerBacktracking(double geometricDecrease,
boolean numericalDerivative,
double sufficientDecrease)
geometricDecrease - Amount to decrease the step amount each iteration.numericalDerivative - Flag whether or not to use the numerical differentiation.sufficientDecrease - Sufficient decrease condition, must be (0,1). Smaller values (0.1)
result in more accurate searches, larger values (0.9) tend to be
easier to satisfy.protected boolean initializeAlgorithm()
AbstractAnytimeBatchLearnerinitializeAlgorithm in class AbstractAnytimeLineMinimizer<Evaluator<java.lang.Double,java.lang.Double>>public boolean bracketingStep()
LineMinimizerbracketingStep in interface LineMinimizer<Evaluator<java.lang.Double,java.lang.Double>>bracketingStep in class AbstractAnytimeLineMinimizer<Evaluator<java.lang.Double,java.lang.Double>>public boolean sectioningStep()
LineMinimizersectioningStep in interface LineMinimizer<Evaluator<java.lang.Double,java.lang.Double>>sectioningStep in class AbstractAnytimeLineMinimizer<Evaluator<java.lang.Double,java.lang.Double>>public double getSufficientDecrease()
public void setSufficientDecrease(double sufficientDecrease)
sufficientDecrease - Sufficient decrease condition, must be (0,1). Smaller values (0.1)
result in more accurate searches, larger values (0.9) tend to be
easier to satisfy.public double getGeometricDecrease()
public void setGeometricDecrease(double geometricDecrease)
geometricDecrease - Amount to decrease the step amount each iteration.public boolean getNumericalDerivative()
public void setNumericalDerivative(boolean numericalDerivative)
numericalDerivative - Flag whether or not to use the numerical differentiation.