MOOCHO
Version of the Day
|
Simple example NLP subclass to illustrate how to implement the NLPObjGrad
interface for a specialized NLP
.
More...
#include <NLPInterfacePack_ExampleNLPObjGrad.hpp>
Public Member Functions | |
ExampleNLPObjGrad (const VectorSpace::space_ptr_t &vec_space, value_type xo, bool has_bounds, bool dep_bounded) | |
Constructor. More... | |
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). More... | |
Overridden protected members from NLPObjGrad | |
void | imp_calc_Gf (const Vector &x, bool newx, const ObjGradInfo &obj_grad_info) const |
Simple example NLP subclass to illustrate how to implement the 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
This is not really a fully functional NLP in the sense that there is no derivative information for the constraints.
Definition at line 72 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 75 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
virtual |
Reimplemented in NLPInterfacePack::ExampleNLPDirect.
Definition at line 231 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
virtual |
Reimplemented in NLPInterfacePack::ExampleNLPDirect.
Definition at line 236 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
virtual |
Reimplemented from NLPInterfacePack::NLP.
Reimplemented in NLPInterfacePack::ExampleNLPFirstOrder.
Definition at line 128 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Reimplemented in NLPInterfacePack::ExampleNLPFirstOrder.
Definition at line 142 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
virtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 147 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
virtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 153 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 159 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 164 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 169 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 174 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 179 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 184 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 190 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 196 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 202 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 207 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
virtual |
Implements NLPInterfacePack::NLP.
Definition at line 213 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
virtual |
Reimplemented from NLPInterfacePack::NLP.
Definition at line 219 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
protectedvirtual |
Implements NLPInterfacePack::NLP.
Definition at line 243 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
protectedvirtual |
Implements NLPInterfacePack::NLP.
Definition at line 254 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
protected |
This implementation does nothing (should never be called though).
Definition at line 273 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.
|
protected |
Definition at line 281 of file NLPInterfacePack_ExampleNLPObjGrad.cpp.