ool_mmin_spg Class Template Reference

#include <ool_mmin_spg.h>

Inheritance diagram for ool_mmin_spg:

ool_constr_mmin< param_t, func_t, dfunc_t, ool_hfunct< void * >, vec_t, alloc_vec_t, alloc_t > multi_min

Detailed Description

template<class param_t, class func_t, class dfunc_t, class vec_t = ovector_view, class alloc_vec_t = ovector, class alloc_t = ovector_alloc>
class ool_mmin_spg< param_t, func_t, dfunc_t, vec_t, alloc_vec_t, alloc_t >

Constrained minimization by the spectral projected gradient method (OOL).

Note:
Possibly not working quite yet

Definition at line 48 of file ool_mmin_spg.h.


Public Member Functions

virtual int allocate (const size_t n)
 Allocate memory.
virtual int free ()
 Free previously allocated memory.
virtual int set (func_t &fn, dfunc_t &dfn, vec_t &init, param_t &par)
 Set the function, the initial guess, and the parameters.
virtual int restart ()
 Restart the minimizer.
virtual int iterate ()
 Perform an iteration.
virtual int is_optimal ()
 See if we're finished.
const char * type ()
 Return string denoting type ("ool_mmin_spg").

Data Fields

double fmin
 Minimum function value (default $ 10^{-99} $).
double tol
 Tolerance on infinite norm (default $ 10^{-4} $).
double alphamin
 Lower bound to spectral step size (default $ 10^{-30} $).
double alphamax
 Upper bound to spectral step size (default $ 10^{30} $).
double gamma
 Sufficient decrease parameter (default $ 10^{-4} $).
double sigma1
 Lower bound to the step length reduction (default 0.1).
double sigma2
 Upper bound to the step length reduction (default 0.9).
size_t M
 Monotonicity parameter (M=1 forces monotonicity) (default 10).

Protected Types

typedef ool_hfunct< void * > hfunc_t
 A convenient typedef for the unused Hessian product type.

Protected Member Functions

int line_search ()
 Line search.
int proj (vec_t &xt)
 Project into feasible region.

Protected Attributes

double alpha
 Armijo parameter.
alloc_vec_t xx
 Temporary vector.
alloc_vec_t d
 Temporary vector.
alloc_vec_t s
 Temporary vector.
alloc_vec_t y
 Temporary vector.
alloc_vec_t fvec
 Temporary vector.
size_t m
 Desc.
int tail
 Desc.

Field Documentation

double fmin

Minimum function value (default $ 10^{-99} $).

If the function value is below this value, then the algorithm assumes that the function is not bounded and exits.

Definition at line 196 of file ool_mmin_spg.h.


The documentation for this class was generated from the following file:

Documentation generated with Doxygen and provided under the GNU Free Documentation License. See License Information for details.

Project hosting provided by SourceForge.net Logo, O2scl Sourceforge Project Page