OPTPP::OptPDS Class Reference

OptPDS is an implementation of a derivative-free algorithm for unconstrained optimization. More...

Inheritance diagram for OPTPP::OptPDS:
[legend]
Collaboration diagram for OPTPP::OptPDS:
[legend]

List of all members.

Public Member Functions

virtual void acceptStep (int k, int step_type)
int checkConvg ()
 Check to see if algorithm satisfies conv. criteria.
virtual NEWMAT::ColumnVector computeSearch (NEWMAT::SymmetricMatrix &)
bool getCreateFlag () const
bool getMethod ()
bool getNonIter ()
NEWMAT::ColumnVector & getScale ()
char * getSchemeFileName ()
double getSimplexSize ()
int getSimplexType () const
int getSSS () const
double getTRSize ()
void initOpt ()
 Initialize algorithmic parameters.
void optimize ()
 Call the optimization method.
 OptPDS (NLP0 *p, TOLS t)
 OptPDS (NLP0 *p)
void printStatus (char *)
 Print status of PDS method.
void readOptInput ()
 Read user-specificed input options.
virtual void reset ()
void setCreateFlag (bool flag=true)
void setNonIter (bool init=false)
 Set first nonlinear iteration to either true or false.
void setScale (NEWMAT::ColumnVector x)
 Set vertex scale factor.
void setSchemeFileName (char *s)
 Override the default value of filename.
void setSimplex (NEWMAT::Matrix &m)
 Set simplex used by the algorithm.
void setSimplexSize (double len)
 Set simplex size.
void setSimplexType (int t)
 Set type of simplex used by the algorithm.
void setSSS (int s)
 Set number of points in the search scheme.
void setTRPDS (bool trcon=false)
void setTRSize (double tr=0)
 Set trust-region size.
virtual void updateModel (int k, int ndim, NEWMAT::ColumnVector x)

Protected Attributes

bool create_scheme_flag
bool first
NLP0nlp
 Pointer to an NLP0 object.
int reset_param
char schemefile_name [80]
int search_scheme_size
 Number of points used in search scheme.
NEWMAT::Matrix simplex
 Convex hull of dimension+1 points.
double simplex_size
int simplex_type
 Type of simplex chosen by the user.
double tr_size
 Trust-region radius.
bool trpds
NEWMAT::ColumnVector vscales
 Vector of scale factors to multiply vertices.

Detailed Description

OptPDS is an implementation of a derivative-free algorithm for unconstrained optimization.

The search direction is driven solely by the function information. OptPDS is easy to implement on parallel machines. A special feature of this approach is the ease with which algorithms can be generated to take advantage of any number of processors and to addapt to any cost ratio of communication to function evaluation.

For a further description of the parallel direct search methods see J. E. Dennis, Jr. and Virginia Torczon, "Direct Search Methods on Parallel Machines," SIAM J. Optimization, Vol. 1, No. 4, pp. 448--474, November 1991.

Definition at line 69 of file OptPDS.h.


Member Function Documentation

virtual void OPTPP::OptPDS::acceptStep ( int  ,
int   
) [inline, virtual]
Note:
Pure virtual functions
Each derived class must define these functions for themselves

Implements OPTPP::OptDirect.

Definition at line 130 of file OptPDS.h.

References OPTPP::OptimizeClass::defaultAcceptStep().

int OPTPP::OptPDS::checkConvg (  )  [virtual]

Check to see if algorithm satisfies conv. criteria.

Reimplemented from OPTPP::OptDirect.

void OPTPP::OptPDS::initOpt (  ) 

Initialize algorithmic parameters.

void OPTPP::OptPDS::optimize (  )  [virtual]

Call the optimization method.

Reimplemented from OPTPP::OptDirect.

void OPTPP::OptPDS::printStatus ( char *   )  [virtual]

Print status of PDS method.

Implements OPTPP::OptimizeClass.

void OPTPP::OptPDS::readOptInput (  )  [virtual]

Read user-specificed input options.

Reimplemented from OPTPP::OptDirect.

void OPTPP::OptPDS::setNonIter ( bool  init = false  )  [inline]

Set first nonlinear iteration to either true or false.

Definition at line 167 of file OptPDS.h.

void OPTPP::OptPDS::setScale ( NEWMAT::ColumnVector  x  )  [inline]

Set vertex scale factor.

Definition at line 150 of file OptPDS.h.

References vscales.

void OPTPP::OptPDS::setSchemeFileName ( char *  s  )  [inline]

Override the default value of filename.

Definition at line 158 of file OptPDS.h.

void OPTPP::OptPDS::setSimplex ( NEWMAT::Matrix &  m  )  [inline]

Set simplex used by the algorithm.

Definition at line 153 of file OptPDS.h.

References simplex.

void OPTPP::OptPDS::setSimplexSize ( double  len  )  [inline]

Set simplex size.

Definition at line 164 of file OptPDS.h.

void OPTPP::OptPDS::setSimplexType ( int  t  )  [inline]

Set type of simplex used by the algorithm.

Definition at line 147 of file OptPDS.h.

References simplex_type.

void OPTPP::OptPDS::setSSS ( int  s  )  [inline]

Set number of points in the search scheme.

Definition at line 144 of file OptPDS.h.

References search_scheme_size.

void OPTPP::OptPDS::setTRSize ( double  tr = 0  )  [inline]

Set trust-region size.

Definition at line 161 of file OptPDS.h.

References tr_size.


Member Data Documentation

NLP0* OPTPP::OptPDS::nlp [protected]

Pointer to an NLP0 object.

Definition at line 72 of file OptPDS.h.

Number of points used in search scheme.

Definition at line 77 of file OptPDS.h.

Referenced by setSSS().

NEWMAT::Matrix OPTPP::OptPDS::simplex [protected]

Convex hull of dimension+1 points.

Definition at line 73 of file OptPDS.h.

Referenced by setSimplex().

int OPTPP::OptPDS::simplex_type [protected]

Type of simplex chosen by the user.

Definition at line 78 of file OptPDS.h.

Referenced by setSimplexType().

double OPTPP::OptPDS::tr_size [protected]

Trust-region radius.

Definition at line 80 of file OptPDS.h.

Referenced by setTRSize().

NEWMAT::ColumnVector OPTPP::OptPDS::vscales [protected]

Vector of scale factors to multiply vertices.

Definition at line 74 of file OptPDS.h.

Referenced by setScale().


The documentation for this class was generated from the following file:
Generated on Mon Jan 24 12:04:41 2011 for FASTlib by  doxygen 1.6.3