![]() |
Object-oriented Scientific Computing Library: Version 0.910
|
Constrained multidimensional minimization (OOL) [abstract base]. More...
#include <ool_constr_mmin.h>
Definition at line 187 of file ool_constr_mmin.h.
Public Member Functions | |
virtual int | allocate (const size_t n) |
Allocate memory. | |
virtual int | free () |
Free previously allocated memory. | |
virtual int | restart () |
Restart the minimizer. | |
virtual int | set (func_t &fn, dfunc_t &dfn, vec_t &init) |
Set the function, the gradient, and the initial guess. | |
virtual int | set_hess (func_t &fn, dfunc_t &dfn, hfunc_t &hfn, vec_t &init) |
Set the function, the gradient, the Hessian product, and the initial guess. | |
virtual int | set_constraints (size_t nc, vec_t &lower, vec_t &upper) |
Set the constraints. | |
virtual int | iterate ()=0 |
Perform an iteration. | |
virtual int | is_optimal ()=0 |
See if we're finished. | |
virtual int | mmin (size_t nvar, vec_t &xx, double &fmin, func_t &ff) |
Calculate the minimum min of func w.r.t. the array x of size nvar . | |
virtual int | mmin_hess (size_t nvar, vec_t &xx, double &fmin, func_t &ff, dfunc_t &df, hfunc_t &hf) |
Calculate the minimum min of ff w.r.t. the array x of size nvar with gradient df and hessian vector product hf . | |
virtual int | mmin_de (size_t nvar, vec_t &xx, double &fmin, func_t &ff, dfunc_t &df) |
Calculate the minimum min of func w.r.t. the array x of size nvar with gradient dfunc . | |
const char * | type () |
Return string denoting type ("ool_constr_mmin") | |
Protected Member Functions | |
void | shrink (const size_t nind, gsl_vector_uint *Ind, const vec_t &V) |
Shrink vector V from the full to the reduced space. | |
void | expand (const size_t nind, gsl_vector_uint *Ind, const vec_t &V) |
Expand vector V from the reduced to the full space. | |
double | calc_f (const size_t nind, gsl_vector_uint *Ind, vec_t &X, vec_t &Xc) |
Evaluate the objective function from the reduced space. | |
int | calc_g (const size_t nind, gsl_vector_uint *Ind, vec_t &X, vec_t &Xc, vec_t &G) |
Compute gradient in the reduced space. | |
int | calc_Hv (const size_t nind, gsl_vector_uint *Ind, vec_t &X, vec_t &Xc, vec_t &V, vec_t &Hv) |
Evaluate a hessian times a vector from the reduced space. | |
Protected Attributes | |
double | f |
The current function value. | |
double | size |
Desc. | |
alloc_t | ao |
Memory allocation object. | |
alloc_vec_t | x |
The current minimum vector. | |
alloc_vec_t | gradient |
The current gradient vector. | |
alloc_vec_t | dx |
Desc. | |
size_t | fcount |
Number of function evaluations. | |
size_t | gcount |
Number of gradient evaluations. | |
size_t | hcount |
Number of Hessian evaluations. | |
size_t | dim |
Number of parameters. | |
size_t | nconstr |
Number of constraints. | |
func_t * | func |
User-supplied function. | |
dfunc_t * | dfunc |
Gradient function. | |
hfunc_t * | hfunc |
Hessian function. | |
alloc_vec_t | L |
Lower bound constraints. | |
alloc_vec_t | U |
Upper bound constraints. | |
bool | requires_hess |
If true, the algorithm requires the hessian vector product. |
int ool_constr_mmin< func_t, dfunc_t, hfunc_t, vec_t, alloc_vec_t, alloc_t >::calc_Hv | ( | const size_t | nind, |
gsl_vector_uint * | Ind, | ||
vec_t & | X, | ||
vec_t & | Xc, | ||
vec_t & | V, | ||
vec_t & | Hv | ||
) | [inline, protected] |
Expand to full space
Definition at line 326 of file ool_constr_mmin.h.
virtual int ool_constr_mmin< func_t, dfunc_t, hfunc_t, vec_t, alloc_vec_t, alloc_t >::mmin | ( | size_t | nvar, |
vec_t & | xx, | ||
double & | fmin, | ||
func_t & | ff | ||
) | [inline, virtual] |
Implements multi_min< func_t, dfunc_t, vec_t >.
Definition at line 476 of file ool_constr_mmin.h.
Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).