# Ipopt::UserScaling Class Reference

This class does problem scaling by getting scaling parameters from the user (through the NLP interface). More...

`#include <IpUserScaling.hpp>`

Inheritance diagram for Ipopt::UserScaling:
[legend]

List of all members.

## Public Member Functions
Constructors/Destructors
| UserScaling (const SmartPtr< const NLP > &nlp)
virtual | ~UserScaling ()
| Default destructor.
## Protected Member Functions
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.
## 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.
| UserScaling (const UserScaling &)
| Copy Constructor.
void | operator= (const UserScaling &)
| Overloaded Equals Operator.
## Private Attributes
SmartPtr< const NLP > | nlp_
| pointer to the NLP to get scaling parameters

## Detailed Description

This class does problem scaling by getting scaling parameters from the user (through the NLP interface).

Definition at line 20 of file IpUserScaling.hpp.

## Constructor & Destructor Documentation

Ipopt::UserScaling::UserScaling | ( | const SmartPtr< const NLP > & | nlp | ) | `[inline]`

Definition at line 25 of file IpUserScaling.hpp.

virtual Ipopt::UserScaling::~UserScaling | ( |  | ) | `[inline, virtual]`

Default destructor.

Definition at line 32 of file IpUserScaling.hpp.

Ipopt::UserScaling::UserScaling | ( | const UserScaling & |  | ) | `[private]`

Copy Constructor.

## Member Function Documentation

virtual void Ipopt::UserScaling::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::UserScaling::operator= | ( | const UserScaling & |  | ) | `[private]`

Overloaded Equals Operator.

Reimplemented from Ipopt::StandardScalingBase.

## Member Data Documentation

SmartPtr<const NLP> Ipopt::UserScaling::nlp_`[private]`

pointer to the NLP to get scaling parameters

Definition at line 70 of file IpUserScaling.hpp.

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

- src/Algorithm/IpUserScaling.hpp

All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines