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
IpEquilibrationScaling.hpp
Go to the documentation of this file.
1
// Copyright (C) 2007 International Business Machines and others.
2
// All Rights Reserved.
3
// This code is published under the Eclipse Public License.
4
//
5
// $Id: IpEquilibrationScaling.hpp 1861 2010-12-21 21:34:47Z andreasw $
6
//
7
// Authors: Andreas Waechter IBM 2007-05-21
8
9
#ifndef __IPEQUILIBRATIONSCALING_HPP__
10
#define __IPEQUILIBRATIONSCALING_HPP__
11
12
#include "
IpNLPScaling.hpp
"
13
#include "
IpNLP.hpp
"
14
15
namespace
Ipopt
16
{
21
class
EquilibrationScaling
:
public
StandardScalingBase
22
{
23
public
:
26
EquilibrationScaling
(
const
SmartPtr<NLP>
& nlp)
27
:
28
StandardScalingBase
(),
29
nlp_
(nlp)
30
{}
31
33
virtual
~EquilibrationScaling
()
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
EquilibrationScaling
(
const
EquilibrationScaling
&);
75
77
void
operator=
(
const
EquilibrationScaling
&);
79
81
SmartPtr<NLP>
nlp_
;
82
85
Number
point_perturbation_radius_
;
86
};
87
92
class
PointPerturber
:
public
ReferencedObject
93
{
94
public
:
97
PointPerturber
(
const
Vector
& reference_point,
98
Number
random_pert_radius,
99
const
Matrix
& Px_L,
const
Vector
&
x_L
,
100
const
Matrix
& Px_U,
const
Vector
&
x_U
);
101
103
virtual
~PointPerturber
()
104
{}
106
108
SmartPtr<Vector>
MakeNewPerturbedPoint
()
const
;
109
110
private
:
111
120
122
PointPerturber
(
const
PointPerturber
&);
123
125
void
operator=
(
const
PointPerturber
&);
127
129
SmartPtr<Vector>
ref_point_
;
130
132
SmartPtr<Vector>
pert_dir_
;
133
};
134
135
}
// namespace Ipopt
136
#endif
Generated on Mon Oct 21 2013 19:08:15 for Ipopt by
1.8.4