Expand description
cobyla
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 Notes:
0.2.x : The C code is now translated in Rust using c2rust transpiler then manually edited to avoid FFI usage to get Rust (unsafe) implementation.
0.1.x : the C code is wrapped with 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.