@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={411,412},notes="Section 10.5",url="http://www.nrbook.com/a/bookcpdf.php") @PublicationReference(author="Wikipedia",title="Nelder-Mead method",type=WebPage,year=2008,url="http://en.wikipedia.org/wiki/Nelder-Mead_method") public class FunctionMinimizerNelderMead extends AbstractAnytimeFunctionMinimizer<Vector,java.lang.Double,Evaluator<? super Vector,java.lang.Double>>
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_MAX_ITERATIONS
Default max iterations, 4000
|
static double |
DEFAULT_TOLERANCE
Default tolerance, 0.001
|
initialGuess, result, tolerance
data, keepGoing
maxIterations
DEFAULT_ITERATION, iteration
Constructor and Description |
---|
FunctionMinimizerNelderMead()
Creates a new instance of FunctionMinimizerNelderMead
|
Modifier and Type | Method and Description |
---|---|
protected void |
cleanupAlgorithm()
Called to clean up the learning algorithm's state after learning has
finished.
|
protected Vector |
computeSimplexInputSum()
Computes the sum of input values in the simplex
|
protected boolean |
initializeAlgorithm()
Called to initialize the learning algorithm's state based on the
data that is stored in the data field.
|
java.util.ArrayList<DefaultInputOutputPair<Vector,java.lang.Double>> |
initializeSimplex(InputOutputPair<Vector,java.lang.Double> initialPoint,
double offsetValue)
Initializes the simplex about the initial point
|
protected boolean |
step()
Called to take a single step of the learning algorithm.
|
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 static final double DEFAULT_TOLERANCE
public static final int DEFAULT_MAX_ITERATIONS
public FunctionMinimizerNelderMead()
protected boolean initializeAlgorithm()
AbstractAnytimeBatchLearner
initializeAlgorithm
in class AbstractAnytimeBatchLearner<Evaluator<? super Vector,java.lang.Double>,InputOutputPair<Vector,java.lang.Double>>
public java.util.ArrayList<DefaultInputOutputPair<Vector,java.lang.Double>> initializeSimplex(InputOutputPair<Vector,java.lang.Double> initialPoint, double offsetValue)
initialPoint
- Initial point about which to initialize the simplexoffsetValue
- Value to use to spread out the vertices of the simplexprotected boolean step()
AbstractAnytimeBatchLearner
step
in class AbstractAnytimeBatchLearner<Evaluator<? super Vector,java.lang.Double>,InputOutputPair<Vector,java.lang.Double>>
protected void cleanupAlgorithm()
AbstractAnytimeBatchLearner
cleanupAlgorithm
in class AbstractAnytimeBatchLearner<Evaluator<? super Vector,java.lang.Double>,InputOutputPair<Vector,java.lang.Double>>
protected Vector computeSimplexInputSum()