MPQC 3.0.0-alpha
Loading...
Searching...
No Matches
sc::Optimize Class Referenceabstract

The Optimize class is an abstract base class for classes that find the extreme points of Function's. More...

#include <math/optimize/opt.h>

Inheritance diagram for sc::Optimize:
sc::SavableState sc::DescribedClass sc::RefCount sc::EFCOpt sc::GDIISOpt sc::LineOpt sc::NewtonOpt sc::QNewtonOpt sc::SteepestDescentOpt sc::Backtrack sc::MCSearch

Public Member Functions

 Optimize (StateIn &)
 Restore the state of a Function object.
 
 Optimize (const Ref< KeyVal > &)
 The KeyVal constructor reads the following information:
 
void save_data_state (StateOut &)
 Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.
 
virtual int optimize ()
 Do the optimization.
 
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.
 
virtual int update ()=0
 Take a step.
 
virtual void apply_transform (const Ref< NonlinearTransform > &)
 
Ref< Functionfunction () const
 Returns information about the Function being optimized.
 
Ref< Convergenceconvergence () const
 Return information about the Convergence object being used.
 
Ref< SCMatrixKitmatrixkit () const
 
RefSCDimension dimension () const
 
void print (std::ostream &=ExEnv::out0()) const
 Print the object.
 
- Public Member Functions inherited from sc::SavableState
SavableStateoperator= (const SavableState &)
 
void save_state (StateOut &)
 Save the state of the object as specified by the StateOut object.
 
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.
 
virtual void save_vbase_state (StateOut &)
 Save the virtual bases for the object.
 
- Public Member Functions inherited from sc::DescribedClass
 DescribedClass (const DescribedClass &)
 
DescribedClassoperator= (const DescribedClass &)
 
ClassDescclass_desc () const MPQC__NOEXCEPT
 This returns the unique pointer to the ClassDesc corresponding to the given type_info object.
 
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< DescribedClassref ()
 Return this object wrapped up in a Ref smart pointer.
 
- 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.
 
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
 Return 1 if the object is managed. Otherwise return 0.
 

Protected Member Functions

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.
 
- Protected Member Functions inherited from sc::RefCount
 RefCount (const RefCount &)
 
RefCountoperator= (const RefCount &)
 

Protected Attributes

int max_iterations_
 
int n_iterations_
 
int ckpt_
 
int print_timings_
 
double max_stepsize_
 
std::string ckpt_file_
 
Ref< Functionfunction_
 
Ref< Convergenceconv_
 
Ref< MessageGrpmsg_
 

Additional Inherited Members

- Static Public Member Functions inherited from sc::SavableState
static void save_state (SavableState *s, StateOut &)
 
static SavableStaterestore_state (StateIn &si)
 Restores objects saved with save_state.
 
static SavableStatekey_restore_state (StateIn &si, const char *keyword)
 Like restore_state, but keyword is used to override values while restoring.
 
static SavableStatedir_restore_state (StateIn &si, const char *objectname, const char *keyword=0)
 

Detailed Description

The Optimize class is an abstract base class for classes that find the extreme points of Function's.

Constructor & Destructor Documentation

◆ Optimize()

sc::Optimize::Optimize ( const Ref< KeyVal > & )

The KeyVal constructor reads the following information:

checkpoint

If true, the optimization will be checkpointed. The default is false.

checkpoint_file

The name of the checkpoint file. The name defaults to opt_ckpt.dat.

max_iterations

The maximum number of interations. The default is 20.

max_stepsize

The maximum stepsize. The default is 0.6.

function

A Function object. There is no default.

convergence

This can be either a floating point number or a Convergence object. If it is a floating point number then it is the convergence criterion. See the description Convergence class for the default.

Member Function Documentation

◆ apply_transform()

virtual void sc::Optimize::apply_transform ( const Ref< NonlinearTransform > & )
virtual

Reimplemented in sc::LineOpt.

◆ optimize()

virtual int sc::Optimize::optimize ( )
virtual

Do the optimization.

Returns nonzero if the optimization is complete.

◆ print()

void sc::Optimize::print ( std::ostream & = ExEnv::out0()) const
virtual

Print the object.

Reimplemented from sc::DescribedClass.

Reimplemented in sc::QNewtonOpt, and sc::SteepestDescentOpt.

◆ save_data_state()

void sc::Optimize::save_data_state ( StateOut & )
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::SavableState.

Reimplemented in sc::QNewtonOpt, and sc::SteepestDescentOpt.

◆ update()

virtual int sc::Optimize::update ( )
pure virtual

Take a step.

Returns 1 if the optimization has converged, otherwise 0.

Implemented in sc::Backtrack, sc::EFCOpt, sc::GDIISOpt, sc::MCSearch, sc::NewtonOpt, sc::QNewtonOpt, and sc::SteepestDescentOpt.


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

Generated at Wed Sep 25 2024 02:45:34 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.12.0.