This is a base class for many standard scaling techniques. More...
#include <IpNLPScaling.hpp>
Static Public Member Functions | |
static void | RegisterOptions (SmartPtr< RegisteredOptions > roptions) |
Protected Member Functions | |
virtual bool | InitializeImpl (const OptionsList &options, const std::string &prefix) |
Initialization method that has to be overloaded by for each derived class. | |
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)=0 |
This is the method that has to be overloaded by a particular scaling method that somehow computes the scaling vectors dx, dc, and dd. | |
Protected Member Functions inherited from Ipopt::NLPScalingObject | |
const Journalist & | Jnlst () const |
Accessor method for the journalist. | |
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. | |
StandardScalingBase (const StandardScalingBase &) | |
Copy Constructor. | |
void | operator= (const StandardScalingBase &) |
Default Assignment Operator. | |
Private Attributes | |
Number | df_ |
Scaling parameters - we only need to keep copies of the objective scaling and the x scaling - the others we can get from the scaled matrix spaces. | |
SmartPtr< Vector > | dx_ |
x scaling | |
SmartPtr< ScaledMatrixSpace > | scaled_jac_c_space_ |
Scaled Matrix Spaces. | |
SmartPtr< ScaledMatrixSpace > | scaled_jac_d_space_ |
Scaled Jacobian of d space. | |
SmartPtr< SymScaledMatrixSpace > | scaled_h_space_ |
Scaled Hessian of Lagrangian spacea. | |
Algorithmic parameters | |
Number | obj_scaling_factor_ |
Additional scaling value for the objective function. | |
This is a base class for many standard scaling techniques.
The overloaded classes only need to provide the scaling parameters.
Definition at line 315 of file IpNLPScaling.hpp.
Ipopt::StandardScalingBase::StandardScalingBase | ( | ) |
|
virtual |
Destructor.
|
private |
Copy Constructor.
Methods to map scaled and unscaled matrices.
Implements Ipopt::NLPScalingObject.
Returns an obj-unscaled version of the given scalar.
Implements Ipopt::NLPScalingObject.
|
virtual |
Returns an x-scaled version of the given vector.
Implements Ipopt::NLPScalingObject.
|
virtual |
Returns an x-scaled version of the given vector.
Implements Ipopt::NLPScalingObject.
|
virtual |
Returns an x-unscaled version of the given vector.
Implements Ipopt::NLPScalingObject.
|
virtual |
Returns an x-unscaled version of the given vector.
Implements Ipopt::NLPScalingObject.
|
virtual |
Returns an c-scaled version of the given vector.
Implements Ipopt::NLPScalingObject.
|
virtual |
Returns an c-unscaled version of the given vector.
Implements Ipopt::NLPScalingObject.
|
virtual |
Returns an c-scaled version of the given vector.
Implements Ipopt::NLPScalingObject.
|
virtual |
Returns an c-unscaled version of the given vector.
Implements Ipopt::NLPScalingObject.
|
virtual |
Returns an d-scaled version of the given vector.
Implements Ipopt::NLPScalingObject.
|
virtual |
Returns an d-unscaled version of the given vector.
Implements Ipopt::NLPScalingObject.
|
virtual |
Returns an d-scaled version of the given vector.
Implements Ipopt::NLPScalingObject.
|
virtual |
Returns an d-unscaled version of the given vector.
Implements Ipopt::NLPScalingObject.
|
virtual |
Returns a scaled version of the Jacobian for c.
If the overloaded method does not make a new matrix, make sure to set the matrix ptr passed in to NULL.
Implements Ipopt::NLPScalingObject.
|
virtual |
Returns a scaled version of the Jacobian for d.
If the overloaded method does not create a new matrix, make sure to set the matrix ptr passed in to NULL.
Implements Ipopt::NLPScalingObject.
|
virtual |
Returns a scaled version of the Hessian of the Lagrangian.
If the overloaded method does not create a new matrix, make sure to set the matrix ptr passed in to NULL.
Implements Ipopt::NLPScalingObject.
Returns true if the primal x variables are scaled.
Implements Ipopt::NLPScalingObject.
Returns true if the equality constraints are scaled.
Implements Ipopt::NLPScalingObject.
Returns true if the inequality constraints are scaled.
Implements Ipopt::NLPScalingObject.
|
virtual |
This method is called by the IpoptNLP's at a convenient time to compute and/or read scaling factors.
Implements Ipopt::NLPScalingObject.
|
static |
|
protectedvirtual |
Initialization method that has to be overloaded by for each derived class.
Implements Ipopt::NLPScalingObject.
Reimplemented in Ipopt::EquilibrationScaling, and Ipopt::GradientScaling.
|
protectedpure virtual |
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.
Implemented in Ipopt::EquilibrationScaling, Ipopt::GradientScaling, Ipopt::NoNLPScalingObject, and Ipopt::UserScaling.
|
private |
Default Assignment Operator.
|
private |
Scaling parameters - we only need to keep copies of the objective scaling and the x scaling - the others we can get from the scaled matrix spaces.
objective scaling parameter
Definition at line 499 of file IpNLPScaling.hpp.
x scaling
Definition at line 502 of file IpNLPScaling.hpp.
|
private |
|
private |
Scaled Jacobian of d space.
Definition at line 511 of file IpNLPScaling.hpp.
|
private |
Scaled Hessian of Lagrangian spacea.
Definition at line 514 of file IpNLPScaling.hpp.
|
private |
Additional scaling value for the objective function.
Definition at line 520 of file IpNLPScaling.hpp.