Ipopt Documentation  
IpUserScaling.hpp
Go to the documentation of this file.
1 // Copyright (C) 2005, 2007 International Business Machines and others.
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // Authors: Carl Laird, Andreas Waechter IBM 2005-06-25
6 
7 #ifndef __IPUSERSCALING_HPP__
8 #define __IPUSERSCALING_HPP__
9 
10 #include "IpNLPScaling.hpp"
11 #include "IpNLP.hpp"
12 
13 namespace Ipopt
14 {
19 {
20 public:
24  const SmartPtr<const NLP>& nlp)
26  nlp_(nlp)
27  { }
28 
30  virtual ~UserScaling()
31  { }
33 
34 protected:
35  virtual void DetermineScalingParametersImpl(
36  const SmartPtr<const VectorSpace> x_space,
37  const SmartPtr<const VectorSpace> c_space,
38  const SmartPtr<const VectorSpace> d_space,
39  const SmartPtr<const MatrixSpace> jac_c_space,
40  const SmartPtr<const MatrixSpace> jac_d_space,
41  const SmartPtr<const SymMatrixSpace> h_space,
42  const Matrix& Px_L,
43  const Vector& x_L,
44  const Matrix& Px_U,
45  const Vector& x_U,
46  Number& df,
47  SmartPtr<Vector>& dx,
48  SmartPtr<Vector>& dc,
50  );
51 
52 private:
53 
66  const UserScaling&
67  );
68 
70  void operator=(
71  const UserScaling&
72  );
74 
77 };
78 } // namespace Ipopt
79 #endif
Ipopt::UserScaling::DetermineScalingParametersImpl
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...
Ipopt::StandardScalingBase
This is a base class for many standard scaling techniques.
Definition: IpNLPScaling.hpp:315
Ipopt::UserScaling
This class does problem scaling by getting scaling parameters from the user (through the NLP interfac...
Definition: IpUserScaling.hpp:18
IpNLPScaling.hpp
Ipopt::UserScaling::operator=
void operator=(const UserScaling &)
Default Assignment Operator.
Ipopt
This file contains a base class for all exceptions and a set of macros to help with exceptions.
Definition: IpInexactAlgBuilder.hpp:13
Ipopt::Number
double Number
Type of all numbers.
Definition: IpTypes.hpp:15
Ipopt::Matrix
Matrix Base Class.
Definition: IpMatrix.hpp:27
IpNLP.hpp
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:171
Ipopt::UserScaling::UserScaling
UserScaling(const SmartPtr< const NLP > &nlp)
Definition: IpUserScaling.hpp:23
Ipopt::Vector
Vector Base Class.
Definition: IpVector.hpp:47
Ipopt::UserScaling::nlp_
SmartPtr< const NLP > nlp_
pointer to the NLP to get scaling parameters
Definition: IpUserScaling.hpp:76
Ipopt::UserScaling::~UserScaling
virtual ~UserScaling()
Destructor.
Definition: IpUserScaling.hpp:30