[][src]Crate cobyla

cobyla

This a Rust wrapper for COBYLA optimizer (COBYLA stands for Constrained Optimization BY Linear Approximations).

COBYLA is an algorithm for minimizing a function of many variables. The method is derivatives free (only the function values are needed) and take into account constraints on the variables. The algorithm is described in:

M.J.D. Powell, "A direct search optimization method that models the objective and constraint functions by linear interpolation," in Advances in Optimization and Numerical Analysis Mathematics and Its Applications, vol. 275 (eds. Susana Gomez and Jean-Pierre Hennart), Kluwer Academic Publishers, pp. 51-67 (1994).

The objective function to be minimized has to implement the ObjFn trait, while constraints, also defined as functions of the input variables have to implement the CstrFn trait.

The algorithm is run using the fmin_cobyla function.

Implementation Note: the binding is generated with bindgen is visible as the raw_cobyla function using the callback type cobyla_calcfc which is used to compute the objective function and the constraints.

Traits

CstrFn

A trait to represent constraint function which should be positive eventually
A trait representing aa constraint function.

ObjFn

A trait to represent an objective function to be minimized A trait representing an objective function.

Functions

fmin_cobyla

Minimizes a function using the Constrained Optimization By Linear Approximation (COBYLA) method.

raw_cobyla

Type Definitions

cobyla_calcfc