sc::Optimize(3) The Optimize class is an abstract base class for classes that find the extreme points of Function's.

SYNOPSIS


#include <opt.h>

Inherits sc::SavableState.

Inherited by sc::EFCOpt, sc::GDIISOpt, sc::LineOpt, sc::NewtonOpt, sc::QNewtonOpt, and sc::SteepestDescentOpt.

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 void init ()
Initialize the optimizer.
virtual int update ()=0
Take a step.
virtual void apply_transform (const Ref< NonlinearTransform > &)

Ref< Function > function () const
Returns information about the Function being optimized.
Ref< SCMatrixKit > matrixkit () const

RefSCDimension dimension () const

Protected Attributes


int max_iterations_

int n_iterations_

int ckpt_

int print_timings_

double max_stepsize_

char * ckpt_file

Ref< Function > function_

Ref< Convergence > conv_

Detailed Description

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

Constructor & Destructor Documentation

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

The KeyVal constructor reads the following information:. .IP "checkpoint" 1c 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 10.

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

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

Do the optimization. Returns nonzero if the optimization is complete.

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::EFCOpt, sc::GDIISOpt, sc::NewtonOpt, sc::LineOpt, sc::QNewtonOpt, and sc::SteepestDescentOpt.

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

Take a step. Returns 1 if the optimization has converged, otherwise 0.

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

Author

Generated automatically by Doxygen for MPQC from the source code.