NLPObjGrad interface for a specialized NLP.
More...
#include <NLPInterfacePack_ExampleNLPObjGrad.hpp>
Inheritance diagram for NLPInterfacePack::ExampleNLPObjGrad:

Helper methods to be used by subclasses. | |
| virtual Range1D | var_dep () const |
| | |
| virtual Range1D | var_indep () const |
| | |
Overridden public members from NLP | |
| void | initialize (bool test_setup) |
| | |
| bool | is_initialized () 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 |
| | |
| 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 | 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 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 |
| | |
| void | imp_calc_h (const Vector &x, bool newx, const ZeroOrderInfo &zero_order_info) const |
| This implementation does nothing (should never be called though). | |
Overridden protected members from NLPObjGrad | |
| void | imp_calc_Gf (const Vector &x, bool newx, const ObjGradInfo &obj_grad_info) const |
| | |
Public Member Functions | |
| ExampleNLPObjGrad (const VectorSpace::space_ptr_t &vec_space, value_type xo, bool has_bounds, bool dep_bounded) | |
| Constructor. | |
NLPObjGrad interface for a specialized NLP.
The example NLP we will use is a scalable problem where the basis of the jacobian of the constraints is a diagonal matrix (however it is not computed here).
min f(x) = (1/2) * sum( x(i)^2, for i = 1..n )
s.t. c(x)(j) = x(j) * (x(m+j) -1) - 10 * x(m+j) = 0, for j = 1..m
0.01 < x(i) < 20, for i = p...p+m
where:
m = n/2
p = 1 if dep_bounded == true or m+1 if dep_bounded = false
Definition at line 59 of file NLPInterfacePack_ExampleNLPObjGrad.hpp.
| NLPInterfacePack::ExampleNLPObjGrad::ExampleNLPObjGrad | ( | const VectorSpace::space_ptr_t & | vec_space, | |
| value_type | xo, | |||
| bool | has_bounds, | |||
| bool | dep_bounded | |||
| ) |
Constructor.
| vec_space | [in] Smart pointer to a vector space object that will be used to define the spaces of dependent and independent variables. | |
| xo | [in] The initial starting guess for x. | |
| has_bounds | [in] If true, then the NLP will have bounds. If false then it will not have bounds. | |
| dep_bouned | [in] If true, then the bounds will be on the dependent variables. If false, then the bounds will be on the independent variable. This argument is ignored if has_bounds == false. |
Definition at line 62 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
| Range1D NLPInterfacePack::ExampleNLPObjGrad::var_dep | ( | ) | const [virtual] |
Reimplemented in NLPInterfacePack::ExampleNLPDirect.
Definition at line 218 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
| Range1D NLPInterfacePack::ExampleNLPObjGrad::var_indep | ( | ) | const [virtual] |
Reimplemented in NLPInterfacePack::ExampleNLPDirect.
Definition at line 223 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
| void NLPInterfacePack::ExampleNLPObjGrad::initialize | ( | bool | test_setup | ) | [virtual] |
Reimplemented from NLPInterfacePack::NLPObjGrad.
Reimplemented in NLPInterfacePack::ExampleNLPDirect, and NLPInterfacePack::ExampleNLPFirstOrder.
Definition at line 115 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
| bool NLPInterfacePack::ExampleNLPObjGrad::is_initialized | ( | ) | const [virtual] |
Implements NLPInterfacePack::NLP.
Reimplemented in NLPInterfacePack::ExampleNLPDirect, and NLPInterfacePack::ExampleNLPFirstOrder.
Definition at line 129 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
| size_type NLPInterfacePack::ExampleNLPObjGrad::n | ( | ) | const [virtual] |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 134 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
| size_type NLPInterfacePack::ExampleNLPObjGrad::m | ( | ) | const [virtual] |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 140 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
| NLP::vec_space_ptr_t NLPInterfacePack::ExampleNLPObjGrad::space_x | ( | ) | const [virtual] |
Implements NLPInterfacePack::NLP.
Definition at line 146 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
| NLP::vec_space_ptr_t NLPInterfacePack::ExampleNLPObjGrad::space_c | ( | ) | const [virtual] |
Implements NLPInterfacePack::NLP.
Definition at line 151 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
| size_type NLPInterfacePack::ExampleNLPObjGrad::num_bounded_x | ( | ) | const [virtual] |
Implements NLPInterfacePack::NLP.
Definition at line 156 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
| void NLPInterfacePack::ExampleNLPObjGrad::force_xinit_in_bounds | ( | bool | force_xinit_in_bounds | ) | [virtual] |
Implements NLPInterfacePack::NLP.
Definition at line 161 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
| bool NLPInterfacePack::ExampleNLPObjGrad::force_xinit_in_bounds | ( | ) | const [virtual] |
Implements NLPInterfacePack::NLP.
Definition at line 166 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
| const Vector & NLPInterfacePack::ExampleNLPObjGrad::xinit | ( | ) | const [virtual] |
Implements NLPInterfacePack::NLP.
Definition at line 171 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
| const Vector & NLPInterfacePack::ExampleNLPObjGrad::xl | ( | ) | const [virtual] |
Implements NLPInterfacePack::NLP.
Definition at line 177 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
| const Vector & NLPInterfacePack::ExampleNLPObjGrad::xu | ( | ) | const [virtual] |
Implements NLPInterfacePack::NLP.
Definition at line 183 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
| value_type NLPInterfacePack::ExampleNLPObjGrad::max_var_bounds_viol | ( | ) | const [virtual] |
Implements NLPInterfacePack::NLP.
Definition at line 189 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
| void NLPInterfacePack::ExampleNLPObjGrad::scale_f | ( | value_type | scale_f | ) | [virtual] |
Implements NLPInterfacePack::NLP.
Definition at line 194 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
| value_type NLPInterfacePack::ExampleNLPObjGrad::scale_f | ( | ) | const [virtual] |
Implements NLPInterfacePack::NLP.
Definition at line 200 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
| void NLPInterfacePack::ExampleNLPObjGrad::imp_calc_f | ( | const Vector & | x, | |
| bool | newx, | |||
| const ZeroOrderInfo & | zero_order_info | |||
| ) | const [protected] |
| void NLPInterfacePack::ExampleNLPObjGrad::imp_calc_c | ( | const Vector & | x, | |
| bool | newx, | |||
| const ZeroOrderInfo & | zero_order_info | |||
| ) | const [protected] |
| void NLPInterfacePack::ExampleNLPObjGrad::imp_calc_h | ( | const Vector & | x, | |
| bool | newx, | |||
| const ZeroOrderInfo & | zero_order_info | |||
| ) | const [protected] |
This implementation does nothing (should never be called though).
Definition at line 260 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
| void NLPInterfacePack::ExampleNLPObjGrad::imp_calc_Gf | ( | const Vector & | x, | |
| bool | newx, | |||
| const ObjGradInfo & | obj_grad_info | |||
| ) | const [protected] |
1.4.7