MOOCHO (Single Doxygen Collection) Version of the Day
Classes | Functions
NLPInterfacePack Namespace Reference

Classes

class  NLP
 NLP interface class {abstract}. More...
class  NLPDirect
 Interface providing only direct first order sensitivity information. More...
class  NLPFirstOrder
 NLP first order information interface class {abstract}. More...
class  NLPObjGrad
 NLP interface class that adds gradient information for the objective function {abstract}. More...
class  NLPSecondOrder
 NLP second order information interface class {abstract}. More...
class  NLPVarReductPerm
 NLP interface class that adds variable and constriant permutations for variable reduction basis selections. More...
class  NLPDirectTester
 Concrete class that tests the computed values of the NLPDirect interface using finite differences. More...
class  NLPDirectTesterSetOptions
 Set options for NLPDirectTester from an OptionsFromStream object. More...
class  NLPFirstDerivTester
 Concrete class that tests the derivatives using finite differences. More...
class  NLPFirstDerivTesterSetOptions
 Set options for NLPFirstDerivTester from an OptionsFromStream object. More...
class  NLPTester
 Testing class for base NLP interface. More...
class  NLPTesterSetOptions
 Set options for NLPTester from an OptionsFromStream object. More...
class  CalcFiniteDiffProd
 Strategy interface for computing the product of the derivatives of the functions of an NLP along given directions using finite differences. More...
class  CalcFiniteDiffProdSetOptions
 Set options for CalcFiniteDiffProd from an OptionsFromStream object. More...
class  NLPBarrier
 Simple wrapper that provides an objective fn with the barrier term included. More...
class  NLPSerialPreprocess
 NLP node implementation subclass for preprocessing and basis manipulation. More...
class  NLPSerialPreprocessExplJac
 NLP node subclass complementing NLPSerialPreprocess for explicit Jacobians. More...
class  ExampleNLPBanded
 Simple scalable serial NLP subclass. More...
class  ExampleNLPDirect
 Simple example NLP subclass to illustrate how to implement the NLPDirect interface for a specialized NLP. More...
class  ExampleNLPObjGrad
 Simple example NLP subclass to illustrate how to implement the NLPObjGrad interface for a specialized NLP. More...
class  ExampleBasisSystem
 Subclass of BasisSystem for example NLP. More...
class  ExampleNLPFirstOrder
 Simple example NLP subclass to illustrate how to implement the NLPFirstOrder interface for a specialized NLP. More...
class  NLPWBCounterExample
 NLP subclass for the Waechter and Biegler Counter Example. More...
class  NLPDirectThyraModelEvaluator
 Implement the NLPFirstOrder interface using a Thyra::ModelEvaluator object. More...
class  NLPFirstOrderThyraModelEvaluator
 Implement the NLPFirstOrder interface using a Thyra::ModelEvaluator object. More...
class  NLPThyraModelEvaluatorBase
 Implements the base NLP interface using a Thyra::ModelEvaluator object. More...

Functions

bool test_basis_system (NLPFirstOrder *nlp, BasisSystem *basis_sys, OptionsFromStreamPack::OptionsFromStream *options, std::ostream *out)
 Test a BasisSystem object given matrices from a compatible NLPFirstOrder object.
bool test_nlp_direct (NLPDirect *nlp, OptionsFromStreamPack::OptionsFromStream *options, std::ostream *out)
 Test an NLPDirect object.
bool test_nlp_first_order (NLPFirstOrder *nlp, OptionsFromStreamPack::OptionsFromStream *options, std::ostream *out)
 Test an NLPFirstOrder object.
MoochoPack::MoochoSolver::ESolutionStatus ExampleNLPDirectRun (const VectorSpace &vec_space, value_type xo, bool has_bounds, bool dep_bounded, std::ostream *console_out, std::ostream *error_out, bool throw_solve_exception=false, std::ostream *algo_out=NULL, std::ostream *summary_out=NULL, std::ostream *journal_out=NULL)
 Function accepts a VectorSpace object and then uses it to define an example NLP and run MoochoPack::MoochoSolver on it.
MoochoPack::MoochoSolver::ESolutionStatus ExampleNLPFirstOrderRun (const VectorSpace &vec_space, value_type xo, bool has_bounds, bool dep_bounded, std::ostream *console_out, std::ostream *error_out, bool throw_solve_exception=false, std::ostream *algo_out=NULL, std::ostream *summary_out=NULL, std::ostream *journal_out=NULL)
 Function accepts a VectorSpace object and then uses it to define an example NLP and run MoochoPack::MoochoSolver on it.

Function Documentation

bool NLPInterfacePack::test_basis_system ( NLPFirstOrder *  nlp,
BasisSystem *  basis_sys,
OptionsFromStreamPack::OptionsFromStream options,
std::ostream *  out 
)

Test a BasisSystem object given matrices from a compatible NLPFirstOrder object.

ToDo: Finish documentation!

Definition at line 49 of file NLPInterfacePack_test_basis_system.cpp.

bool NLPInterfacePack::test_nlp_direct ( NLPDirect *  nlp,
OptionsFromStreamPack::OptionsFromStream options,
std::ostream *  out 
)

Test an NLPDirect object.

Parameters:
nlp[in/out] NLP object being tested.
options[in] If options != NULL then the options to use are extracted from *options. If options == NULL then a default set of options will be used that will be appropriate for even the largest NLP (see below).
out[in/out] If out != NULL then output will be set to *out. The amount of output sent to *out depends on the options selected. If out == NULL then no output is produced.

This function uses the testing classes VectorSpaceTester NLPTester and NLPDirectTester to perform many thorough tests of an input NLPDirect object. The vector spaces exposed by NLP are thoroughly tested by the VectorSpaceTester class.

The options groups "VectorSpaceTester" (see VectorSpaceTesterSetOptions), "%NLPTester" (see NLPTesterSetOptions), "%CalcFiniteDiffProd" (see CalcFiniteDiffProdSetOptions) and "%NLPDirectTester" (see NLPDirectTesterSetOptions) are looked for in in *options (if options != NULL) in order to extract options to use for this testing function and the other testing objects.

Definition at line 61 of file NLPInterfacePack_test_nlp_direct.cpp.

bool NLPInterfacePack::test_nlp_first_order ( NLPFirstOrder *  nlp,
OptionsFromStreamPack::OptionsFromStream options,
std::ostream *  out 
)

Test an NLPFirstOrder object.

Parameters:
nlp[in/out] NLP object being tested.
options[in] If options != NULL then the options to use are extracted from *options. If options == NULL then a default set of options will be used that will be appropriate for even the largest NLP (see below).
out[in/out] If out != NULL then output will be set to *out. The amount of output sent to *out depends on the options selected. If out == NULL then no output is produced.

This function uses the testing classes VectorSpaceTester NLPTester and NLPFirstOrderInfoTester to perform many through tests of an input NLPFirstOrder object. The vector spaces exposed by NLP are thoroughly tested by the VectorSpaceTester class.

The options groups "VectorSpaceTester" (see VectorSpaceTesterSetOptions), "%NLPTester" (see NLPTesterSetOptions), "%CalcFiniteDiffProd" (see CalcFiniteDiffProdSetOptions) and "%NLPFirstOrderInfoTester" (see NLPFirstOrderInfoTesterSetOptions) are looked for in in *options (if options != NULL) order to extract options to use for this testing function and the other testing objects.

Definition at line 62 of file NLPInterfacePack_test_nlp_first_order.cpp.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines