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()

__call__(function: OEFunc0, var: OEDoubleArray,
         opt_var: OEDoubleArray) -> float
__call__(function: OEFunc0, check: OECheckpoint0,
         var: OEDoubleArray, opt_var: OEDoubleArray) -> float

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.

GetIterLimit

GetIterLimit() -> int

See SetIterLimit.

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.