MOOCHO/Thyra Adapter Software
Version of the Day
|
Implements the base NLP interface using a Thyra::ModelEvaluator
object.
More...
#include <NLPInterfacePack_NLPThyraModelEvaluatorBase.hpp>
Public Member Functions | |
STANDARD_MEMBER_COMPOSITION_MEMBERS (bool, showModelEvaluatorTrace) | |
Set if a trace of the model evaluations is shown or not. More... | |
Protected Member Functions | |
void | evalModel (const Vector &x, bool newx, const ZeroOrderInfo *zero_order_info, const ObjGradInfo *obj_grad_info) const |
Overridden public members from NLP | |
void | initialize (bool test_setup) |
bool | is_initialized () const |
vec_space_ptr_t | space_x () const |
vec_space_ptr_t | space_c () const |
size_type | num_bounded_x () const |
void | force_xinit_in_bounds (bool force_xinit_in_bounds) |
bool | force_xinit_in_bounds () const |
const Vector & | xinit () const |
const Vector & | xl () const |
const Vector & | xu () const |
value_type | max_var_bounds_viol () const |
void | set_f (value_type *f) |
void | set_c (VectorMutable *c) |
void | unset_quantities () |
void | scale_f (value_type scale_f) |
value_type | scale_f () const |
void | report_final_solution (const Vector &x, const Vector *lambda, const Vector *nu, bool optimal) |
Overridden public members from NLPObjGrad | |
void | set_Gf (VectorMutable *Gf) |
Overridden protected members from NLP | |
void | imp_calc_f (const Vector &x, bool newx, const ZeroOrderInfo &zero_order_info) const |
void | imp_calc_c (const Vector &x, bool newx, const ZeroOrderInfo &zero_order_info) const |
Overridden protected members from NLPObjGrad | |
void | imp_calc_Gf (const Vector &x, bool newx, const ObjGradInfo &obj_grad_info) const |
Protected functions to be used by subclasses | |
NLPThyraModelEvaluatorBase () | |
void | initializeBase (const Teuchos::RCP< Thyra::ModelEvaluator< value_type > > &model, const int p_idx, const int g_idx) |
Initialize given a Thyra::ModelEvaluator and a description of how to interpret it. More... | |
void | updateInitialGuessAndBounds () const |
Update the initial guess and bounds . More... | |
void | assert_is_initialized () const |
void | copy_from_model_x (const Thyra::VectorBase< value_type > *model_x, VectorMutable *x_D) const |
void | copy_from_model_p (const Thyra::VectorBase< value_type > *model_p, VectorMutable *x_I) const |
void | set_x (const Vector &x, Thyra::ModelEvaluatorBase::InArgs< value_type > *model_inArgs_inout) const |
void | preprocessBaseInOutArgs (const Vector &x, bool newx, const ZeroOrderInfo *zero_order_info, const ObjGradInfo *obj_grad_info, const NLPFirstOrder::FirstOrderInfo *first_order_info, Thyra::ModelEvaluatorBase::InArgs< value_type > *model_inArgs_inout, Thyra::ModelEvaluatorBase::OutArgs< value_type > *model_outArgs_inout, MatrixOp **Gc_out, VectorMutable **Gf_out, value_type **f_out, VectorMutable **c_out) const |
void | postprocessBaseOutArgs (Thyra::ModelEvaluatorBase::OutArgs< value_type > *model_outArgs_inout, VectorMutable *Gf, value_type *f, VectorMutable *c) const |
Implements the base NLP interface using a Thyra::ModelEvaluator
object.
The nonlinear program is mapped as follows:
min f(x) s.t. c(x) = 0 xL <= x <= xu where: x = [ model.x ] [ model.p(p_idx) ] f(x) = model.g(g_idx) c(x) = model.f()
where p_idx > 0
and g_idx > 0
are some indexes that specificy the indepenent variables and the objective function.
In addition, the client can also override the bounds on model.x
and model.p(p_idx)
defined in the object model
.
The current implementation of this class does not allow the use of any of the auxiliary functions model.g()
as undecomposed equality constraints or extra general inequality constraints. This type of functionality can be added when it is needed (just ask for it).
ToDo: Finish documentation!
Definition at line 92 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.hpp.
|
protected |
Initialize to uninitialized
Definition at line 233 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
NLPInterfacePack::NLPThyraModelEvaluatorBase::STANDARD_MEMBER_COMPOSITION_MEMBERS | ( | bool | , |
showModelEvaluatorTrace | |||
) |
Set if a trace of the model evaluations is shown or not.
|
virtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 68 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 82 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 88 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 94 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 99 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 104 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 109 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 114 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 120 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 126 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 132 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
virtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 137 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
virtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 143 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
virtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 149 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 154 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 159 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
virtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 164 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
void NLPInterfacePack::NLPThyraModelEvaluatorBase::set_Gf | ( | VectorMutable * | Gf | ) |
Definition at line 197 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
protectedvirtual |
Implements NLPInterfacePack::NLP.
Definition at line 205 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
protectedvirtual |
Implements NLPInterfacePack::NLP.
Definition at line 213 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
protected |
Definition at line 223 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
protected |
Initialize given a Thyra::ModelEvaluator
and a description of how to interpret it.
model | [in] NonlinearProblem that defines all of the functions and variables. |
p_idx | [in] Index of the subset of parameter vectors to use as the independent variables. If p_idx < 0 , then no extra parameters are added. |
g_idx | [in] Index of the subset of auxiliary response functions to use as the objective function. Note, only the first element model.g(g_idx)(1) will be used as the objective function value. |
model_xL | [in] Pointer to upper bounds for the state variables model.x . If NULL then the default supplied in model->get_x_lower_bounds() will be used. |
model_xU | [in] Pointer to upper bounds for the state variables x . If NULL then the default supplied in model->get_x_upper_bounds() will be used. |
model_x0 | [in] Pointer to initial guess for the state variables x . If NULL the the default supplied in model->get_x_init() will be used. |
ToDo: Finish documentation!
Todo: Add arguments for auxiliary inequalites and equalities
Definition at line 240 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
protected |
Update the initial guess and bounds .
Definition at line 357 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
protected |
Definition at line 408 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
protected |
Definition at line 417 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
protected |
Definition at line 423 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
protected |
Definition at line 429 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
protected |
Definition at line 460 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
protected |
Definition at line 562 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.
|
protected |
Definition at line 608 of file NLPInterfacePack_NLPThyraModelEvaluatorBase.cpp.