protected abstract class SteepestDescentMinimizer.SteepestDescentImpl extends Object implements IterativeSolution<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 Exception
Exception
protected abstract Vector getDirection(Vector xk)
xk
- the current minimizerprotected double getIncrement(Vector xk, Vector dk)
xk
- the current minimizerdk
- the search directionpublic double minimum()
MinimizationSolution
minimum
in interface MinimizationSolution<Vector>
public ImmutableVector minimizer()
MinimizationSolution
minimizer
in interface MinimizationSolution<Vector>
public Vector search(Vector... initials) throws Exception
IterativeMethod
#setInitials(S...)
and then
iteratively IterativeMethod.step()
.
It implements a default convergence criterion.search
in interface IterativeMethod<Vector>
initials
- the initial guessesException
- when an error occurs during the searchpublic void setInitials(Vector... initials)
IterativeMethod
setInitials
in interface IterativeMethod<Vector>
initials
- the initial guessespublic Vector step()
IterativeMethod
step
in interface IterativeMethod<Vector>
Copyright © 2010-2020 NM FinTech Ltd.. All Rights Reserved.