@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={400,405}, url="http://www.nrbook.com/a/bookcpdf.php") public class LineMinimizerDerivativeFree extends AbstractAnytimeLineMinimizer<Evaluator<java.lang.Double,java.lang.Double>>
Modifier and Type | Field and Description |
---|---|
static LineBracketInterpolator<? super Evaluator<java.lang.Double,java.lang.Double>> |
DEFAULT_INTERPOLATOR
Default interpolation algorithm, LineBracketInterpolatorBrent.
|
static double |
STEP_MAX
Maximum step size allowed by a parabolic fit, 100.0.
|
DEFAULT_MAX_ITERATIONS, DEFAULT_TOLERANCE
initialGuess, result, tolerance
data, keepGoing
maxIterations
DEFAULT_ITERATION, iteration
Constructor and Description |
---|
LineMinimizerDerivativeFree()
Creates a new instance of LineMinimizerDerivativeFree
|
LineMinimizerDerivativeFree(LineBracketInterpolator<? super Evaluator<java.lang.Double,java.lang.Double>> interpolator)
Creates a new instance of LineMinimizerDerivativeFree
|
Modifier and Type | Method and Description |
---|---|
boolean |
bracketingStep()
Here's the general idea of derivative-free minimum bracketing:
Given an initial point, a={x,f(x)}, we're looking to find a triplet of points {a,b,c} such that bx is between ax and cx. |
boolean |
sectioningStep()
Continues the sectioning phase of the algorihtm.
|
cleanupAlgorithm, getBracket, getInitialGuessFunctionValue, getInitialGuessSlope, getInterpolator, initializeAlgorithm, isValidBracket, minimizeAlongDirection, setBracket, setData, setInitialGuess, setInitialGuessFunctionValue, setInitialGuessSlope, setInterpolator, setValidBracket, step
getInitialGuess, getResult, getTolerance, setResult, setTolerance
clone, getData, getKeepGoing, learn, 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
getInitialGuess, getTolerance, learn, setTolerance
clone
getMaxIterations, getResult, setMaxIterations
addIterativeAlgorithmListener, getIteration, removeIterativeAlgorithmListener
isResultValid, stop
public static final double STEP_MAX
public static final LineBracketInterpolator<? super Evaluator<java.lang.Double,java.lang.Double>> DEFAULT_INTERPOLATOR
public LineMinimizerDerivativeFree()
public LineMinimizerDerivativeFree(LineBracketInterpolator<? super Evaluator<java.lang.Double,java.lang.Double>> interpolator)
interpolator
- Type of algorithm to fit data points and find an interpolated minimum
to the known points.@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={400,401}, url="http://www.nrbook.com/a/bookcpdf.php") public boolean bracketingStep()
bracketingStep
in interface LineMinimizer<Evaluator<java.lang.Double,java.lang.Double>>
bracketingStep
in class AbstractAnytimeLineMinimizer<Evaluator<java.lang.Double,java.lang.Double>>
@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={404,405}, url="http://www.nrbook.com/a/bookcpdf.php") public boolean sectioningStep()
LineMinimizer
sectioningStep
in interface LineMinimizer<Evaluator<java.lang.Double,java.lang.Double>>
sectioningStep
in class AbstractAnytimeLineMinimizer<Evaluator<java.lang.Double,java.lang.Double>>