MPQC
3.0.0-alpha
|
Implements backtrack line search algorithm. More...
#include <math/optimize/opt.h>
Public Member Functions | |
Backtrack (const Ref< KeyVal > &) | |
A KeyVal constructor is used to generate a Backtrack object from the input. More... | |
Backtrack (StateIn &s) | |
int | update () |
Take a step. More... | |
void | save_data_state (StateOut &s) |
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. More... | |
int | force_search () const |
double | decrease_factor () |
Returns factor for sufficient decrease test. | |
double | set_decrease_factor (double factor) |
Sets factor for sufficient decrease test. | |
void | print (std::ostream &=ExEnv::out0()) const |
Print the object. | |
Public Member Functions inherited from sc::LineOpt | |
LineOpt (StateIn &) | |
LineOpt (const Ref< KeyVal > &) | |
virtual void | init (RefSCVector &direction) |
Initializes the line search object. More... | |
virtual void | init (RefSCVector &direction, Ref< Function > function) |
Initializes the line search object. More... | |
void | apply_transform (const Ref< NonlinearTransform > &) |
Applies a nonlinear transform. | |
Public Member Functions inherited from sc::Optimize | |
Optimize (StateIn &) | |
Restore the state of a Function object. | |
Optimize (const Ref< KeyVal > &) | |
The KeyVal constructor reads the following information: More... | |
virtual int | optimize () |
Do the optimization. More... | |
void | set_checkpoint () |
Set up for checkpointing. | |
void | set_checkpoint_file (const char *) |
void | set_function (const Ref< Function > &) |
Set the function to be optimized. | |
void | set_max_iterations (int) |
Set the iteration limit. | |
Ref< Function > | function () const |
Returns information about the Function being optimized. | |
Ref< Convergence > | convergence () const |
Return information about the Convergence object being used. | |
Ref< SCMatrixKit > | matrixkit () const |
RefSCDimension | dimension () const |
Public Member Functions inherited from sc::SavableState | |
SavableState & | operator= (const SavableState &) |
void | save_state (StateOut &) |
Save the state of the object as specified by the StateOut object. More... | |
void | save_object_state (StateOut &) |
This can be used for saving state when the exact type of the object is known for both the save and the restore. More... | |
virtual void | save_vbase_state (StateOut &) |
Save the virtual bases for the object. More... | |
Public Member Functions inherited from sc::DescribedClass | |
DescribedClass (const DescribedClass &) | |
DescribedClass & | operator= (const DescribedClass &) |
ClassDesc * | class_desc () const MPQC__NOEXCEPT |
This returns the unique pointer to the ClassDesc corresponding to the given type_info object. More... | |
const char * | class_name () const |
Return the name of the object's exact type. | |
int | class_version () const |
Return the version of the class. | |
Ref< DescribedClass > | ref () |
Return this object wrapped up in a Ref smart pointer. More... | |
Public Member Functions inherited from sc::RefCount | |
size_t | identifier () const |
Return the unique identifier for this object that can be compared for different objects of different types. More... | |
int | lock_ptr () const |
Lock this object. | |
int | unlock_ptr () const |
Unlock this object. | |
void | use_locks (bool inVal) |
start and stop using locks on this object | |
refcount_t | nreference () const |
Return the reference count. | |
refcount_t | reference () |
Increment the reference count and return the new count. | |
refcount_t | dereference () |
Decrement the reference count and return the new count. | |
int | managed () const |
void | unmanage () |
Turn off the reference counting mechanism for this object. More... | |
Protected Member Functions | |
int | sufficient_decrease (RefSCVector &step) |
answers the question whether a given step satisfies the sufficient decrease (Armijo) condition More... | |
Protected Member Functions inherited from sc::Optimize | |
void | init () |
Initialize the optimizer. | |
Protected Member Functions inherited from sc::SavableState | |
SavableState (const SavableState &) | |
SavableState (StateIn &) | |
Each derived class StateIn CTOR handles the restore corresponding to calling save_object_state, save_vbase_state, and save_data_state listed above. More... | |
Protected Member Functions inherited from sc::RefCount | |
RefCount (const RefCount &) | |
RefCount & | operator= (const RefCount &) |
Protected Attributes | |
double | decrease_factor_ |
double | backtrack_factor_ |
int | force_search_ |
Protected Attributes inherited from sc::LineOpt | |
RefSCVector | initial_x_ |
double | initial_value_ |
RefSCVector | initial_grad_ |
RefSCVector | search_direction_ |
Ref< Function > | function_ |
Protected Attributes inherited from sc::Optimize | |
int | max_iterations_ |
int | n_iterations_ |
int | ckpt_ |
int | print_timings_ |
double | max_stepsize_ |
std::string | ckpt_file_ |
Ref< Function > | function_ |
Ref< Convergence > | conv_ |
Ref< MessageGrp > | msg_ |
Additional Inherited Members | |
Static Public Member Functions inherited from sc::SavableState | |
static void | save_state (SavableState *s, StateOut &) |
static SavableState * | restore_state (StateIn &si) |
Restores objects saved with save_state. More... | |
static SavableState * | key_restore_state (StateIn &si, const char *keyword) |
Like restore_state, but keyword is used to override values while restoring. | |
static SavableState * | dir_restore_state (StateIn &si, const char *objectname, const char *keyword=0) |
Implements backtrack line search algorithm.
A KeyVal constructor is used to generate a Backtrack object from the input.
In addition to the keywords accepted by the KeyVal constructor of LineOpt class, it accepts the following keywords:
Keyword | Type | Default | Description |
backtrack_factor | real | 0.1 | backtrack factor |
decrease_factor | real | 0.1 | decrease factor |
force_search | boolean | false | set to true to force the line search |
|
virtual |
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.
This must be implemented by the derived class if the class has data.
Reimplemented from sc::LineOpt.
|
protected |
answers the question whether a given step satisfies the sufficient decrease (Armijo) condition
step | trial step |
|
virtual |