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 <IpGradientScaling.hpp>
Static Public Member Functions | |
static void | RegisterOptions (const SmartPtr< RegisteredOptions > &roptions) |
Register the options for this class. | |
Static Public Member Functions inherited from Ipopt::StandardScalingBase | |
static void | RegisterOptions (SmartPtr< RegisteredOptions > roptions) |
Protected Member Functions | |
bool | InitializeImpl (const OptionsList &options, const std::string &prefix) |
Initialize the object from the options. | |
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. | |
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. | |
GradientScaling (const GradientScaling &) | |
Copy Constructor. | |
void | operator= (const GradientScaling &) |
Default Assignment Operator. | |
Private Attributes | |
SmartPtr< NLP > | nlp_ |
pointer to the NLP to get scaling parameters | |
Number | scaling_max_gradient_ |
maximum allowed gradient before scaling is performed | |
Number | scaling_obj_target_gradient_ |
target size of norm for objective gradient | |
Number | scaling_constr_target_gradient_ |
target size of norm for constraint gradients | |
Number | scaling_min_value_ |
minimum value of a scaling parameter | |
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 IpGradientScaling.hpp.
Definition at line 25 of file IpGradientScaling.hpp.
|
inlinevirtual |
Destructor.
Definition at line 34 of file IpGradientScaling.hpp.
|
private |
Copy Constructor.
|
static |
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 91 of file IpGradientScaling.hpp.
|
private |
maximum allowed gradient before scaling is performed
Definition at line 94 of file IpGradientScaling.hpp.
|
private |
target size of norm for objective gradient
Definition at line 97 of file IpGradientScaling.hpp.
|
private |
target size of norm for constraint gradients
Definition at line 100 of file IpGradientScaling.hpp.
|
private |
minimum value of a scaling parameter
Definition at line 103 of file IpGradientScaling.hpp.