Ipopt
3.11.4
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
src
Algorithm
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
// $Id: IpGradientScaling.hpp 1861 2010-12-21 21:34:47Z andreasw $
6
//
7
// Authors: Carl Laird, Andreas Waechter IBM 2005-07-13
8
9
#ifndef __IPGRADIENTSCALING_HPP__
10
#define __IPGRADIENTSCALING_HPP__
11
12
#include "
IpNLPScaling.hpp
"
13
#include "
IpNLP.hpp
"
14
15
namespace
Ipopt
16
{
21
class
GradientScaling
:
public
StandardScalingBase
22
{
23
public
:
26
GradientScaling
(
const
SmartPtr<NLP>
& nlp)
27
:
28
StandardScalingBase
(),
29
nlp_
(nlp)
30
{}
31
33
virtual
~GradientScaling
()
34
{}
36
40
static
void
RegisterOptions
(
const
SmartPtr<RegisteredOptions>
& roptions);
42
43
protected
:
45
bool
InitializeImpl
(
const
OptionsList
& options,
46
const
std::string& prefix);
47
48
virtual
void
DetermineScalingParametersImpl
(
49
const
SmartPtr<const VectorSpace>
x_space,
50
const
SmartPtr<const VectorSpace>
c_space,
51
const
SmartPtr<const VectorSpace>
d_space,
52
const
SmartPtr<const MatrixSpace>
jac_c_space,
53
const
SmartPtr<const MatrixSpace>
jac_d_space,
54
const
SmartPtr<const SymMatrixSpace>
h_space,
55
const
Matrix
& Px_L,
const
Vector
&
x_L
,
56
const
Matrix
& Px_U,
const
Vector
&
x_U
,
57
Number
& df,
58
SmartPtr<Vector>
& dx,
59
SmartPtr<Vector>
& dc,
60
SmartPtr<Vector>
& dd);
61
62
private
:
63
72
74
GradientScaling
(
const
GradientScaling
&);
75
77
void
operator=
(
const
GradientScaling
&);
79
81
SmartPtr<NLP>
nlp_
;
82
84
Number
scaling_max_gradient_
;
85
87
Number
scaling_obj_target_gradient_
;
88
90
Number
scaling_constr_target_gradient_
;
91
93
Number
scaling_min_value_
;
94
};
95
}
// namespace Ipopt
96
#endif
Generated on Mon Oct 21 2013 19:08:15 for Ipopt by
1.8.4