This API is currently available in C++ and Python.
OELineMinimize class is a base class which defines the interface for
line minimization used in different types of optimization.
OELineMinimizeclass defines the following public methods:
- The following classes derive from this class:
bool operator()(unsigned int n, double *p, double *d, double *g, double *k, double *gmin, double *alpha, OEFunc1 &fun) const
Defines the interface for finding the step size
alpha for the current optimizer
iteration in the search direction determined by the vector
n is the number
of optimized variables, array
g contain initial coordinates and gradients,
k returns gradients for the coordinates determined by the returned step
gmin contains the initial function value and returns its optimized
fun is a reference to optimized function object. Operator returns
when a value lower than the initial function value is found,
bool SetMaxStep(unsigned int , double *)
Defines the interface for determination of the maximum step size. This method has a trivial
implementation in the base class, and provides a way to determine the maximum step if the
specific line optimization derived from
OELineMinimize needs it.
OELineMinimize *CreateCopy() const
Defines the interface for creating a copy of line minimization object.