42 #ifndef NLPIP_NLP_THYRA_MODEL_EVALUATOR_BASE_HPP
43 #define NLPIP_NLP_THYRA_MODEL_EVALUATOR_BASE_HPP
49 #include "Thyra_ModelEvaluator.hpp"
53 namespace AbstractLinAlgPack {
class VectorSpaceThyra; }
55 namespace NLPInterfacePack {
158 const Vector& x,
bool newx
162 const Vector& x,
bool newx
172 const Vector& x,
bool newx
206 const Teuchos::RCP<Thyra::ModelEvaluator<value_type> > &model
223 ,Thyra::ModelEvaluatorBase::InArgs<value_type> *model_inArgs_inout
232 ,Thyra::ModelEvaluatorBase::InArgs<value_type> *model_inArgs_inout
233 ,Thyra::ModelEvaluatorBase::OutArgs<value_type> *model_outArgs_inout
241 Thyra::ModelEvaluatorBase::OutArgs<value_type> *model_outArgs_inout
276 VectorSpace::vec_mut_ptr_t
xl_;
277 VectorSpace::vec_mut_ptr_t
xu_;
304 #endif // NLPIP_NLP_THYRA_MODEL_EVALUATOR_BASE_HPP
NLP interface class that adds gradient information for the objective function {abstract}.
virtual value_type & f()
Returns non-const *this->get_f().
VectorSpace::vec_mut_ptr_t xl_
Teuchos::RCP< Thyra::VectorBase< value_type > > model_g_
AbstractLinAlgPack::size_type size_type
vec_space_ptr_t space_c() const
Struct for gradient (objective), objective and constriants (pointers)
value_type max_var_bounds_viol() const
index_type num_bounded_x_
Abstract interface for immutable, finite dimensional, coordinate vectors {abstract}.
RTOp_index_type index_type
void postprocessBaseOutArgs(Thyra::ModelEvaluatorBase::OutArgs< value_type > *model_outArgs_inout, VectorMutable *Gf, value_type *f, VectorMutable *c) const
VectorSpace::vec_mut_ptr_t xinit_
const Vector & xinit() const
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.
const ZeroOrderInfo zero_order_info() const
Return pointer to set quantities.
const ObjGradInfo obj_grad_info() const
Return objective gradient and zero order information.
void initialize(bool test_setup)
value_type scale_f() const
void report_final_solution(const Vector &x, const Vector *lambda, const Vector *nu, bool optimal)
bool is_initialized() const
bool force_xinit_in_bounds_
void imp_calc_f(const Vector &x, bool newx, const ZeroOrderInfo &zero_order_info) const
Teuchos::RCP< const AbstractLinAlgPack::VectorSpaceThyra > VectorSpaceThyra_ptr_t
const Vector & xu() const
void imp_calc_Gf(const Vector &x, bool newx, const ObjGradInfo &obj_grad_info) const
const Vector & xl() const
void copy_from_model_p(const Thyra::VectorBase< value_type > *model_p, VectorMutable *x_I) const
void copy_from_model_x(const Thyra::VectorBase< value_type > *model_x, VectorMutable *x_D) const
Struct for zero and first order quantities (pointers)
Implements the base NLP interface using a Thyra::ModelEvaluator object.
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
VectorSpace::vec_mut_ptr_t xu_
VectorSpace::space_ptr_t space_x_
NLPFirstOrder::mat_fcty_ptr_t factory_Gc_
void set_f(value_type *f)
Struct for objective and constriants (pointer).
NLPThyraModelEvaluatorBase()
vec_space_ptr_t space_x() const
Teuchos::RCP< Thyra::ModelEvaluator< value_type > > model_
AbstractLinAlgPack::value_type value_type
void set_x(const Vector &x, Thyra::ModelEvaluatorBase::InArgs< value_type > *model_inArgs_inout) const
void set_c(VectorMutable *c)
Abstract interface for mutable coordinate vectors {abstract}.
NLPFirstOrder::basis_sys_ptr_t basis_sys_
void assert_is_initialized() const
STANDARD_MEMBER_COMPOSITION_MEMBERS(bool, showModelEvaluatorTrace)
Set if a trace of the model evaluations is shown or not.
void updateInitialGuessAndBounds() const
Update the initial guess and bounds .
void set_Gf(VectorMutable *Gf)
virtual VectorMutable & Gf()
Returns non-const *this->get_Gf().
void imp_calc_c(const Vector &x, bool newx, const ZeroOrderInfo &zero_order_info) const
void evalModel(const Vector &x, bool newx, const ZeroOrderInfo *zero_order_info, const ObjGradInfo *obj_grad_info) const
bool x_guess_bounds_updated_
size_type num_bounded_x() const
bool force_xinit_in_bounds() const
VectorSpaceThyra_ptr_t space_c_
virtual VectorMutable & c()
Returns non-const *this->get_c().