Ipopt Documentation  
IpGradientScaling.hpp
Go to the documentation of this file.
1 // Copyright (C) 2005, 2009 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-07-13
6 
7 #ifndef __IPGRADIENTSCALING_HPP__
8 #define __IPGRADIENTSCALING_HPP__
9 
10 #include "IpNLPScaling.hpp"
11 #include "IpNLP.hpp"
12 
13 namespace Ipopt
14 {
15 
21 {
22 public:
26  const SmartPtr<NLP>& nlp
27  )
29  nlp_(nlp)
30  {
31  }
32 
34  virtual ~GradientScaling()
35  { }
37 
39  static void RegisterOptions(
40  const SmartPtr<RegisteredOptions>& roptions
41  );
42 
43 protected:
45  bool InitializeImpl(
46  const OptionsList& options,
47  const std::string& prefix
48  );
49 
50  virtual void DetermineScalingParametersImpl(
51  const SmartPtr<const VectorSpace> x_space,
52  const SmartPtr<const VectorSpace> c_space,
53  const SmartPtr<const VectorSpace> d_space,
54  const SmartPtr<const MatrixSpace> jac_c_space,
55  const SmartPtr<const MatrixSpace> jac_d_space,
56  const SmartPtr<const SymMatrixSpace> h_space,
57  const Matrix& Px_L,
58  const Vector& x_L,
59  const Matrix& Px_U,
60  const Vector& x_U,
61  Number& df,
62  SmartPtr<Vector>& dx,
63  SmartPtr<Vector>& dc,
65  );
66 
67 private:
68 
81  const GradientScaling&
82  );
83 
85  void operator=(
86  const GradientScaling&
87  );
89 
92 
95 
98 
101 
104 };
105 
106 } // namespace Ipopt
107 
108 #endif
Ipopt::GradientScaling::operator=
void operator=(const GradientScaling &)
Default Assignment Operator.
Ipopt::GradientScaling
This class does problem scaling by setting the scaling parameters based on the maximum of the gradien...
Definition: IpGradientScaling.hpp:20
Ipopt::StandardScalingBase
This is a base class for many standard scaling techniques.
Definition: IpNLPScaling.hpp:315
Ipopt::GradientScaling::InitializeImpl
bool InitializeImpl(const OptionsList &options, const std::string &prefix)
Initialize the object from the options.
Ipopt::GradientScaling::RegisterOptions
static void RegisterOptions(const SmartPtr< RegisteredOptions > &roptions)
Register the options for this class.
IpNLPScaling.hpp
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
Ipopt::GradientScaling::scaling_max_gradient_
Number scaling_max_gradient_
maximum allowed gradient before scaling is performed
Definition: IpGradientScaling.hpp:94
Ipopt::GradientScaling::nlp_
SmartPtr< NLP > nlp_
pointer to the NLP to get scaling parameters
Definition: IpGradientScaling.hpp:91
IpNLP.hpp
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:171
Ipopt::GradientScaling::scaling_min_value_
Number scaling_min_value_
minimum value of a scaling parameter
Definition: IpGradientScaling.hpp:103
Ipopt::GradientScaling::~GradientScaling
virtual ~GradientScaling()
Destructor.
Definition: IpGradientScaling.hpp:34
Ipopt::GradientScaling::GradientScaling
GradientScaling(const SmartPtr< NLP > &nlp)
Definition: IpGradientScaling.hpp:25
Ipopt::GradientScaling::scaling_constr_target_gradient_
Number scaling_constr_target_gradient_
target size of norm for constraint gradients
Definition: IpGradientScaling.hpp:100
Ipopt::GradientScaling::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::OptionsList
This class stores a list of user set options.
Definition: IpOptionsList.hpp:32
Ipopt::GradientScaling::scaling_obj_target_gradient_
Number scaling_obj_target_gradient_
target size of norm for objective gradient
Definition: IpGradientScaling.hpp:97
Ipopt::Vector
Vector Base Class.
Definition: IpVector.hpp:47