NLPInterfacePack: C++ Interfaces and Implementation for Non-Linear Programs
Version of the Day
|
Simple wrapper that provides an objective fn with the barrier term included. More...
#include <NLPInterfacePack_NLPBarrier.hpp>
Public Methods | |
void | mu (const value_type mu) |
Set the barrier parameter. More... | |
value_type | barrier_term () const |
Get the barrier term. Must be called after calc_f() . More... | |
value_type | objective_term () const |
Get the true objective term value. Must be called after calc_f() . More... | |
const Teuchos::RCP< Vector > | grad_barrier_term () const |
Get the value of the gradient of the barrier term. Must be called after calc_Gf() More... | |
const Teuchos::RCP< Vector > | grad_objective_term () const |
Get the value of the gradient of the true objective term. Must be called after calc_Gf() . More... | |
Constructors / initializers | |
NLPBarrier () | |
Constructor. More... | |
void | InitializeFromNLP (Teuchos::RCP< NLP > original_nlp) |
Overridden public members from NLPObjGrad | |
void | initialize (bool test_setup) |
bool | is_initialized () const |
void | set_Gf (VectorMutable *Gf) |
VectorMutable * | get_Gf () |
VectorMutable & | Gf () |
const Vector & | Gf () const |
void | calc_Gf (const Vector &x, bool newx=true) const |
Overloaded to include barrier term. More... | |
size_type | num_Gf_evals () const |
Overridden public members from NLP | |
void | force_xinit_in_bounds (bool force_xinit_in_bounds) |
bool | force_xinit_in_bounds () const |
size_type | n () const |
size_type | m () const |
vec_space_ptr_t | space_x () const |
vec_space_ptr_t | space_c () const |
size_type | num_bounded_x () const |
const Vector & | xl () const |
const Vector & | xu () const |
value_type | max_var_bounds_viol () const |
const Vector & | xinit () const |
void | get_init_lagrange_mult (VectorMutable *lambda, VectorMutable *nu) const |
void | set_f (value_type *f) |
value_type * | get_f () |
value_type & | f () |
const value_type & | f () const |
void | set_c (VectorMutable *c) |
VectorMutable * | get_c () |
VectorMutable & | c () |
const Vector & | c () const |
void | scale_f (value_type scale_f) |
value_type | scale_f () const |
void | calc_f (const Vector &x, bool newx=true) const |
Overloaded to include barrier term. More... | |
void | calc_c (const Vector &x, bool newx=true) const |
void | report_final_solution (const Vector &x, const Vector *lambda, const Vector *nu, bool is_optimal) |
size_type | num_f_evals () const |
size_type | num_c_evals () const |
size_type | ns () const |
vec_space_ptr_t | space_c_breve () const |
vec_space_ptr_t | space_h_breve () const |
const Vector & | hl_breve () const |
const Vector & | hu_breve () const |
void | set_c_breve (VectorMutable *c_breve) |
VectorMutable * | get_c_breve () |
VectorMutable & | c_breve () |
const Vector & | c_breve () const |
void | set_h_breve (VectorMutable *h_breve) |
VectorMutable * | get_h_breve () |
VectorMutable & | h_breve () |
const Vector & | h_breve () const |
const Permutation & | P_var () const |
const Permutation & | P_equ () const |
void | calc_c_breve (const Vector &x, bool newx) const |
void | calc_h_breve (const Vector &x, bool newx) const |
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 |
void | imp_calc_c_breve (const Vector &x, bool newx, const ZeroOrderInfo &zero_order_info_breve) const |
void | imp_calc_h_breve (const Vector &x, bool newx, const ZeroOrderInfo &zero_order_info_breve) const |
void | imp_calc_Gf (const Vector &x, bool newx, const ObjGradInfo &obj_grad_info) const |
Additional Inherited Members | |
Public Types inherited from NLPInterfacePack::NLP | |
typedef Teuchos::RCP< const VectorSpace > | vec_space_ptr_t |
typedef Teuchos::RCP< const OptionsFromStreamPack::OptionsFromStream > | options_ptr_t |
Public Member Functions inherited from NLPInterfacePack::NLPObjGrad | |
NLPObjGrad () | |
Initialize to no reference set to calculation quanities. More... | |
virtual bool | supports_Gf () const |
Determine if the objective gradient is supported or not. More... | |
virtual bool | supports_Gf_prod () const |
Determine if the objective gradient product is supported or not. More... | |
void | unset_quantities () |
Call to unset all storage quantities (both in this class and all subclasses). More... | |
virtual value_type | calc_Gf_prod (const Vector &x, const Vector &d, bool newx=true) const |
Calculate the inner product Gf(x)'*d at the point x and put it in the stored reference. More... | |
Public Member Functions inherited from NLPInterfacePack::NLP | |
const ZeroOrderInfo | zero_order_info () const |
Return pointer to set quantities. More... | |
const ZeroOrderInfo | zero_order_info_breve () const |
Return pointer to set hat quantities. More... | |
NLP () | |
Initialize to no reference set to calculation quanities. More... | |
virtual | ~NLP () |
Destructor that cleans all the memory it owns. More... | |
virtual void | set_options (const options_ptr_t &options) |
Set the options that this NLP may be interested in. More... | |
virtual const options_ptr_t & | get_options () const |
Get the OptionsFromStream object being used to extract the options from. More... | |
Static Public Member Functions inherited from NLPInterfacePack::NLP | |
static value_type | infinite_bound () |
Value for an infinite bound. More... | |
Protected Member Functions inherited from NLPInterfacePack::NLPObjGrad | |
const ObjGradInfo | obj_grad_info () const |
Return objective gradient and zero order information. More... | |
Protected Member Functions inherited from NLPInterfacePack::NLP | |
template<class T > | |
void | assert_ref_set (T *p, std::string info) const |
Assert referece has been set for a quanity. More... | |
Simple wrapper that provides an objective fn with the barrier term included.
Definition at line 53 of file NLPInterfacePack_NLPBarrier.hpp.
NLPInterfacePack::NLPBarrier::NLPBarrier | ( | ) |
Constructor.
Definition at line 54 of file NLPInterfacePack_NLPBarrier.cpp.
void NLPInterfacePack::NLPBarrier::mu | ( | const value_type | mu | ) |
Set the barrier parameter.
Definition at line 82 of file NLPInterfacePack_NLPBarrier.cpp.
value_type NLPInterfacePack::NLPBarrier::barrier_term | ( | ) | const |
Get the barrier term. Must be called after calc_f()
.
Definition at line 87 of file NLPInterfacePack_NLPBarrier.cpp.
value_type NLPInterfacePack::NLPBarrier::objective_term | ( | ) | const |
Get the true objective term value. Must be called after calc_f()
.
Definition at line 92 of file NLPInterfacePack_NLPBarrier.cpp.
const Teuchos::RCP< Vector > NLPInterfacePack::NLPBarrier::grad_barrier_term | ( | ) | const |
Get the value of the gradient of the barrier term. Must be called after calc_Gf()
Definition at line 97 of file NLPInterfacePack_NLPBarrier.cpp.
const Teuchos::RCP< Vector > NLPInterfacePack::NLPBarrier::grad_objective_term | ( | ) | const |
Get the value of the gradient of the true objective term. Must be called after calc_Gf()
.
Definition at line 102 of file NLPInterfacePack_NLPBarrier.cpp.
void NLPInterfacePack::NLPBarrier::InitializeFromNLP | ( | Teuchos::RCP< NLP > | original_nlp | ) |
Definition at line 63 of file NLPInterfacePack_NLPBarrier.cpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLPObjGrad.
Definition at line 95 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Implements NLPInterfacePack::NLP.
Definition at line 98 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLPObjGrad.
Definition at line 101 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLPObjGrad.
Definition at line 104 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLPObjGrad.
Definition at line 107 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLPObjGrad.
Definition at line 110 of file NLPInterfacePack_NLPBarrier.hpp.
Overloaded to include barrier term.
Reimplemented from NLPInterfacePack::NLPObjGrad.
Definition at line 119 of file NLPInterfacePack_NLPBarrier.cpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLPObjGrad.
Definition at line 115 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Implements NLPInterfacePack::NLP.
Definition at line 124 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Implements NLPInterfacePack::NLP.
Definition at line 127 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 130 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 133 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Implements NLPInterfacePack::NLP.
Definition at line 136 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Implements NLPInterfacePack::NLP.
Definition at line 139 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Implements NLPInterfacePack::NLP.
Definition at line 142 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Implements NLPInterfacePack::NLP.
Definition at line 145 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Implements NLPInterfacePack::NLP.
Definition at line 148 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Implements NLPInterfacePack::NLP.
Definition at line 151 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Implements NLPInterfacePack::NLP.
Definition at line 154 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 157 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 163 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 166 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 169 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 172 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 175 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 178 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 181 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 184 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Implements NLPInterfacePack::NLP.
Definition at line 187 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Implements NLPInterfacePack::NLP.
Definition at line 190 of file NLPInterfacePack_NLPBarrier.hpp.
Overloaded to include barrier term.
Reimplemented from NLPInterfacePack::NLP.
Definition at line 108 of file NLPInterfacePack_NLPBarrier.cpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 195 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 198 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 209 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 212 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 215 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 218 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 221 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 224 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 227 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 230 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 233 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 236 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 239 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 242 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 245 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 248 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 251 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 254 of file NLPInterfacePack_NLPBarrier.hpp.
|
inlinevirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 257 of file NLPInterfacePack_NLPBarrier.hpp.
Reimplemented from NLPInterfacePack::NLP.
Definition at line 260 of file NLPInterfacePack_NLPBarrier.hpp.
Reimplemented from NLPInterfacePack::NLP.
Definition at line 263 of file NLPInterfacePack_NLPBarrier.hpp.
|
protectedvirtual |
Implements NLPInterfacePack::NLP.
Definition at line 154 of file NLPInterfacePack_NLPBarrier.cpp.
|
protectedvirtual |
Implements NLPInterfacePack::NLP.
Definition at line 163 of file NLPInterfacePack_NLPBarrier.cpp.
|
protectedvirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 172 of file NLPInterfacePack_NLPBarrier.cpp.
|
protectedvirtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 181 of file NLPInterfacePack_NLPBarrier.cpp.
|
protectedvirtual |
Implements NLPInterfacePack::NLPObjGrad.
Definition at line 190 of file NLPInterfacePack_NLPBarrier.cpp.