protected abstract class SteepestDescent.SteepestDescentImpl extends java.lang.Object implements IterativeMinimizer<Vector>
| Modifier and Type | Field and Description |
|---|---|
protected LineSearch.Solution |
linesearch |
protected C2OptimProblem |
problem |
| Modifier | Constructor and Description |
|---|---|
protected |
SteepestDescentImpl(C2OptimProblem problem) |
| Modifier and Type | Method and Description |
|---|---|
protected abstract Vector |
getDirection(Vector xk)
Get the next search direction.
|
protected double |
getIncrement(Vector xk,
Vector dk)
Get the increment fraction, αk.
|
ImmutableVector |
minimizer()
Get the minimizer (solution) to the minimization problem.
|
double |
minimum()
Get the (approximate) minimum found.
|
Vector |
search(Vector... initials)
Search for a solution that optimizes the objective function from the
given starting points.
|
void |
setInitials(Vector... initials)
Supply the starting points for the search.
|
Vector |
step()
Do the next iteration.
|
protected final C2OptimProblem problem
protected final LineSearch.Solution linesearch
protected SteepestDescentImpl(C2OptimProblem problem) throws java.lang.Exception
java.lang.Exceptionprotected abstract Vector getDirection(Vector xk)
xk - the current minimizerprotected double getIncrement(Vector xk, Vector dk)
xk - the current minimizerdk - the search directionpublic double minimum()
MinimizationSolutionminimum in interface MinimizationSolution<Vector>public ImmutableVector minimizer()
MinimizationSolutionminimizer in interface MinimizationSolution<Vector>public Vector search(Vector... initials) throws java.lang.Exception
IterativeMethod#setInitials(S[]) and then
iteratively IterativeMethod.step().
It implements a default convergence criterion.search in interface IterativeMethod<Vector>initials - the initial guessesjava.lang.Exception - when an error occurs during the searchpublic void setInitials(Vector... initials)
IterativeMethodsetInitials in interface IterativeMethod<Vector>initials - the initial guessespublic Vector step()
IterativeMethodstep in interface IterativeMethod<Vector>