Ipopt 3.12.10

- Main Page
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Protected Member Functions | Private Attributes | List of all members
Ipopt::GradientScaling Class Reference

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>`

Inheritance diagram for Ipopt::GradientScaling:
[legend]

## Public Member Functions
Constructors/Destructors
| GradientScaling (const SmartPtr< NLP > &nlp)
virtual | ~GradientScaling ()
| Default destructor. More...
Public Member Functions inherited from Ipopt::StandardScalingBase
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 ()
| Default 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 If the overloaded method does not create a new matrix, make sure to set the matrix ptr passed in to NULL. More...
virtual SmartPtr< const SymMatrix > | apply_hessian_scaling (SmartPtr< const SymMatrix > matrix)
| 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. 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...
Public Member Functions inherited from Ipopt::NLPScalingObject
bool | Initialize (const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
| Method to initialize the options. More...
| NLPScalingObject ()
virtual | ~NLPScalingObject ()
| Default 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...
Public Member Functions inherited from Ipopt::ReferencedObject
| 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 Public Member Functions inherited from Ipopt::StandardScalingBase
static void | RegisterOptions (SmartPtr< RegisteredOptions > roptions)
| Methods for IpoptType. More...

## 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...
Protected Member Functions inherited from Ipopt::NLPScalingObject
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.
| GradientScaling (const GradientScaling &)
| Copy Constructor. More...
void | operator= (const GradientScaling &)
| Overloaded Equals Operator. More...

## Private Attributes
SmartPtr< NLP > | nlp_
| pointer to the NLP to get scaling parameters More...
Number | scaling_max_gradient_
| maximum allowed gradient before scaling is performed More...
Number | scaling_obj_target_gradient_
| target size of norm for objective gradient More...
Number | scaling_constr_target_gradient_
| target size of norm for constraint gradients More...
Number | scaling_min_value_
| minimum value of a scaling parameter More...

## Detailed Description

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 21 of file IpGradientScaling.hpp.

## Constructor & Destructor Documentation

Ipopt::GradientScaling::GradientScaling | ( | const SmartPtr< NLP > & | nlp | ) |
| inline

Definition at line 26 of file IpGradientScaling.hpp.

virtual Ipopt::GradientScaling::~GradientScaling | ( |  | ) |
| inline virtual

Default destructor.

Definition at line 33 of file IpGradientScaling.hpp.

Ipopt::GradientScaling::GradientScaling | ( | const GradientScaling & |  | ) |
| private

Copy Constructor.

## Member Function Documentation

static void Ipopt::GradientScaling::RegisterOptions | ( | const SmartPtr< RegisteredOptions > & | roptions | ) |
| static

Methods for IpoptType.

Register the options for this class

bool Ipopt::GradientScaling::InitializeImpl | ( | const OptionsList & | options,
|  | const std::string & | prefix
| ) |  |
| protected virtual

Initialize the object from the options.

Reimplemented from Ipopt::StandardScalingBase.

virtual void Ipopt::GradientScaling::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
| ) |  |
| protected 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.

Implements Ipopt::StandardScalingBase.

void Ipopt::GradientScaling::operator= | ( | const GradientScaling & |  | ) |
| private

Overloaded Equals Operator.

## Member Data Documentation

SmartPtr<NLP> Ipopt::GradientScaling::nlp_
| private

pointer to the NLP to get scaling parameters

Definition at line 81 of file IpGradientScaling.hpp.

Number Ipopt::GradientScaling::scaling_max_gradient_
| private

maximum allowed gradient before scaling is performed

Definition at line 84 of file IpGradientScaling.hpp.

Number Ipopt::GradientScaling::scaling_obj_target_gradient_
| private

target size of norm for objective gradient

Definition at line 87 of file IpGradientScaling.hpp.

Number Ipopt::GradientScaling::scaling_constr_target_gradient_
| private

target size of norm for constraint gradients

Definition at line 90 of file IpGradientScaling.hpp.

Number Ipopt::GradientScaling::scaling_min_value_
| private

minimum value of a scaling parameter

Definition at line 93 of file IpGradientScaling.hpp.

The documentation for this class was generated from the following file:

- src/Algorithm/IpGradientScaling.hpp