@PublicationReference(author="R. Fletcher",title="Practical Methods of Optimization, Second Edition",type=Book,year=1987,pages={87,90},notes="Section 4.2") @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={417,418},notes="Section 10.5",url="http://www.nrbook.com/a/bookcpdf.php") public class FunctionMinimizerDirectionSetPowell extends AbstractAnytimeFunctionMinimizer<Vector,java.lang.Double,Evaluator<? super Vector,java.lang.Double>>
| Modifier and Type | Field and Description |
|---|---|
static LineMinimizer<?> |
DEFAULT_LINE_MINIMIZER
Default line minimization algorithm, LineMinimizerDerivativeFree
|
static int |
DEFAULT_MAX_ITERATIONS
Default maximum number of iterations before stopping, 1000
|
static double |
DEFAULT_TOLERANCE
Default tolerance, 1.0E-5
|
initialGuess, result, tolerancedata, keepGoingmaxIterationsDEFAULT_ITERATION, iteration| Constructor and Description |
|---|
FunctionMinimizerDirectionSetPowell()
Default constructor
|
FunctionMinimizerDirectionSetPowell(LineMinimizer<?> lineMinimizer)
Creates a new instance of FunctionMinimizerDirectionSetPowell
|
FunctionMinimizerDirectionSetPowell(LineMinimizer<?> lineMinimizer,
Vector initialGuess,
double tolerance,
int maxIterations)
Creates a new instance of FunctionMinimizerDirectionSetPowell
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
cleanupAlgorithm()
Called to clean up the learning algorithm's state after learning has
finished.
|
LineMinimizer<?> |
getLineMinimizer()
Getter for lineMinimizer
|
protected boolean |
initializeAlgorithm()
Called to initialize the learning algorithm's state based on the
data that is stored in the data field.
|
void |
setLineMinimizer(LineMinimizer<?> lineMinimizer)
Setter for lineMinimizer
|
protected boolean |
step()
Called to take a single step of the learning algorithm.
|
getInitialGuess, getResult, getTolerance, setInitialGuess, setResult, setToleranceclone, getData, getKeepGoing, learn, setData, setKeepGoing, stopgetMaxIterations, isResultValid, setMaxIterationsaddIterativeAlgorithmListener, fireAlgorithmEnded, fireAlgorithmStarted, fireStepEnded, fireStepStarted, getIteration, getListeners, removeIterativeAlgorithmListener, setIteration, setListenersequals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitlearnclonegetMaxIterations, setMaxIterationsaddIterativeAlgorithmListener, getIteration, removeIterativeAlgorithmListenerisResultValid, stoppublic static final int DEFAULT_MAX_ITERATIONS
public static final double DEFAULT_TOLERANCE
public static final LineMinimizer<?> DEFAULT_LINE_MINIMIZER
public FunctionMinimizerDirectionSetPowell()
public FunctionMinimizerDirectionSetPowell(LineMinimizer<?> lineMinimizer)
lineMinimizer - Work-horse algorithm that minimizes the function along a directionpublic FunctionMinimizerDirectionSetPowell(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 boolean initializeAlgorithm()
AbstractAnytimeBatchLearnerinitializeAlgorithm in class AbstractAnytimeBatchLearner<Evaluator<? super Vector,java.lang.Double>,InputOutputPair<Vector,java.lang.Double>>protected boolean step()
AbstractAnytimeBatchLearnerstep in class AbstractAnytimeBatchLearner<Evaluator<? super Vector,java.lang.Double>,InputOutputPair<Vector,java.lang.Double>>protected void cleanupAlgorithm()
AbstractAnytimeBatchLearnercleanupAlgorithm in class AbstractAnytimeBatchLearner<Evaluator<? super Vector,java.lang.Double>,InputOutputPair<Vector,java.lang.Double>>public LineMinimizer<?> getLineMinimizer()
public void setLineMinimizer(LineMinimizer<?> lineMinimizer)
lineMinimizer - Work-horse algorithm that minimizes the function along a direction