Main Page
Namespaces
Classes
Files
File List
File Members
tmp
buildd
coinor-ipopt-3.10.2
Ipopt
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 Tue Jun 26 2012 17:01:43 by
1.8.1.1