OEOptimizer0¶
Attention
This API is currently available in C++ and Python.
class OEOptimizer0
The OEOptimizer0
abstract class defines the interface for
optimizing a set of variables for which a function can be evaluated.
Implementations of OEOptimizer0
use only function values during
optimization, so it does not calculate gradients.
- The
OEOptimizer0
class defines the following public methods:
operator()¶
double operator()(OEFunc0 &function, const double *var, double *opt_var)
double operator()(OEFunc0 &function, OECheckpoint0 *check, const double *var,
double *opt_var)
These 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 OECheckpoint0
object
that can be used to monitor the progress of an optimization.
SetIterLimit¶
void SetIterLimit(unsigned int itmax)
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.