Ipopt 3.12.10

- Main Page
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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 // $Id: IpUserScaling.hpp 2269 2013-05-05 11:32:40Z stefan $
6 //
7 // Authors: Carl Laird, Andreas Waechter IBM 2005-06-25
8
9 #ifndef __IPUSERSCALING_HPP__
10 #define __IPUSERSCALING_HPP__
11
12 #include "IpNLPScaling.hpp"
13 #include "IpNLP.hpp"
14
15 namespace Ipopt
16 {
20 class UserScaling : public StandardScalingBase
21 {
22 public:
25 UserScaling(const SmartPtr<const NLP>& nlp)
26 :
27 StandardScalingBase(),
28 nlp_(nlp)
29 {}
30
32 virtual ~UserScaling()
33 {}
35
36 protected:
37 virtual void DetermineScalingParametersImpl(
38 const SmartPtr<const VectorSpace> x_space,
39 const SmartPtr<const VectorSpace> c_space,
40 const SmartPtr<const VectorSpace> d_space,
41 const SmartPtr<const MatrixSpace> jac_c_space,
42 const SmartPtr<const MatrixSpace> jac_d_space,
43 const SmartPtr<const SymMatrixSpace> h_space,
44 const Matrix& Px_L, const Vector& x_L,
45 const Matrix& Px_U, const Vector& x_U,
46 Number& df,
47 SmartPtr<Vector>& dx,
48 SmartPtr<Vector>& dc,
49 SmartPtr<Vector>& dd);
50
51 private:
52
61
63 UserScaling(const UserScaling&);
64
66 void operator=(const UserScaling&);
68
70 SmartPtr<const NLP> nlp_;
71 };
72 } // namespace Ipopt
73 #endif
Ipopt::UserScaling::UserScaling
UserScaling(const SmartPtr< const NLP > &nlp)
Definition: IpUserScaling.hpp:25
Ipopt::UserScaling::~UserScaling
virtual ~UserScaling()
Default destructor.
Definition: IpUserScaling.hpp:32
IpNLP.hpp
Ipopt::Number
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
Ipopt::Vector
Vector Base Class.
Definition: IpVector.hpp:47
Ipopt::StandardScalingBase
This is a base class for many standard scaling techniques.
Definition: IpNLPScaling.hpp:229
IpNLPScaling.hpp
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::UserScaling::operator=
void operator=(const UserScaling &)
Overloaded Equals Operator.
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
Ipopt::Matrix
Matrix Base Class.
Definition: IpMatrix.hpp:27
x_L
Number * x_L
Lower bounds on variables.
Definition: IpStdCInterface.h:137
x_U
Number Number * x_U
Upper bounds on variables.
Definition: IpStdCInterface.h:137
Ipopt::UserScaling
This class does problem scaling by getting scaling parameters from the user (through the NLP interfac...
Definition: IpUserScaling.hpp:20
Ipopt::UserScaling::nlp_
SmartPtr< const NLP > nlp_
pointer to the NLP to get scaling parameters
Definition: IpUserScaling.hpp:70