OptPDS is an implementation of a derivative-free algorithm for unconstrained optimization. More...
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 |
NLP0 * | nlp |
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. |
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.
virtual void OPTPP::OptPDS::acceptStep | ( | int | , | |
int | ||||
) | [inline, virtual] |
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] |
void OPTPP::OptPDS::setScale | ( | NEWMAT::ColumnVector | x | ) | [inline] |
void OPTPP::OptPDS::setSchemeFileName | ( | char * | s | ) | [inline] |
void OPTPP::OptPDS::setSimplex | ( | NEWMAT::Matrix & | m | ) | [inline] |
void OPTPP::OptPDS::setSimplexSize | ( | double | len | ) | [inline] |
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] |
NLP0* OPTPP::OptPDS::nlp [protected] |
int OPTPP::OptPDS::search_scheme_size [protected] |
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] |
NEWMAT::ColumnVector OPTPP::OptPDS::vscales [protected] |
Vector of scale factors to multiply vertices.
Definition at line 74 of file OptPDS.h.
Referenced by setScale().