OEOptimizer1
Attention
This API is currently available in C++ and Python.
class OEOptimizer1
The OEOptimizer1 abstract class defines the interface for optimizing a set of variables for which a function and gradients can be evaluated. Implementations of OEOptimizer1 use both function values and gradients during optimization.
- The OEOptimizer1 class defines the following public methods:
- The following classes derive from this class:
operator()
__call__(function: OEFunc1, var: OEDoubleArray,
opt_var: OEDoubleArray) -> float
__call__(function: OEFunc1, check: OECheckpoint1,
var: OEDoubleArray, opt_var: OEDoubleArray) -> float
These virtual methods define the interface for optimizing a set of variables
with the use of evaluated function values. The reference to the function object
is passed as a first argument. Initial values of variables are passed in the
array var. The optimized variables are returned in the array opt_var.
Both operators return the value of the corresponding optimized function value.
The second operator takes a pointer to the OECheckpoint1 object
that can be used to monitor the progress of an optimization.
GetIterLimit
GetIterLimit() -> int
See SetIterLimit.
GetTolerance
GetTolerance() -> float
See SetTolerance.
SetIterLimit
SetIterLimit(itmax: int) -> None
Defines the interface for setting the maximum number of iterations that an optimizer derived from the OEOptimizer0 will attempt while trying to identify a converged minimum function value. Optimization will cease if the iteration limit is reached without finding a converged minimum.
SetLineMinimize
bool SetLineMinimize(const OELineMinimize &linmin)
Allows selection of the line minimization object used by the optimizer.
SetTolerance
SetTolerance(t: float) -> None
Defines the interface for setting the gradient convergence criteria. Depending on the implementation it might be the root mean square gradient, gradient norm or gradient dot product. Optimization will terminate normally if the convergence criteria set by this method is achieved during an optimization.