|
SuanShu, a Java numerical and statistical library | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectcom.numericalmethod.suanshu.optimization.unconstrained.linesearch.Fletcher
public class Fletcher
This is the Fletcher's inexact line search method.
An inexact search is usually used in conjunction with a multi-dimensional optimization algorithm. It trades off the accuracy of the search result with the amount of computation. A lot of optimization algorithms are shown to be quite tolerant to line search imprecision.
| Field Summary | |
|---|---|
double |
chi
parameter chi ensures that the result is not too close to the boundary |
int |
maxIterations
the maximum number of iterations |
double |
rho
the precision parameter rho
The smaller it is, e.g., 0.1, the more accurate the result is. |
double |
sigma
the precision parameter sigma
The smaller it is, e.g., 0.1, the more accurate the result is. |
double |
tau
parameter tau ensures that the result is not too close to the boundary |
double |
tol
the convergence tolerance |
| Constructor Summary | |
|---|---|
Fletcher(double rho,
double sigma,
double tau,
double chi,
RealScalarFunction f,
RealVectorFunction gradient,
double tol,
int maxIterations)
Construct a Fletcher instance to minimize a function f. |
|
Fletcher(RealScalarFunction f,
RealVectorFunction gradient)
Construct a Fletcher instance to minimize a function f with the default control parameters. |
|
| Method Summary | |
|---|---|
double |
search(Vector x,
Vector d)
Get a so that f(x + a * d) is (approximately) minimized. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public final double rho
rho
The smaller it is, e.g., 0.1, the more accurate the result is.
public final double sigma
sigma
The smaller it is, e.g., 0.1, the more accurate the result is.
public final double tau
tau ensures that the result is not too close to the boundary
public final double chi
chi ensures that the result is not too close to the boundary
public final double tol
public final int maxIterations
| Constructor Detail |
|---|
public Fletcher(double rho,
double sigma,
double tau,
double chi,
RealScalarFunction f,
RealVectorFunction gradient,
double tol,
int maxIterations)
f.
rho - precision parameter; smaller rho gives better accuracysigma - precision parameter; smaller sigma gives better accuracytau - control parameter to avoid result too close to boundarychi - control parameter to avoid result too close to boundaryf - the function to be minimizedgradient - the gradient of ftol - the convergence tolerance. This affects the precision of the result.maxIterations - the maximum number of iterations. This affects the precision of the result.
public Fletcher(RealScalarFunction f,
RealVectorFunction gradient)
f with the default control parameters.
f - the function to be minimizedgradient - the gradient of f| Method Detail |
|---|
public double search(Vector x,
Vector d)
a so that f(x + a * d) is (approximately) minimized.
x - the initial positiond - the search direction
a
|
SuanShu, a Java numerical and statistical library | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||