Ipopt Documentation  
 
Loading...
Searching...
No Matches
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
13namespace Ipopt
14{
15
21{
22public:
26 const SmartPtr<NLP>& nlp
27 )
29 nlp_(nlp)
30 {
31 }
32
35 { }
37
39 static void RegisterOptions(
40 const SmartPtr<RegisteredOptions>& roptions
41 );
42
43protected:
46 const OptionsList& options,
47 const std::string& prefix
48 );
49
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,
57 const Matrix& Px_L,
58 const Vector& x_L,
59 const Matrix& Px_U,
60 const Vector& x_U,
61 Number& df,
65 );
66
67private:
68
79
81 const GradientScaling&
82 );
83
86 const GradientScaling&
87 );
89
92
95
98
101
104};
105
106} // namespace Ipopt
107
108#endif
This class does problem scaling by setting the scaling parameters based on the maximum of the gradien...
Number scaling_max_gradient_
maximum allowed gradient before scaling is performed
virtual ~GradientScaling()
Destructor.
GradientScaling(const SmartPtr< NLP > &nlp)
SmartPtr< NLP > nlp_
pointer to the NLP to get scaling parameters
void operator=(const GradientScaling &)
Default Assignment Operator.
GradientScaling(const GradientScaling &)
Copy Constructor.
Number scaling_obj_target_gradient_
target size of norm for objective gradient
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...
bool InitializeImpl(const OptionsList &options, const std::string &prefix)
Initialize the object from the options.
Number scaling_min_value_
minimum value of a scaling parameter
Number scaling_constr_target_gradient_
target size of norm for constraint gradients
static void RegisterOptions(const SmartPtr< RegisteredOptions > &roptions)
Register the options for this class.
Matrix Base Class.
Definition IpMatrix.hpp:28
This class stores a list of user set options.
Template class for Smart Pointers.
This is a base class for many standard scaling techniques.
Vector Base Class.
Definition IpVector.hpp:48
This file contains a base class for all exceptions and a set of macros to help with exceptions.
ipnumber Number
Type of all numbers.
Definition IpTypes.hpp:17