This class does problem scaling by setting the scaling parameters based on the maximum of the gradient at the user provided initial point. More...
#include <IpEquilibrationScaling.hpp>
Public Member Functions | |
Constructors/Destructors | |
EquilibrationScaling (const SmartPtr< NLP > &nlp, SmartPtr< LibraryLoader > hslloader_) | |
virtual | ~EquilibrationScaling () |
Destructor. More... | |
![]() | |
virtual void | DetermineScaling (const SmartPtr< const VectorSpace > x_space, const SmartPtr< const VectorSpace > c_space, const SmartPtr< const VectorSpace > d_space, const SmartPtr< const MatrixSpace > jac_c_space, const SmartPtr< const MatrixSpace > jac_d_space, const SmartPtr< const SymMatrixSpace > h_space, SmartPtr< const MatrixSpace > &new_jac_c_space, SmartPtr< const MatrixSpace > &new_jac_d_space, SmartPtr< const SymMatrixSpace > &new_h_space, const Matrix &Px_L, const Vector &x_L, const Matrix &Px_U, const Vector &x_U) |
This method is called by the IpoptNLP's at a convenient time to compute and/or read scaling factors. More... | |
StandardScalingBase () | |
virtual | ~StandardScalingBase () |
Destructor. More... | |
virtual Number | apply_obj_scaling (const Number &f) |
Methods to map scaled and unscaled matrices. More... | |
virtual Number | unapply_obj_scaling (const Number &f) |
Returns an obj-unscaled version of the given scalar. More... | |
virtual SmartPtr< Vector > | apply_vector_scaling_x_NonConst (const SmartPtr< const Vector > &v) |
Returns an x-scaled version of the given vector. More... | |
virtual SmartPtr< const Vector > | apply_vector_scaling_x (const SmartPtr< const Vector > &v) |
Returns an x-scaled version of the given vector. More... | |
virtual SmartPtr< Vector > | unapply_vector_scaling_x_NonConst (const SmartPtr< const Vector > &v) |
Returns an x-unscaled version of the given vector. More... | |
virtual SmartPtr< const Vector > | unapply_vector_scaling_x (const SmartPtr< const Vector > &v) |
Returns an x-unscaled version of the given vector. More... | |
virtual SmartPtr< const Vector > | apply_vector_scaling_c (const SmartPtr< const Vector > &v) |
Returns an c-scaled version of the given vector. More... | |
virtual SmartPtr< const Vector > | unapply_vector_scaling_c (const SmartPtr< const Vector > &v) |
Returns an c-unscaled version of the given vector. More... | |
virtual SmartPtr< Vector > | apply_vector_scaling_c_NonConst (const SmartPtr< const Vector > &v) |
Returns an c-scaled version of the given vector. More... | |
virtual SmartPtr< Vector > | unapply_vector_scaling_c_NonConst (const SmartPtr< const Vector > &v) |
Returns an c-unscaled version of the given vector. More... | |
virtual SmartPtr< const Vector > | apply_vector_scaling_d (const SmartPtr< const Vector > &v) |
Returns an d-scaled version of the given vector. More... | |
virtual SmartPtr< const Vector > | unapply_vector_scaling_d (const SmartPtr< const Vector > &v) |
Returns an d-unscaled version of the given vector. More... | |
virtual SmartPtr< Vector > | apply_vector_scaling_d_NonConst (const SmartPtr< const Vector > &v) |
Returns an d-scaled version of the given vector. More... | |
virtual SmartPtr< Vector > | unapply_vector_scaling_d_NonConst (const SmartPtr< const Vector > &v) |
Returns an d-unscaled version of the given vector. More... | |
virtual SmartPtr< const Matrix > | apply_jac_c_scaling (SmartPtr< const Matrix > matrix) |
Returns a scaled version of the Jacobian for c. More... | |
virtual SmartPtr< const Matrix > | apply_jac_d_scaling (SmartPtr< const Matrix > matrix) |
Returns a scaled version of the Jacobian for d. More... | |
virtual SmartPtr< const SymMatrix > | apply_hessian_scaling (SmartPtr< const SymMatrix > matrix) |
Returns a scaled version of the Hessian of the Lagrangian. More... | |
virtual bool | have_x_scaling () |
Returns true if the primal x variables are scaled. More... | |
virtual bool | have_c_scaling () |
Returns true if the equality constraints are scaled. More... | |
virtual bool | have_d_scaling () |
Returns true if the inequality constraints are scaled. More... | |
![]() | |
bool | Initialize (const Journalist &jnlst, const OptionsList &options, const std::string &prefix) |
Method to initialize the options. More... | |
NLPScalingObject () | |
virtual | ~NLPScalingObject () |
Destructor. More... | |
SmartPtr< Vector > | apply_vector_scaling_x_LU_NonConst (const Matrix &Px_LU, const SmartPtr< const Vector > &lu, const VectorSpace &x_space) |
Methods for scaling bounds - these wrap those above. More... | |
SmartPtr< const Vector > | apply_vector_scaling_x_LU (const Matrix &Px_LU, const SmartPtr< const Vector > &lu, const VectorSpace &x_space) |
Returns an x-scaled vector in the x_L or x_U space. More... | |
SmartPtr< Vector > | apply_vector_scaling_d_LU_NonConst (const Matrix &Pd_LU, const SmartPtr< const Vector > &lu, const VectorSpace &d_space) |
Returns an d-scaled vector in the d_L or d_U space. More... | |
SmartPtr< const Vector > | apply_vector_scaling_d_LU (const Matrix &Pd_LU, const SmartPtr< const Vector > &lu, const VectorSpace &d_space) |
Returns an d-scaled vector in the d_L or d_U space. More... | |
SmartPtr< Vector > | unapply_vector_scaling_d_LU_NonConst (const Matrix &Pd_LU, const SmartPtr< const Vector > &lu, const VectorSpace &d_space) |
Returns an d-unscaled vector in the d_L or d_U space. More... | |
SmartPtr< const Vector > | unapply_vector_scaling_d_LU (const Matrix &Pd_LU, const SmartPtr< const Vector > &lu, const VectorSpace &d_space) |
Returns an d-unscaled vector in the d_L or d_U space. More... | |
virtual SmartPtr< Vector > | apply_grad_obj_scaling_NonConst (const SmartPtr< const Vector > &v) |
Methods for scaling the gradient of the objective - wraps the virtual methods above. More... | |
virtual SmartPtr< const Vector > | apply_grad_obj_scaling (const SmartPtr< const Vector > &v) |
Returns a grad_f scaled version (d_f * D_x^{-1}) of the given vector. More... | |
virtual SmartPtr< Vector > | unapply_grad_obj_scaling_NonConst (const SmartPtr< const Vector > &v) |
Returns a grad_f unscaled version (d_f * D_x^{-1}) of the given vector. More... | |
virtual SmartPtr< const Vector > | unapply_grad_obj_scaling (const SmartPtr< const Vector > &v) |
Returns a grad_f unscaled version (d_f * D_x^{-1}) of the given vector. More... | |
![]() | |
ReferencedObject () | |
virtual | ~ReferencedObject () |
Index | ReferenceCount () const |
void | AddRef (const Referencer *referencer) const |
void | ReleaseRef (const Referencer *referencer) const |
Static Public Member Functions | |
static void | RegisterOptions (const SmartPtr< RegisteredOptions > &roptions) |
Methods for IpoptType. More... | |
![]() | |
static void | RegisterOptions (SmartPtr< RegisteredOptions > roptions) |
Protected Member Functions | |
bool | InitializeImpl (const OptionsList &options, const std::string &prefix) |
Initialize the object from the options. More... | |
virtual void | DetermineScalingParametersImpl (const SmartPtr< const VectorSpace > x_space, const SmartPtr< const VectorSpace > c_space, const SmartPtr< const VectorSpace > d_space, const SmartPtr< const MatrixSpace > jac_c_space, const SmartPtr< const MatrixSpace > jac_d_space, const SmartPtr< const SymMatrixSpace > h_space, const Matrix &Px_L, const Vector &x_L, const Matrix &Px_U, const Vector &x_U, Number &df, SmartPtr< Vector > &dx, SmartPtr< Vector > &dc, SmartPtr< Vector > &dd) |
This is the method that has to be overloaded by a particular scaling method that somehow computes the scaling vectors dx, dc, and dd. More... | |
![]() | |
const Journalist & | Jnlst () const |
Accessor method for the journalist. More... | |
Private Member Functions | |
Default Compiler Generated Methods | |
(Hidden to avoid implicit creation/calling). These methods are not implemented and we do not want the compiler to implement them for us, so we declare them private and do not define them. This ensures that they will not be implicitly created/called. | |
EquilibrationScaling (const EquilibrationScaling &) | |
Copy Constructor. More... | |
void | operator= (const EquilibrationScaling &) |
Default Assignment Operator. More... | |
Private Attributes | |
SmartPtr< NLP > | nlp_ |
pointer to the NLP to get scaling parameters More... | |
Number | point_perturbation_radius_ |
maximal radius for the random perturbation of the initial point More... | |
MC19 function pointer | |
SmartPtr< LibraryLoader > | hslloader |
IPOPT_DECL_MC19A * | mc19a |
This class does problem scaling by setting the scaling parameters based on the maximum of the gradient at the user provided initial point.
Definition at line 20 of file IpEquilibrationScaling.hpp.
|
inline |
Definition at line 25 of file IpEquilibrationScaling.hpp.
|
inlinevirtual |
Destructor.
Definition at line 35 of file IpEquilibrationScaling.hpp.
|
private |
Copy Constructor.
|
static |
Methods for IpoptType.
Register the options for this class
|
protectedvirtual |
Initialize the object from the options.
Reimplemented from Ipopt::StandardScalingBase.
|
protectedvirtual |
This is the method that has to be overloaded by a particular scaling method that somehow computes the scaling vectors dx, dc, and dd.
The pointers to those vectors can be NULL, in which case no scaling for that item will be done later.
Implements Ipopt::StandardScalingBase.
|
private |
Default Assignment Operator.
pointer to the NLP to get scaling parameters
Definition at line 95 of file IpEquilibrationScaling.hpp.
|
private |
maximal radius for the random perturbation of the initial point
Definition at line 98 of file IpEquilibrationScaling.hpp.
|
private |
Definition at line 103 of file IpEquilibrationScaling.hpp.
|
private |
Definition at line 105 of file IpEquilibrationScaling.hpp.